Följande artikel är skriven av mig och Maral Biniazan och finns med i Testzonen-boken "Fel fel fel",
http://www.felfelfel.se/ .
Testledning 3.0 - Att leda självorganiserade testteam i en komplex miljö
Maral Biniazan &
Örjan Bjermert, Omegapoint
Våra IT-system står under ständig
utveckling och interagerar med varandra på ett svåröverskådligt sätt. Testarbetet
blir allt mer utmanande och en effekt av detta är att våra testmetoder och
testtekniker utvecklas hela tiden. Vår förmåga att leda testarbetet har inte
utvecklats i samma takt vilket leder till att vi med traditionell testledning
saknar metoder att leda effektivt i denna vår komplexa verklighet. Management
3.0 av Jurgen Apello är en etablerad modell för att leda självorganiserade
utvecklingsteam. Management 3.0 visar hur det traditionella ledarskapet behöver
utvecklas i transformativ och situationsanpassad riktning. På liknande sätt
behöver testledaren ändra sitt ledarskap och därför vill vi skapa Testledning
3.0.
Traditionell
testledning lägger stor vikt vid planering, styrning, kontroll, uppföljning och
rapportering. Testarbetet sker enligt en förutbestäm plan, inspirerad av standarder
eller vedertagna “sanningar”. Genom att delegera uppgifter och inhämta resultat
enligt denna förutbestämda plan utövar testledaren ett traditionellt ledarskap,
vilket vi väljer att kalla Testledning 1.0.
Vid
ledning av mer komplexa testuppdrag inser testledaren att förutbestämda planer
och processer inte fungerar rakt av. Strategin måste anpassas och planer måste
förändras allteftersom. Testledaren inser behov av ständig förbättring och
jobbar gärna med förbättringsmodeller. Testledaren inser behovet av effektiva
verktyg, iterativ utveckling, tekniska tester under utvecklingsfasen och därmed
en utvidgning av testbegreppet. Denna förbättring kan ses som en övergång till
Testledning 2.0. Nackdelen är att förändringen allt som oftast fokuseras på tekniska
aspekter. Testledaren missar att människor och team är organisationens
viktigaste redskap och lägger därmed lite vikt vid att förändra sitt eget
ledarskap. När ingen enskild individ kan tillgodogöra sig all den kunskap som
behövs för att hantera komplexiteten inom modern IT-utveckling så måste
kontrollen delegeras. Självorganiserade team kan ta sig an utmaningen.
Testledaren måste därför lära sig att leda självorganiserade team, oavsett om
testarbetet utförs av testare i en separat testorganisation eller i agila
tvärfunktionella utvecklingsteam. Testledning av självorganiserade team kallar
vi för Testledning 3.0 och representerar, enligt oss, nästa steg i
testledarrollens utveckling.
Management
3.0 av Jurgen Apello beskriver en etablerad modell för att leda
självorganiserade utvecklingsteam, men de underliggande teorierna beskrivs även
i andra sammanhang
. I den här artikeln vill
vi skapa Testledning 3.0 genom att tillämpa Management 3.0 på testledarrollen.
Varje steg i Testledning 3.0 bygger på teorier tagna från Management 3.0, men
anpassade till testledarens verklighet. Det finns många böcker skrivna om agil
testning och förbättringsprocesser för test. Det finns oändligt med verktyg,
ramverk och tekniker som kan hjälpa oss. Man tar upp de tekniska svårigheterna
som den nya testledaren måste hantera men ingenting nämns om de kulturella
svårigheterna. Testning oursourcas och crowdsourcas, ibland finns en etablerad
testorganisation ibland inga testare, vissa arbetar testdrivet andra efter en
traditionell teststrategi. Ibland påstås att “testledaren är död” och kommer
att ersättas av en strateg, coach eller testarkitekt. För att testledaren ska
överleva, och leda effektivt kvalitetsarbete i framtiden, måste denne veta hur
man leder test i komplexa miljöer med hjälp av självorganiserade team.
Testledning 3.0 är ingen enkel anpassning eller översyn. För att klara av
framtidens krav tror vi att testledarrollen behöver omarbetas, rivas ner och
byggas upp på nytt.
Att motivera människor (Management 3.0,
Energize People)
Organisationer
kan ses som komplexa adaptiva system
[2]. I ett sådant system är
människor de aktiva utförarna. Metoder, mallar, verktyg och processer är
statiska artefakter och därmed av underordnad betydelse. Trots detta tenderar
testförbättringsprocesser att förbise den mänskliga aspekten
[3]. Människor reagerar, agerar
och anpassar sig dynamiskt och har därmed förmågan att kontrollera komplexa
system. Därför är “att motivera människor” det första området i modellen.
Innovation
är nyckeln till överlevnad i varje konkurrensutsatt miljö. En testledares
uppgift är att lägga grunden för en innovativ miljö. Information, motivation,
kultur, mångfald, kunskap och kreativitet är viktiga byggstenar som alla hänger
ihop för att skapa rätt förutsättningar. Ett team tar in information, reagerar
på denna och skapar innovation. Om testledaren förbättrar informationsflödet
och uppmuntrar informationssökandet, leder detta till ökad innovation. Ett
otillräckligt informationsflöde kan leda till låg motivation då testarna inte
inser vikten av sitt arbete. Dålig balans mellan ordning och kaos, och i
förlängningen en dålig arbetsmiljö, kan vara ytterligare en orsak till låg
motivation. En strävan efter mer tekniska tester kan leda till en homogen
kultur, minskar mångfalden och ger för snäva perspektiv. Lösningen är att
testledaren skapar förutsättningarna för teamet att söka samt sprida kunskap,
och därigenom få en mer mångfacetterad bild av verkligheten.
Många
testare har inte en tillräckligt kreativ arbetsmiljö. Kreativitet hålls
tillbaka genom hårt styrda testprocesser. Genom att vara medveten om dessa
byggstenar kan testledaren göra mycket för att skapa en mer kreativt miljö och
uppmuntra testarna.
Stärka teamen
(Management 3.0, Empower Teams)
Ett annat karaktäristiskt drag hos ett adaptivt komplext
system är självorganisering och anpassning till en föränderlig miljö. Detta
görs utan hänsyn till central administration och en testledare måste inse att
man aldrig har fullständig kontroll. Beslut tas ständigt utan ledarens kännedom
och den informationsmängd som krävs för att fatta riktiga beslut är helt enkelt
för stor för en ensam individ att hantera. Möjlighet till självständigt agerande
måste därför distribueras till organisationens alla delar. Ledaren måste hitta
nya sätt att leda de självorganiserade teamen mot givna mål.
Självorganiserade team är testledarens nya stora
utmaning, oavsett om test utförs inom korsfunktionella scrumteam eller i
dedikerade testteam. Testledare måste kunna hantera de självorganiserade teamen
och leda testningen åt rätt håll. Ju mer
komplex en miljö är, desto mer information behövs för att förstå vad som
egentligen pågår. Att samla information via möten är vanligt men i en komplex
miljö blir antalet möten och antalet berörda fort ohanterligt. Traditionell
testledning tenderar att bromsa teamet då mycket av teammedlemmarnas energi går
åt till att rapportera till testledaren. Som testledare kan man förstås samla
information på andra sätt men det betyder att ledaren själv måste behärska ett
stort antal kanaler. För att undvika att bli en flaskhals måste testledaren
våga lätta på kontrollen och ge teamen makten att bestämma själva. Teams
mognadsgrad avgör vilken ledarstil som kan användas. En ledande (tell, sell,
consult) eller coachande (agree, advice, inquire, delegate).
Definiera mål (Management 3.0, Align
Constraints)
Vad är
testledarens roll i denna självorganiserade verklighet? Testledaren kan ofta
känna sig vilsen i en växande kunskapsintensiv och mångfacetterad
testorganisation. Självorganiserade team ska kunna fatta egna beslut, men det
är fortfarande ledarens ansvar att definiera gränser och kommunicera mål till
de självorganiserade teamen. Kvalitetsmålen skiljer sig mycket mellan olika
verksamheter och är beroende av kontext. Det är viktigt att testledaren
harmoniserar målsättningen med testarbete och systemkvalitet med de
övergripande verksamhetsmålen.
Att
förbättra testorganisationen utan hänsyn till företagets övergripliga mål,
slutar nästan alltid med suboptimering som inte gynnar hela organisationen.
Ifall målet är hitta så många buggar som möjligt, så kanske teamet lägger all
tid på detta istället för att avskriva bristfälliga leveranser. I det fall test
tar för långt tid kan det bero på svårtolkade krav och då måste detta
adresseras innan man optimerar testprocessen. På motsvarande sätt händer det
att hela testförbättringsprojekt läggs ner då målen och nyttan med dem inte
kommuniceras ut tillräckligt väl och övriga företaget inte förstår värdet.
Förutom
att sätta mål ska testledarens skydda från yttre påverkan, exempelvis
intressenter som har olika, motstridiga eller orimliga krav. En miljö där det
råder balans mellan ordning och kaos ger bäst förutsättningar för innovation. I
en helt kaotisk miljö tvingas teamet hela tiden att reagera på oförutsägbara
kritiska händelser, släcka bränder och hålla näsan över vattenytan. I en helt
styrd och välordnad miljö stryps alla kreativa idéer och nyskapande infall.
Utveckla kompetens (Management 3.0, Develop
Competence)
Det är
ledningens ansvar att se till att människor innehar den kompetens som behövs
för att göra sitt jobb. Ett ganska vanligt exempel där det kan gå fel är
företag som går över till agil utveckling i hopp om att minska på testresurser.
För att skapa tvärfunktionella team splittrar man ofta testteamen, och ofta
till följden av sämre testresultat, då test inom ett utvecklingsteam kräver
kompetens som inte utvecklingsteamet har. Människor har olika förutsättningar
och det är testledarens uppgift att se till att kompetensutveckling sker på
rätt nivå. En del kanske köper egna böcker och börja läsa självständigt. Andra
behöver lite mer coaching för att komma igång. Vissa vill gå på kurs och
certifiera sig för att visa att det lärt sig grunderna.
Beroende
på kunskapsnivå kan teamet förhålla sig till regler på olika sätt (t.ex. följa
givna regler slaviskt eller utmana regler efter behov). Som ledare är du
ansvarig för att se till att teamet förstår de övergripande målen. Om dina
regler är sämre än teamets regler kommer dina att stötas bort.
I en
komplex miljö kan man inte förutsätta att en viss påverkan alltid leder till
liknande resultat. Det är därför omöjligt att sätta regler eller införa “best
practices” som funkar för alla. Lösningen är istället att låta teamen skapa
sina egna regler utifrån gällande mål och gränser. Se till att
självorganiserade team skapar och justerar sina egna regler. För att teamen ska
vara kapabla till detta måste det ha rätt förutsättningar och rätt kompetens.
Skapa struktur (Management 3.0, Grow
Structure)
Den
optimala organisationsstrukturen varierar beroende på produkt, människor, miljö
och det finns därför ingen gyllene regel för hur organisationen bör se ut.
Däremot bör man tänka på att organisationens struktur påverkar hur
kommunikationen flödar och att god kommunikation är nödvändigt för effektivt
samarbete. I en organisation finns det alltid grupperingar, formella eller
informella. Informella ledare är utspridda i hela organisationen och
testledaren bör identifiera dessa för att underlätta sitt arbete.
En
testorganisation bör struktureras efter hur kommunikationen flödar. Människor
hanterar information på olika sätt. Det finns människor som gärna sprider
information. Det finns också människor med tillgång till dessa
informationsspridare. Som testledare är det viktigt att kartlägga detta och
skapa en struktur därefter. Det är också viktigt att inte låta människor
begränsas av strukturerna. Eftersträva "vida jobbtitlar" (t.ex. att
inte dela upp folk i testare och utvecklare) så att människor får möjlighet att
utveckla hela sin kompetens istället för att låsas fast i roller. Underlätta
för människor att utveckla tvärvetenskaplig kompetens istället för att
specialisera sig inom enbart ett område, men respektera att många behöver känna
trygghet i en specialistkompetens innan de är redo för utmaningar på andra
områden.
Förbättra allt (Management 3.0, Improve
Everything)
Människor,
team och organisationer behöver alltid förbättra sig för att bli mer effektiva.
Detta är speciellt viktigt i komplexa miljöer där ständig förändring är nyckeln
till att dra nytta av lärdomar och anpassa sig efter nya omständigheter. Utan
förändring ingen utveckling, vilket leder till stagnation och degenerering. Det
finns ingen heltäckande modell för förändring och förbättring i en komplex
miljö men däremot flera metoder som kan användas i olika sammanhang och ibland
överlappar varandra.
IT-systemen
blir allt mer komplicerade, med fler integrationer på diversifierade
plattformar. Gårdagens teststrategier kommer inte att fungera imorgon.
Allteftersom testbördan växer måste vi därför testa mer effektivt. Tyvärr har
testorganisationer tendenser att vara statiska och reagera långsamt på
förändring. En anledning till detta är att förändring inte alltid leder till
omedelbar förbättring. Man är rädd att nya arbetssätt kan försämra testarbetet
initialt och därmed riskera kvalité. Ett vanligt tillvägagångssätt är att följa
dokumenterade förbättringsmodeller då man ser detta som en mer säker
förändringsstrategi. Dock är etablerade förbättringsmodeller inom testområdet
dåligt anpassade till komplexa adaptiva system och vi har tidigare tagit upp
hur flera av dem saknar den viktiga mänskliga aspekten. Det finns ingen
process, strategi, verktyg eller “silver bullet” som fixar allt. Skapa din egen
verktygslåda!
[2] En organisation består av delar (människor) i ett
system (team), vilket visar komplext beteende genom anpassning till en
föränderlig miljö.
[3] TPI och TMM fokuserar t.ex. på dokumentation,
planering, mätetal o.s.v.