Fokus på krav och test med Kanban!

2010-05-18 Artikelbanken Test Läst 23405 gånger

Kanban är en agil metod för systemutveckling. Metoden fokuserar på att skapa ett kontinuerligt flöde och leverera ett fortlöpande värde till kunden. Kanban kan appliceras inom flera olika områden som support, förvaltning och nyutveckling. Denna artikel har till syfte att ge en grundläggande förståelse för Kanban och tips när man kan använda Kanban men även några praktiska råd på hur du kan lyckas med att arbeta mer agilt med hjälp av Kanban.

Kanban är en enkel agil ”best practice” metod

Kanban är en agil metod som betraktas som en del av Lean systemutveckling och som hämtat inspiration från produktionsindustrin. Med Kanban ska prioritering av krav- och testarbete baseras på aktuell efterfrågan (se bild 2) istället för prognoser av slutanvändarnas behov (se bild 1). Konceptet kallas för ”pull” i produktionsindustrin, som är motsatsen till ”push”.

Kanban lämpar sig bäst i sammanhang då utvecklingsshastigheten ska vara hög och kunden snabbt ska få sin leverans. Kanban bemötar dessa utmaningar genom att inrikta sig på att visualisera hur uppgifter flödar genom hela utvecklingsprocessen samtidigt som man försöker optimera utvecklingsshastigheten.

Inom förvaltning av IT-system kan det vara svårt att förutse vad som ska utvecklas näst, närmare bestämt ”efterfrågan” (se bild 2). Samtidigt är det ofta viktigt att utvecklingsprocessen, från krav till utveckling, till test och slutligen leverans, är snabb.”Kanban kan därför vara särskilt applicerbart i systemförvaltning och systemsupport, även om den också kan tillämpas inom nyutveckling. Från ett krav- och testperspektiv är Kanban en enkel agil ”best practice” som kan appliceras i olika sammanhang oavsett om din IT-organisation arbetar agilt fullt ut eller arbetar efter mer traditionella metoder.

Genom att fokusera på prioritering och att sätta en gräns (se bild 4) för antalet samtida pågående arbetsuppgifter utifrån den arbetskapacitet som finns tillgänglig, kan uppgifterna mellan krav, utveckling och test fördelas jämnare och effektiviteten därmed öka. I ett Kanban-team sker arbetet i ett kontinuerligt flöde med fokus på att kvalitetssäkra produkterna i ett tidigt skede (redan vid krav-kolumnen, se bild 3) för att förhindra stopp och förseningar i produktionsflödet. En viktig del för att lyckas med att förbättra processen är att identifiera och eliminera flaskhalsar i flödet, vilket görs genom att visualisera arbetsflödet med hjälp av en Kanban-tavla (se Bild 3). Eventuella brister i kvalitetsarbetet kommer på så vis visualiseras på Kanban-tavlan genom att det kan uppstå flaskhalsar och att uppgifter kommer flyttas fram och tillbaks i flödet för att det behövs kompletteringar. Det kontinuerliga flödet gör att Kanban är mycket kraftfullt och användningsbart för bland annat support- och förvaltningsorganisationer.

Kanbans grundprinciper

Precis som Scrum, Lean eller RUP så har Kanban några grundprinciper som man bör följa. Skillnaden är att Kanban inom systemutveckling endast har tre grundprinciper. Detta gör Kanban till en flexibel och kraftfull metod.

Visualisera arbetsflödet (Visualize workflow)

I Kanban använder man sig av en Kanban-tavla (se Bild 3) för att visualisera arbetsflödet och flaskhalsar i processen. Visualisering av arbetsflödet inom teamet eller inom organisationen är en av metodens huvudsakliga styrkor. Genom att vi lokaliserar flaskhalsar ger detta oss en möjlighet att åtgärda eventuella brister och effektivisera arbetet. Teamet får samtidigt en bra överblick över arbetsprocessen vilket förenklar samarbetet mellan krav, utveckling och test men även mellan olika projektteam.

Pågående arbete (Work In Progress)

Kanban-metoden har till uppgift att sätta en gräns för antalet parallella pågående uppgifter som man arbetar med inom teamet. Ett sätt för att säkerställa att teamet arbetar efter sin egen arbetskapacitet är att sätta en siffra ovanför varje kolumn på Kanban-tavlan. Varje siffra motsvarar de antal uppgifter man får arbeta med parallellt (se bild 4). Genom att sätta en gräns för antalet parallella uppgifter i flödet så blir det en jämnare fördelning av arbetsuppgifter mellan exempelvis krav, test och utveckling. Vi förhindrar på detta sätt att flaskhalsar uppstår och sänker stressnivån då alla arbetar efter sin egen kapacitet. Skulle det uppstå ett stopp i testdelen av arbetsflödet ska eventuella lediga resurser från exempelvis utveckling hjälpa testavdelningen för att så fort som möjligt få klart uppgiften för att kunna komma vidare och leverera till kunden.

Ledtid (Lead Time)

Ledtiden är den genomsnittliga tid det tar att slutföra en uppgift från att man påbörjat den. Exempelvis kan man mäta nyutvecklig, defekter och hur mycket tid det tar att lösa supportärenden. Genom att identifiera och eliminera flaskhalsar samtidigt som man korrigerar pågående uppgifter utifrån teamets arbetskapacitet kommer ”ledtiden” att kunna förkortas. ”Ledtiden” kan även användas som ett mått på hur effektivt Kanban-teamet arbetar och när kunden kan väntas få sin leverans. Desto bättre man blir på att mäta ledtiden desto bättre blir man på att beräkna leveranstiden och hålla den, vilket ger kunden bättre och punktligare leveranser.

Även om Kanban ”bara” behöver tre grundprinciper när den tillämpas inom systemutveckling, så är det inget som hindrar dig ifrån att använda principer och inslag från andra metoder. Exempelvis kan man ha dagliga stå-up möten och regelbundna återblicksmöten (såsom i den agila metoden Scrum) i ett Kanban team. I Kanban beskrivs heller inga roller och ansvarsområden utan även här kan man med fördel hämta inspiration och inslag som exempelvis Scrum master och produktägare från Scrum.

Kanban inom support och förvaltning

Kanban är en relativt ny metod för systemutveckling men har tillsammans med Lean använts inom bilindustrin under många år där Toyota har varit ledande inom metoderna och även är skaparna av Kanban. Kanban översatt från japanska betyder signalkort, där kortet signalerar en ”pull” det vill säga en signal att börja producera en specifik produkt (se bild 2).

Runt 2004 börjande man använda Kanban inom systemutveckling och under de följande åren har Kanban fått betydligt större uppmärksamhet och växt sig starkare vid sidan av Scrum och andra agila metoder. Litteratur, bloggar och hemsidor tillägnade Kanban börjar nu dyka upp och allt fler IT-verksamheter har blivit intresserade av vad Kanban har att erbjuda. Många drivande krafter inom Kanban har kommit fram till att verksamheter som har svårt att planera sitt arbete och estimera tidsåtgången för de projekt och uppgifter som de arbetar med kan använda sig av Kanban, där två exempel på verksamheter är förvaltning och support.

IT-verksamheter arbetar ofta parallellt med både nya projekt, förvaltning och support-ärenden vilket kan göra det svårt att fokusera på rätt uppgifter samt hur mycket tid som ska avvaras för support gentemot förvaltning och dess dagliga uppgifter. Det kan även vara problematiskt att estimera hur mycket tid som kommer att gå till olika support-ärenden, eftersom man på förhand inte kan planera för hur många ärenden som kommer in varje dag och därtill estimera svårighetsgraden på ärendena. Kanban är en agil metod som kan användas för att lösa en del av problematiken som uppstår och kan underlätta för prioritering och planering i krav- och testverksamheten genom att visualisera arbetsprocessen.

Kanban-tavla för support och förvaltning

Genom att exempelvis addera ytterligare två kolumner som heter prio och ”backlog” (se bild 5) kan man arbeta med flera olika uppgifter på samma Kanban-tavla. Vi har fortfarande våra gränser för parallella uppgifter för varje kolumn, det vill säga alla steg i produktionsflödet. Men vi har nu även en fallande prioritetsordning där Support har högst prioritet och Projekt lägst. Dagen börjar med att man arbetar med support-ärenden och först när alla uppgifter, ”lapparna”, i support-raden befinner sig i ”Klar”-kolumnen, kan man påbörja dagliga uppgifter och sedan forstätter man neråt i prioritetsordningen. Är man klar med supporten och för tillfället arbetar med dagliga uppgifter och det kommer in ett nytt support-ärende ser man självklart till avsluta det pågående arbetet för att sedan försöka lösa det nya support-ärendet då det har högre prioritet.

Kanban – En agil vattenfallsmetod

Kanban utgår från ett flöde i produktionen och kan vid första anblick liknas vid en mindre vattenfallsmetod där uppgifterna ska passera varje steg i produktionsflödet. Detta innebär att även organisationer som kan ha svårt att övergå till att arbeta agilt på grund av exempelvis storleken, dess hierarkiska struktur eller motvilja till agila metoder kan använda sig av Kanban. Metoden är ”mindre” agil än exempelvis Scrum och kan vara lättare att anamma för företag som arbetar efter traditionella vattenfallsmodeller.

Kanban har ett väldigt flexibelt ramverk som kan anpassas tack vare möjligheterna att kombinera det med redan befintliga rutiner och metoder som finns tillgängliga. Organisationer kan då använda sig av Kanban för att arbeta mer agilt utan att behöva göra allt för stora eller drastiska organisationsförändringar. Kanban kan snarare användas som en metod för att sakta övergå till ett mer lättrörligt och flexibelt arbetssätt där teamet får mer ansvar och själva bestämmer arbetsbelastningen.

Sammanfattning

Kanban är en agil metod inom systemutveckling som har tre grundprinciper. Dessa principer fokuserar på att visualisera arbetsflödet, begränsa antalet pågående uppgifter och eliminera flaskhalsar i produktionen. Exempel på verksamheter där Kanban är att föredra kan vara support eller förvaltning som kan ha flera parallellt pågående uppgifter. Kanban kan användas för att öka kvaliteten inom förvaltningen genom att förbättra arbetsprocesserna, öka samarbetet mellan krav, test och utveckling samt får organisationer att tänka test i ett tidigt skede.

Nästa steg

Konsultbolag1 erbjuder kursen Agil Test där vi med hjälp av praktiska exempel bland mycket annat går igenom hur du arbetar med krav och test i Lean och Kanban.

Läs gärna också artikeln Vad innebär Lean för kravhantering och test?

KONTAKTA OSS

Har du frågor? Vill du ha hjälp med områden inom kravhantering och test?
Hör av dig till oss! Vi hjälper dig gärna. 

Kontakt 

Dela artikeln