Artikel top billede

Jeg er vant til at høre virksomheder sige, at de har sadlet om og er blevet agile, og jeg bliver bekymret hver eneste gang

Klumme: Alle vil være agile, for så kommer man hurtigere på markedet, slipper af dokumentations-kravene, og udviklerne kan koncentrere sig om det sjove. Men det er en stor omlægning at skifte fra waterfall til agile, og virksomheds-kulturen trækker næsten altid imod.

Hvis du fortæller mig, at jeres virksomhed er blevet agil, så spørger jeg: Er I faktisk blevet agile?

Alle vil være agile, for så kommer man hurtigere på markedet, og man slipper af med den kedsommelige og tidskrævende dokumentation, og udviklerne kan koncentrere sig om det sjove.

Så selvfølgelig vil I være agile.

Jeg er vant til at høre virksomheder sige, at de har sadlet om og er blevet agile, og jeg bliver bekymret hver eneste gang.

For dels er det en stor omlægning at skifte fra waterfall til agile, og dels trækker virksomhedskulturen imod.

Alle medarbejdere og processer er indrettet til waterfall, så man kommer kun i agile-land, hvis topledelsen giver fuld opbakning til hvert eneste svømmetag helt ind til agilitetens forjættende strande.

Drop den forhadte dokumentation

Hvis I ikke kommer helt i land, introducerer I en stor forretningsmæssig risiko for jeres egen virksomhed, eller for de virksomheder I leverer software til.

Et af de første skridt mod agilitet er nemlig næsten altid at droppe den forhadte dokumentation.

Men den skal erstattes af løbende test af det, som I udvikler på.

Og jeg taler ikke bare om test af de seneste linjer kode, men om test af alle de linjer, som I har tidligere har skrevet.

Det er det, der hedder regressionstest, og de skal afvikles dagligt, for når I udvikler, så ændrer I på betingelserne for det, I kodede og testede i går og i forgårs. Derfor skal det hele testes igen.

Kan ikke gøres manuelt

Så hvis I stadig kun afvikler test manuelt, er I ikke kommet i land. Arbejdsmængden med at teste stiger nemlig lineært med tiden, så der er ingen måde, man kan gøre det på manuelt.

Hvis I udvikler på et eksisterende system, skal I desuden indlede hele projektet med at køre test på systemet.

For I kan ikke undgå at skulle pille ved det eksisterende system under udviklingen, og uden den første test ved I jo ikke, hvilke output systemet havde som udgangspunkt. Derfor ved I heller ikke, hvad outputtet burde være, når I tester jeres nye kode.

Kan du levere ny software i dag?

Hvis I er agile, så kan du levere ny software hver eneste dag til produktionen eller til virksomhedens kunder.

For efter hvert sprint kører I jo regressionstests på jeres working software, og derfor står du med et potientielt shippable product increment på dagsbasis.

Selve kernen i den agile proces er jo netop, at du til enhver tid kan teste, om din software virker korrekt i den sammenhæng, den skal indgå, fordi agile inkluderer, at du har working software. Det er derfor du kan tillade dig skrotte dokumentationen og koncentrere dig om udviklingen.

Så selvom det ikke er relevant at levere hver eneste dag, så skal der altid være en ny udgave klar. Ellers er I ikke agile.

Eller for at sige det kort: Hvis I vil nyde de frugter, som agilitet tilbyder, så kan I ikke nøjes med at høste de lavest-hængende frugter. Hele virksomheden er nødt til at sadle helt om og blive agil.

Det kræver beslutsomhed fra top til bund og input udefra. Men så høster I til gengæld også alle frugterne.

Klummer er læsernes platform på Computerworld til at fortælle de bedste historier, og samtidig er det vores meget populære og meget læste forum for videndeling. 

Har du en god historie eller har du specialviden, som du synes trænger til at blive delt? 

Læs vores klumme-guidelines og send os noget tekst, så kontakter vi dig - måske bliver du en del af vores hurtigt voksende korps af klummeskribenter.