Agil kravhåndtering – en organisatorisk disciplin

I denne artikel ser vi på kravhåndtering som en disciplin, der dækker hele organisationen. Den har som sit vigtigste formål at understøtte alle interessenter i en konstant, meningsfuld dialog og forhandling om organisatorisk værdiskabelse, muligheder og betingelser. 

Af Henrik Sternberg og Ulrik H. Gade

Kravhåndtering for projekter er, hvad nervesystemet er for mennesker. Det skal sikre hurtig og effektiv kommunikation mellem projektet og dets omgivelser, så projektorganisationen kan reagere på det, der sker i dets omgivelser, og træffe hensigtsmæssige beslutninger, der kan skabe værdi og fremdrift.

Kravhåndtering – organisationens nervesystem

Mange projektdeltagere har gennem tiderne samlet erfaringer med slidte og ikke vedligeholdte ”nervebaner” og ”synapser” i projekterne. Disse resulterer i adskilte enheder, der på grund af manglende fælles viden, har svært ved at samarbejde. Testafdelingen tester krav, der for længst er ændret. Arkitekturafdelingen efterspørger kvalitetskrav, der aldrig er blevet stillet. Projektlederen og produktejeren diskuterer, hvilken version af kravene, der gælder og hvilke, der er implementeret. Projektet undrer sig over, hvordan projektet bidrager til den overordnede strategi.

Kravhåndtering er en faglighed, der skal varetages professionelt, og hvis største udfordring er kommunikation. Kravhåndtering skal oprette og vedligeholde aftaler mellem alle projektets interessenter – også når projektets betingelser ænder sig. Det kræver både struktur og proces. Og det gælder både agile og andre tilgange til systemudvikling.

Synkronisering af kravene – på langs og på tværs

Kravhåndteringsstrukturen handler om, hvad vi forstår ved krav, og hvordan vi dokumenterer dem. Udfordringen her er, at kravene skal kunne forstås af alle interessenter i hele værdikæden. Fra kunde til tester, fra den strategiske ledelse til udviklingsteamet. Så den måde og det niveau vi beskriver kravene på, skal matche interessentens placering og ansvar. Krav skal forstås og give mening i hele organisationen, både på tværs – mellem medlemmerne i et team og på langs – mellem teams på forskellige organisatoriske niveauer.

Krav i udviklingsteamet

På ”nederste” niveau i den organisatoriske kravpyramide kan vi vælge at beskrive de detaljerede krav som user stories, use cases, eller på anden vis. Det afgørende er, at strukturen effektivt understøtter en detaljeret og løbende samtale mellem kunder, udviklere, testere og arkitekter om den software, der er under udvikling.

Disse fortsatte samtaler i projektet er forudsætningen for succes. Hvis strukturen forhindrer erfaringsudveksling og videndeling mellem interessenterne, f.eks. fordi kravene ikke er forståelige, er uoverskuelige eller ikke relevante, er der langt til et godt resultat. Uagtet hvor fagligt kvalificerede udviklere og testere i øvrigt er til at udvikle og teste tekniske løsninger.

User stories og use cases har vist deres berettigelse her, bl.a. fordi de sikrer fokus på den fremtidige brugers forretningsvendte behov og forventninger: ”Som bruger vil jeg gerne kunne ….”.

 

Krav på programniveau


På programniveauet i organisationen har vi brug for kravbeskrivelser med en højere granularitet og abstraktion. Her er der behov for at have overblik over både fremdriften i de enkelte projekter, og over sammenhængen mellem dem. Projektniveauets kravbeskrivelser vil i de fleste tilfælde være så detaljerede og mangfoldige, at porteføljeoverblikket mistes. En programledelse kan i stedet med fordel anvende en backlog af krav på feature niveau, dvs krav der beskriver overordnet funktionalitet, der kan tildeles et projekt og detaljeres der. Programledelsens opgave er at prioritere og allokere disse features til nye og kørende projekter eller til featureteams;og med passende kort cyklus re-prioritere dem på baggrund af feedback fra projekterne.

Krav på porteføjle- og strateginiveau

En af de store udfordringer i mange organisationer er, at der let kommer en afkobling mellem organisationens strategiske satsninger og intentioner på den ene side og projekternes og programmernes løbende prioriteringer på den anden. Udfordringen kan opleves som en barriere mellem IT og den omgivende organisation og opstår ofte, når sproget, kulturen og anvendte modeller og værktøjer ikke arbejder sammen. En oplagt mulighed for at styrke kommunikationen og synkroniseringen her, er at forstå programmernes ”features” som en direkte nedbrydning af en prioriteret portefølje- / strategi ”backlog”, der indeholder korte beskrivelser af strategiske intentioner for den næste strategiperiode. Ved at anvende den samme struktur til at beskrive krav og behov, og den samme proces til at prioritere og nedbryde kravene og få feedback fra ”kunderne”, understøttes kommunikationen imellem de organisatoriske lag på en enkel og effektiv måde.

Iterativ synkronisering af krav i hele organisationen

Set fra et organisatorisk synspunkt er det for os at se en åbenlys god ide at satse på at skabe gennemsigtighed og læring gennem korte iterationer og hyppig feedback. Ikke blot i udviklingsprojekterne, som vi har erfaring for bl.a. ved anvendelse af agile metoder og principper, men også i den omgivende organisation med henblik på programledelse, porteføljeledelse og strategiudvikling. Bemærk i øvrigt, at længden af en ”passende kort iteration” kan være meget forskellig fra projektniveauet, hvor iterationer typisk varer få uger, til programniveauet, der gerne vil kunne re-prioritere f.eks. hver måned, til det strategiske niveau, hvor hyppigheden måske er kvartalet.

I et kravperspektiv bliver en af hovedpointerne, at kravhåndtering er en organisatorisk disciplin, som skal sikre effektiv kommunikation om intentioner, behov og krav på en måde, der giver og skaber mening i hele organisationen, og at en fælles organisatorisk kravstruktur med fælles forståelse af, hvordan intentioner, behov og krav bliver formidlet mellem alle interessenter.

Og i et agilt perspektiv handler det om at vælge passende struktur og proces til, at de rigtige mennesker på de rigtige tidspunkter gennem hyppig afprøvning, feedback og tilpasning er i stand til at reagere hensigtsmæssigt i forhold til de mange, komplekse og hele tiden forandrende forhold, der omgiver organisationen og dens projekter. Målet er at kunne skabe løsninger, der ikke blot er teknisk gode, men også er værdiskabende for kunderne og udviklende for organisationen.

Så for os er agil kravhåndtering en organisatorisk disciplin, der kan håndtere og facilitere den komplekse kommunikation mellem alle projektets interessenter med fokus på effektivitet og værdiskabelse gennem gennemsigtighed og gensidig læring.

 

Litteratur

 

Leffingwell, D., Agile Software Requirements, Lean requirements practices for teams, programs and the enterprise, Addison Wesley 2011