Vad är agil metodik och hur fungerar den inom projektledning?
Folkets visdom råder oss att "aldrig besvara en fråga med en fråga". Det finns dock tillfällen då det är bra att bryta mot denna regel, för för att förstå en viktig sak måste vi först ta ett steg tillbaka och ta en titt på helheten - och den här situationen är en sådan.
Innan vi börjar svara på frågan "vad är agil metodik och hur fungerar den inom projektledning?", låt oss kort byta perspektiv på en mer grundläggande fråga: "Vad menas med agil metodik?"
Metodik & Mindset
Även om Agile ofta kallas för en metodik är detta mer en praktisk konvention än en exakt etikett - eftersom Agile i grunden inte enbart är en metodik. Det är snarare ett tankesätt som har sina rötter i fyra kärnvärden och 12-principer (som vi kommer att titta på om en stund). Dessa grunder finns i Manifestet för agil mjukvaruutveckling, som skapades av Agile Alliance: en global ideell medlemsorganisation som stöder människor och organisationer som utforskar, tillämpar och utvidgar agila värderingar, principer och metoder.
De fyra kärnvärdena i Agile
- Individer och interaktioner betonas och prioriteras framför processer och verktyg.
- Det kan tyckas förvånande att ett paradigm som växte fram inom mjukvaruutveckling (men som sedan dess har tillämpats på andra områden) skulle ha som främsta värde att göra det möjligt för individer att arbeta och underlätta interaktioner. Det är dock just detta som Agile Alliance ville slå fast: även om processer och verktyg är viktiga och får allt större inflytande får de inte begränsa eller försämra den mänskliga faktorn. Med andra ord: processer och verktyg ska tjäna agila team och inte tvärtom.
- Arbetande mjukvara betonas framför omfattande dokumentation.
- Syftet och budskapet med detta kärnvärde är att förhindra att organisationer överbelastar utvecklare med uppgifter som flyttar resurser och uppmärksamhet från det som verkligen är viktigt: att bygga mjukvara som fungerar.
- Naturligtvis är dokumentation fortfarande viktig. Den är dock relativt sett mindre viktig än fungerande programvara. Organisationer som tappar den här principen ur sikte upptäcker - oftast förr snarare än senare - att de hindrar och underminerar sina agila ansträngningar.
- Samarbete med kunden betonas framför avtalsförhandlingar.
- Ett effektivt och ändamålsenligt samarbete med kunderna är avgörande i Agile. När problem och utmaningar uppstår (och det kommer säkert att ske!) är det mest praktiska och klokaste sättet att försöka hitta en gemensam grund.
- Att reagera på förändringar är viktigare än att följa en plan.
- Detta är en av de största avvikelserna från traditionell projektledning. Historiskt sett har förändring setts som en risk eller ett hot som man måste undvika. Men i Agile är förändringarna accepterade och utnyttjade. Planen fungerar som en grund, men inte nödvändigtvis som en steg-för-steg-manual.
De 12 agila principerna
Enligt Agile Alliance är de 12 principerna för Agile följande
- Högsta prioritet är att uppfylla kundernas förväntningar. Detta sker genom tidig och kontinuerlig leverans av fungerande och värdefull programvara.
- När det är strategiskt viktigt och ökar kundens konkurrensfördelar välkomnas anpassningen till förändrade krav snarare än att motarbetas - även i senare skeden av utvecklingen.
- Snarare än att leverera färdig programvara i slutet av ett projekt är fokus på att ofta leverera delvis färdig (men som sagt fungerande och värdefull) programvara på frekvent basis. Man föredrar kortare snarare än längre tidsperioder.
- Agila gruppmedlemmar kan inte arbeta i silos. De måste samordna och vid behov samarbeta under hela projektet.
- Framgångsrika agila projekt drivs av motiverade och engagerade teammedlemmar som har en lämplig miljö och tillräckligt med stöd och resurser för att slutföra sina respektive uppgifter på ett kompetent sätt och i rätt tid.
- Direkt kommunikation (ansikte mot ansikte eller virtuellt) är i allmänhet den mest effektiva och ändamålsenliga metoden.
- Det främsta måttet på framsteg är slutprodukten.
- Alla gruppmedlemmar bör kunna hålla en konstant takt under en obestämd tidsperiod. Detta kan inte ske om de är överbelastade med uppgifter och/eller belastas med opraktiska och orimliga tidsfrister eller andra förväntningar.
- Smidigheten förbättras genom ett kontinuerligt fokus på teknisk kvalitet och exceptionell design.
- Enkelhet - som definieras som konsten och vetenskapen att optimera mängden arbete som inte behöver göras - är avgörande för framgång.
- Självorganiserande agila team är bäst positionerade och utrustade för att skapa det bästa arbetet.
- Med jämna mellanrum bör agila team reflektera och analysera hur de kan bli mer effektiva och ändamålsenliga, och anpassa sig därefter.
Vad är agil metodik inom projektledning?
Nu när vi har tittat på de grundläggande värderingarna och principerna för Agile - även kallat Agile mindset - kan vi utforska vad är Agile-metodik inom projektledning.
Agil projektledning är i huvudsak ett iterativt och inkrementellt tillvägagångssätt för att uppnå affärsmålen (dvs. projektets produkt).
- Ett iterativt tillvägagångssätt innebär att mer information om projektet - dess risker, möjligheter och andra variabler - kommer fram allt eftersom projektet går framåt. Detta skiljer sig avsevärt från den konventionella (dvs. vattenfall), där en solid plan utarbetas före genomförandet. Naturligtvis är förändringar ofta nödvändiga på grund av oförutsedda händelser (vanligtvis negativa, men ibland positiva). Målet är dock att hålla sig så nära planen som möjligt och undvika större avvikelser.
- En inkrementell strategi innebär att arbetet i stället för att ha en lång genomförandefas utförs i korta, mycket fokuserade etapper. Dessa kallas sprintar. Det finns ingen standard eller regel som anger hur lång varje sprint ska vara, men i allmänhet varar de mellan en och tre veckor. Vi kommer att utforska sprints närmare i nästa avsnitt.
Vad är den agila metodiken?
Även om olika organisationer - och ibland olika team inom samma organisation - har möjlighet att anpassa den agila metodik som fungerar bäst, finns det i allmänhet fyra huvudsteg i processen:
1. Projektplanering
Som nämnts ovan är Agile projektplanering mindre robust än konventionell projektplanering. Detta beror inte på att projektplanering är oviktigt i Agile - för det är det verkligen. Det beror snarare på att agila projekt omfamnar snarare än motarbetar ständiga förändringar. Eftersom agila projekt i sig är iterativa kan det dessutom vara teoretiskt tilltalande att lägga ner för mycket tid på planeringsstadiet, men i praktiken kontraproduktivt, eftersom en del (eller kanske mycket) av det som förväntades inte visar sig vara tillämpligt.
En stor del av pusslet i den agila projektplaneringen är en användarberättelse. Detta är en översikt på hög nivå av en arbetsförfrågan och ger Agile-teamet tillräckligt med information för att utveckla en funktionell uppskattning av den ansträngning, de resurser och den tid som krävs för att genomföra förfrågan. Anledningen till att dokumentet kallas för en användarberättelse är att det är utformat ur användarens perspektiv och belyser vad de vill åstadkomma och varför.
En annan viktig del av den agila projektplaneringen är att skapa en produktplan, som är en uppdelning av alla produktfunktioner. Dessa funktioner kommer sedan att användas för att skapa produktbakloggen.
2. Planering av sprint
Nästa stora steg är att planera varje sprint. Om möjligt bör varje sprint vara inriktad på en funktion i produktbackloggen. Om detta inte är möjligt - på grund av att en funktion är mycket komplex eller på grund av någon annan faktor - kan fokus ligga på en aspekt av en funktion.
Det är oerhört viktigt att se till att gruppmedlemmarna inte överbelastas med uppgifter eller förväntas följa orimliga tidsfrister. Om detta sker kan ett fenomen som kallas "sprint fatigue" uppstå, vilket är en föregångare till avstängning, utbrändhet och personalomsättning. Att fastställa gränser för pågående arbete (WIP) kan bidra till att förhindra detta kostsamma scenario, och det är viktigt att använda ett effektivt verktyg för uppgiftshantering för att visuellt dokumentera arbetsflöden och resurser.
3. Genomförande och dagliga stand-ups
När planen, backloggen och sprintarna är på plats är det dags för "gummit att börja jobba" och det agila projektet börjar. Under genomförandefasen delar gruppmedlemmarna dagligen med sig av vad de gjorde dagen innan, vad de planerar att göra idag och vilka problem eller utmaningar de har upplevt eller förväntat sig. Dessa möten kallas "stand-up"-möten, eftersom tanken är att de ska vara tillräckligt korta (vanligtvis 10-15 minuter) så att gruppmedlemmarna, om de vill, kan stå upp under hela mötet.
I vissa projekt kanske inte alla möten hålls dagligen. I andra fall (t.ex. när det gäller oroliga företag) kan det vara mer än ett möte per dag. I slutändan är syftet med dessa möten att utbyta information på ett så effektivt sätt som möjligt. För få möten kan leda till fel och antaganden, medan för många möten kan leda till frustration och byråkrati.
4. Recensioner och analyser
Efter varje sprint hålls två möten. Den första är att granska produkten med relevanta intressenter (vanligtvis produktägaren och eventuellt även kunden). Den andra är att analysera sprinten och identifiera möjligheter till framtida förbättringar.
På det hela taget bidrar båda dessa möten också till att bygga upp en förtroendefull relation mellan det agila teamet och kunden/produktägaren och hålla kommunikationslinjerna öppna. Eftersom agila projekt är så snabba och det sker ständiga förändringar spelar styrkan i denna relation en viktig roll för om upplevelsen blir en framgång eller om den blir en kamp.
Roller i agila team
Generellt sett finns det fyra huvudtyper av roller i agila projekt:
- Medlemmarna i det agila teamet som utför arbetet under varje sprint.
- Scrum Master, som ser till att varje sprint är fokuserad och att teammedlemmarna har de resurser de behöver. Scrum Master hjälper också till att förhindra att personer utanför teamet lägger sig i.
- Produktägarna, som representerar kundens förväntningar och spelar en nyckelroll när det gäller att definiera målet för varje sprint och prioritera produktbackloggen.
- Intressenterna, som måste informeras om projektets framsteg och utveckling.
Vad är agil metodik inom mjukvaruutveckling jämfört med andra områden?
Eftersom agil projektledning uppstod inom mjukvaruutvecklingsvärlden diskuteras den vanligtvis i det sammanhanget - till exempel när man talar om "funktioner" i en produktbacklog eller "programmerare" i ett agilt team. Dessutom är de agila värderingar och principer som vi har undersökt tidigare tydligt kopplade till mjukvaruutveckling (t.ex. "fungerande programvara betonas framför omfattande dokumentation").
Agil projektledning kan dock tillämpas med stor framgång inom många andra områden, t.ex. marknadsföring, byggverksamhet, professionella tjänster med mera. Kom ihåg: Agile är inte bara en metod, det är också ett tankesätt!