Redaktörens anmärkning: Välkommen till serien Leadership In Test från mjukvarutestningsgurun och konsulten Paul Gerrard. Serien är utformad för att hjälpa testare med några års erfarenhet – särskilt de som arbetar i agila team – att lyckas i roller som testledare och testchef.
I den föregående artikeln tittade vi på kvalitetssäkring av affärsprocesser på företagsnivå. I denna, den sista artikeln i serien, tittar vi på det ständigt föränderliga landskapet för testledning och hur du kan fortsätta utveckla din karriär inom testledning.
Registrera dig för nyhetsbrevet från The QA Lead för att få meddelanden när nya delar av serien publiceras. Dessa inlägg är utdrag ur Pauls Leadership In Test-kurs, som vi varmt rekommenderar för en djupare genomgång av detta och andra ämnen. Om du gör det, använd vår exklusiva kupongkod QALEADOFFER för att få 60 dollar i rabatt på kursens fullständiga pris!
I den allra första artikeln i denna serie löd introduktionen så här:
När du är testledare i ett projekt är det mycket sannolikt att människor antar att du är experten på allt som rör testning. Andra teammedlemmar kommer förmodligen att ha sina egna välgrundade eller excentriska åsikter om testning; vissa kanske har (eller åtminstone säger att de har) mer erfarenhet än du. Förväntningarna på testning är ofta orealistiska, och även erfarna personer intar lättvindiga ståndpunkter kring vad testning kan åstadkomma. Vissa människor kommer att tvivla på din kompetens, ditt värde för teamet eller till och med dina motiv. Det kan vara tufft.
Denna sammanfattning av vad det innebär att vara testledare förtjänar att upprepas. Den beskriver de verkliga och betydande utmaningarna i rollen:
- Du arbetar inom ett område som din ledning kanske inte förstår eller uppskattar
- Förväntningarna på dig och ditt team kommer förmodligen att vara för höga
- Dina kollegor inom utveckling och DevOps kanske tror att ”vem som helst kan testa”
- Nästa år, och året därpå, kommer du att använda andra tekniker än i dag
- De grundläggande färdigheter du behöver för att utveckla din karriär kan omfatta optimering av kundupplevelsen (CXO), DevOps, kvalitetssäkring, automatisering, övervakning av verkliga användare, analys, maskininlärning och artificiell intelligens
- Testning förändras dramatiskt, och du måste anpassa dig för att överleva.
I denna artikel utforskar vi dessa utmaningar, framtiden för testledning och vilka steg du kan ta för att överleva och blomstra i en ny värld. Vi tittar också på möjligheter för testledare att utveckla nya färdigheter och ta sig an alternativa roller.
- Testledningsfärdigheter under utveckling
- Färdigheter inom affärsverksamhet, ledarskap och kommunikation
- Att lämna testledningen bakom sig
Testledningsfärdigheter under utveckling
I den här serien har vi introducerat de kritiska begreppen och aktiviteterna inom testledning samt – förhoppningsvis – dess värde. Allt detta gäller oavsett om du är testledare och leder ett team av testare, har ansvar för ett helt program av projekt eller är en del av ett självstyrande team.
Det som förändras är den miljö du arbetar i. Tekniken förändras visserligen på mindre sätt varje år, och med några års mellanrum sker ett större språng. Varje tekniskt framsteg har krävt att vi tänker om kring vad vi gör som tekniker, arkitekter, programmerare och testare.
Vårt utvecklingssätt förändras från strukturerade metoder till agila metoder och senast till kontinuerlig leverans och DevOps.
Motivationen bakom dessa artiklar var att vi inte skulle fokusera på tekniken eller arbetssätten. I stället skulle vi fokusera på principerna för testning och testledning, fria från det vi kallar logistik – processer, teknik, affärsmiljö och så vidare.
Genom att förstå de underliggande principerna förbereder vi oss för att hantera vad som än kastas på oss i projekt. Tekniker, metoder och verktyg kommer och går, men principerna förblir desamma.
Lär dig att anpassa dig
Det första rådet jag kan ge dig är att du måste lära dig att anpassa dig. Kom ihåg att undertiteln till Kent Becks bok ”Extrem programmering förklarad” var ”Omfamna förändring”.
Agila manifestet bygger vidare på detta enkla budskap och uppmuntrar dig att anta en uppsättning värderingar som hjälper dig att reagera på förändringar i stället för att göra motstånd mot dem.
Vissa människor tror att agilt är ett arbetssätt – det är det inte. Det är en inställning till förändring, eller kanske till och med – en filosofi.
När alltså din tekniska miljö, dina processer och din affärsmiljö förändras måste du lita på att dina principer förblir konstanta.
Identifiera dina intressenter och fråga dem vad de behöver från dig. Använd modeller för att förenkla komplexa system och krav. Använd dessa modeller för att kommunicera testutmaningen, identifiera täckningsmått och förklara hur mycket testning som kommer att genomföras och har genomförts.
Det krävs erfarenhet för att vara säker på att testprinciperna är allmängiltiga, men du måste vara öppen för det förslaget redan från början.
Allteftersom du utvecklas i din karriär och upplever olika arbets- och tekniska miljöer bör du identifiera och skilja logistiken och arbetsmetoderna från projektdeltagarnas tänkande.
Fråga: ”Utifrån de fasta indata och den kontext som gäller för denna process, hur beslutade det här teamet att arbeta på detta sätt?” Förstå skillnaden mellan de två och hur logistiken är föränderlig, medan principerna är allmängiltiga.
Fortsätt att ställa upp, fortsätt att lära dig
När du och ditt team ställs inför nya situationer och problem bör du alltid vara öppen för att frivilligt ta ansvar för dem eller ta ledningen i att lösa dem. I nästan alla avseenden är programvaruprojekt faktiskt utmaningar i kollektivt lärande.
- Intressenter och användare lär sig att beskriva sina problem och hur system och programvara kan bidra till att lösa dem.
- Utvecklare lär sig att koppla programvarudesign till affärsresultat och lösa tekniska problem.
- Testare lär sig att visa hur ett system uppfyller intressenters och användares behov, använda felrisker för att hitta misstag och faror och ge sina team råd om hur de kan undvika dem eller tillhandahålla bevis på att de har begränsats.
I alla avseenden är dessa inlärningsutmaningar beroende av informationsinsamling, rationellt tänkande, evidensbaserat beslutsfattande och övertygande färdigheter.
Genom att frivilligt ta itu med eller hantera dessa utmaningar kommer du att lära dig värdefulla saker. Ditt anseende i det bredare programvaruteamet kommer att stärkas och när projekt når kritiska skeden kommer seniora chefer att se dig som ett par trygga händer som kan hantera svåra uppgifter.
En vilja att frivilligt ta sig an nya, unika utmaningar ger dig värdefull erfarenhet och skiljer dig från andra medlemmar i teamet.
Affärs-, ledarskaps- och kommunikationsfärdigheter
Det finns tre områden med icke-tekniska färdigheter som du behöver utmärka dig inom. Att ha dessa färdigheter kommer att utmärka dig som en exceptionell testare eller chef. De tre områdena är:
Affärsfärdigheter
Överväg att lära dig mer om dina projektintressenters verksamhet. Om du till exempel bygger system för marknadsföring bör du lägga tid på att lära dig mer om marknadsföring. Det hjälper dig att ha mer insiktsfulla samtal med intressenter, förstå deras drivkrafter och farhågor och att tas på större allvar av seniora beslutsfattare.
Om du arbetar för ett programvaruproduktföretag bör du lära dig hur företaget fungerar ur perspektiven produktförsäljning och marknadsföring, licensiering, produktutvecklingens livscykel, underhåll och fakturering. På så sätt kommer du att uppfattas som en mer kunnig och allsidig yrkesperson och kommer återigen att förstå viktiga intressenters drivkrafter och farhågor.
Ledarskapsfärdigheter
Ledarskap är förmodligen den viktigaste färdigheten av alla. Ledarskap krävs för att bygga starka, effektiva och stabila team. Rekrytering, delegering, tillsyn och styrning är viktiga logistiska delar, men den effektiva ledaren behöver fastställa en vision för teamet, utforma en strategi eller process för att uppnå uppdraget samt kunna bygga personliga relationer med teammedlemmarna för att vinna deras respekt, lojalitet och engagemang.
Ledarskapskurser kan vara till hjälp, men de flesta lär sig genom erfarenhet och med stöd av en ledarskapscoach eller mentor (se senare). Förlita dig inte enbart på dina tekniska och organisatoriska färdigheter. Goda ledarskapsfärdigheter kommer att skilja dig från dina kollegor.
Kommunikationsfärdigheter
Den kanske största skillnaden mellan att vara utvecklare eller testare är behovet av att interagera och kommunicera med andra teammedlemmar, ledningen, intressenter och leverantörer. En utvecklares huvudsakliga interaktion kanske bara är med ett litet antal kollegor, en verksamhetsanalytiker och en testare.
En testare eller testchef behöver samarbeta med nästan alla roller inom ett programvaruteam. Utöver det kan du behöva ha kontakt med seniora intressenter och externa leverantörer av tjänster, programvara och maskinvara.
Kommunikation går åt båda håll. Din förmåga att ta till dig stora mängder eventuellt motstridig information från olika källor är en ständig utmaning.
Du behöver naturligtvis också kommunicera utåt – till ditt team, intressenter, utvecklare och leverantörer. Det handlar inte bara om att överlämna data; du behöver också informera, övertyga och påverka på olika sätt och i olika situationer.
Hitta en coach eller mentor
Det säger sig självt att du behöver viss hjälp för att förbättra dina färdigheter och utvecklas i din karriär. Hjälpen kommer i detta fall i form av coacher och mentorer, och även om de två begreppen ofta blandas ihop ser vi dem som skilda roller.
Det finns många variationer när det gäller definitionerna, stilarna, syftet med och värdet av handledning och coachning. Vi kan bara skumma över ämnet här, så gör lite efterforskningar för att se vad som skulle vara mest användbart för dig. Detta är vår sammanfattning av vad coacher och mentorer kan göra för dig.
Coachning
Målet med coachning är vanligtvis att hjälpa en klient att uppnå ett specifikt mål, till exempel att lära sig hur man bättre leder ett team och förbättrar prestationen. Coacher behöver inte nödvändigtvis vara experter inom det område där du behöver coachning.
Coacher tenderar att ställa oändligt många frågor och utmana dig hela tiden. Målet med coachning är att underlätta klientens tänkande och handling. Typiska frågor kan vara:
- Vad är ditt mål?
- Vad behöver du för att uppnå det, till exempel stöd, resurser, tid eller pengar?
- Är ditt mål meningsfullt, uppnåeligt och värt att sträva efter?
- Hur kommer du att mäta framstegen?
- När du gör framsteg, är ditt mål fortfarande en bra drivkraft? Förändras målet?
- Gör du framsteg? Vilka hinder finns det för att göra framsteg?
- Hur kommer du att övervinna hindren? Kan du kringgå eller undvika dem?
Klienten måste tänka sig igenom problemet och göra allt arbete själv. Genom att tänka klart kommer dina mål, din motivation och din förståelse för hur du ska göra framsteg inifrån dig själv.
Mentorskap
Målet med mentorskap är vanligtvis att utveckla en färdighet eller förmåga och genomföra en stegvis förändring, till exempel att övergå till agilt arbetssätt eller införa testautomatisering. En mentor är vanligtvis expert inom det område som arbetet gäller (vilket inte hindrar mentorn från att också vara coach). Vanligtvis är dialogen mellan mentor och adept mindre ensidig, där adepten ställer lika många frågor som mentorn ger förslag.
På så sätt hjälper mentorn adepten att tänka klarare och kan ge råd eller presentera alternativ som adepten kan överväga.
En testmentor kan till exempel föreslå ett angreppssätt eller erbjuda en struktur för att sätta samman en teststrategi. Adepten samlar in data och skriver de olika delarna av strategin. Mentorn kan ge återkoppling och råd om hur innehållet, skrivstilen och detaljnivån kan förbättras, hur luckor kan fyllas igen och så vidare.
Dessa definitioner av coachning och mentorskap är inte standardiserade. I dina egna organisationer kan det finnas vedertagna definitioner och till och med rekommenderade protokoll för coachning och mentorskap – så var uppmärksam på dem.
Var coach eller mentor
En stor del av ledarskap, och särskilt chefsrollen, handlar om att hjälpa teamet att utvecklas och prestera bättre. På sätt och vis kommer du, när du först träffar och lär känna dina teammedlemmar, att utveckla en varaktig personlig relation där din roll gradvis blir att vara coach eller mentor för varje medlem i teamet.
De relationer du har som coach och mentor skiljer sig naturligtvis från och omfattar andra karriäraspekter än de relationer du har med dina egna coacher och mentorer. Men genom att ha båda rollerna får du insikter i hur du bäst utvecklar andra och dig själv.
Många som tycker om att coacha eller vara mentorer engagerar sig frivilligt i roller utanför arbetsmiljön. Om du har en bakgrund inom en sport, till exempel fotboll eller friidrott, kan du coacha den yngre generationen. Andra möjligheter är vuxenutbildning, företagscoachning eller att lära ut något du ägnar dig åt som hobby, till exempel trädgårdsskötsel eller underhåll av hemmet.
Oavsett vilket kommer du genom att vara coach och mentor att vidga ditt perspektiv, förbättra din mellanmänskliga förmåga och kommunikationsförmåga samt stärka ditt självförtroende i umgänget med andra.
Presentationer
Förr eller senare måste alla hålla en presentation på jobbet. Ett vanligt sätt att förbättra sin presentationsförmåga är att lämna in förslag till tekniska konferenser. Dessa sträcker sig från internationella evenemang med tusen deltagare till stora utställningar, förkonferensworkshoppar och huvudtalare, samt lokala träffar med tio eller femton entusiastiska kollegor på en pub.
Det säger sig självt att om du är ny på att presentera är det lättare att börja med en lokal träff än att försöka få hålla ett huvudtal på ett internationellt evenemang. Träffar letar alltid efter talare, särskilt föredrag från erfarna yrkesverksamma.
Hitta en träff i ditt område, delta i en eller två, fråga arrangören vad de söker i föredrag – och lämna ditt erbjudande. Alla internationellt kända huvudtalare började någonstans, och en träff är en lika bra plats som någon annan.
Att lämna testledning bakom sig
Om din organisation inleder en agil omvandling är det möjligt att din roll inom testledning fasas ut (eller snabbt försvinner). Oavsett om du tycker att det är ett bra beslut att avskaffa rollen inom testledning eller inte måste du hantera det. Under dessa omständigheter har du vanligtvis några valmöjligheter.
Du kan återgå till att vara testare i ett agilt team, bli specialist på teknisk testning eller prestandatestning, utveckla din roll mot kvalitetssäkring eller lämna företaget. Om du lämnar företaget kommer du antingen att hitta en annan intern roll inom testledning eller börja arbeta på ett testtjänsteföretag.
Vi ska titta på två av dessa alternativ: kvalitetssäkring och testtjänster.
Övergå till kvalitetssäkring
Oberoende granskning (inte kvalitetssäkring) är en framväxande disciplin med koppling till testning, snarare än en testdisciplin. Tidigare testchefer är väl kvalificerade eftersom de vet hur man driver en intern testtjänst, har erfarenhet av att hantera leverantörer (av utvecklings- eller testtjänster) och kan hantera seniora intressenter.
Roller inom oberoende granskning omfattar en rad olika discipliner:
Övervaka testningen av externa eller interna organisationer
Vanligtvis kan du vara involverad i utformningen eller granskningen av teststrategin. När projektet startar ger du konsultstöd till testteam i de tidiga faserna. Senare granskar och bedömer du testningens resultat och ger ett oberoende perspektiv på den rapportering som leverantörer gör till projektstyrelser.
Ledarskap inom oberoende granskning
Ledarskapsroller inom oberoende granskning omfattar ovanstående aktiviteter för testgranskning, men ansvarsområdet kan även sträcka sig i flera andra riktningar. För det första kan du ha ett rådgivande ansvar och ansvar för oberoende granskning av alla projektets leveranser.
Du kan granska krav, design, testplaner, riskbedömningar, möten inför fasstart och fasavslut, rapportering vid fasens slut samt delta i regelbundna rapporteringsmöten om projektstatus för att ge din oberoende bild av framstegen. Vissa roller omfattar även datamigrering, talangrekrytering, övergång och utrullningsfaser i ett projekt. I princip finns det en potentiell roll inom oberoende granskning överallt där det finns en projektaktivitet med beroenden och leveranser.
Hantering av oberoende granskning
Hantering av oberoende granskning kan innebära att du leder ett mindre team med personer som specialiserar sig på testgranskning, prestandatestning, informationssäkring, utformning och bedömning av användarupplevelsen och så vidare. I större projekt, särskilt sådana för centralförvaltningen, är team för oberoende granskning vanliga.
Agil testare
Agila testare utför ”oberoende granskning i det lilla”. En agil testare utför alla aktiviteter som nämns ovan, men i en mindre grupps sammanhang. De samarbetar med och utmanar intressenter, stöder och coachar utvecklare inom testning, ger råd till och vägleder användare som testar och utför ibland själva viss testning.
Vanligtvis kräver roller inom oberoende granskning att du inte har något dagligt engagemang i eller ansvar för leveransen. Det är viktigt att du kan ha en oberoende uppfattning om teamens resultat genom hela projektet – både interna och externa.
Det kan vara ett ganska isolerat eller ensamt arbete – du är inte en del av projektteamet annat än genom utlåning. Men du är vanligtvis ansvarig inför projektsponsorn och verksamhetens intressenter. Ibland kan det vara en mycket senior och inflytelserik roll.
Oberoende granskning kräver ett brett spektrum av tekniska och icke-tekniska färdigheter samt goda ledarskaps- och kommunikationsförmågor.
Bli konsult på ett tjänsteföretag
En vanlig karriärväg för skickliga testchefer är att börja på ett företag som erbjuder testtjänster. Testtjänster omfattar alla roller, från junior testare till roller inom omfattande testledning för program och oberoende granskning. Att tillhandahålla professionella tjänster kräver ett något annorlunda perspektiv än det du kanske är van vid, och övergången är inte alltid bekväm.
Du kan behöva involveras i ett projekt mycket tidigt och ansvara för att utarbeta teststrategier för projekt inom verksamhetsområden som du inte känner till. Kundernas och deras leverantörers arbetssätt kan skilja sig mycket från det du är van vid.
Det kan vara skrämmande i kritiska verksamhetsprogram, särskilt när tidsplaner och projekt är pressade att leverera. Ibland kan du hamna i en roll där du känner dig underkvalificerad; ibland är det tvärtom och du måste arbeta med eller för mindre erfarna personer hos kunden.
Oavsett vilket är det ett utmärkt sätt att samla på sig mycket erfarenhet under en kort tidsperiod att bli konsult och arbeta med en rad olika kunder. Som konsult kommer din kompetensbredd att öka, och om du väljer att lämna testtjänsterna för att återgå till en fast roll på en IT-avdelning bör du vara betydligt bättre kvalificerad för att börja på en mer senior nivå.
Testtjänster kräver goda tekniska och mellanmänskliga färdigheter, men framför allt behöver du ha en flexibel och pragmatisk inställning. Att arbeta med kunder kan växelvis vara berikande och tråkigt, spännande och frustrerande. Återigen är det inte för alla, och ibland måste du resa mer än du skulle vilja, men det kan ge dig mycket erfarenhet på bara några år.
Oavsett vilken karriärväg du väljer önskar vi dig lycka till.
Redo att lära dig mer? Vi har ett omfattande bibliotek med poddar som du borde kolla in! Här är en som du kanske gillar: HUR PROGRAMVARA MED ÖPPEN KÄLLKOD FÖRENKLAR INTEGRATION INOM AUTOMATIONSTEKNIK (MED JAMES WALKER OCH SANJAY KUMAR)
Anmäl dig till nyhetsbrevet från The QA Lead för att hålla dig uppdaterad om allt vårt tankeledarskap från testvärlden. Dessa inlägg är utdrag ur Pauls kursen Leadership In Test, som vi varmt rekommenderar om du vill fördjupa dig i detta och andra ämnen. Om du gör det, använd vår exklusiva kupongkod QALEADOFFER för att få $60 rabatt på hela kurspriset!
Relaterad läsning: 4 BESKRIVNINGAR AV QA-JOBB: TESTARE, INGENJÖR, CHEF OCH TEKNIKER
