Ola Bini &auml;r Java- och Rubyexpert och konsult p&aring; Thoughtworks Studios.<br />
Ola Bini är Java- och Rubyexpert och konsult på Thoughtworks Studios.
Agil utveckling hade sitt tioårsjubileum 2011. Man kan lugnt säga att lättrörliga utvecklingsmetoder har slagit över hela världen. Dock är det inte nödvändigtvis så att bara för att man säger att man inför agil utveckling eller Scrum faktiskt förstår principerna, eller ens gör det rätt. Det börjar bli dags att titta på vad nästa steg blir och hur vi som utvecklare kan bli bättre på att faktiskt förstå och implementera affärsnytta.

Det senaste året har det pratats väldigt mycket om så kallad ”continuous delivery”, eller konstant leverans. Jag misstänker att denna trend fortsätter i utvecklingen av lättrörliga metoder.

Så vad går det hela ut på? Enkelt sett är det precis vad det låter som. Ditt team ska leverera fungerande mjukvara när som helst. Det kan vara intressant i sig själv, men mer viktigt är vad du behöver för att genomföra leveranserna.

En viktig aspekt är testning – det är i princip omöjligt att leverera fungerande kod med ett knapptryck om du måste ha en grupp testare som manuellt kontrollerar systemet. Därför är automatiserade tester som du verkligen kan lita på en viktig grund.

Generellt sett bör man att automatisera allt som går. Utan automatiska processer kan du inte sätta ditt system i produktion flera gånger per dag. Utan automatiserade produktionssättningar blir det också svårt att veta att varje leverans faktiskt görs på samma sätt.

När du väl har bra test och automatiska leveranser implementerade blir det också möjligt att göra många fler men mindre förändringar av ditt system. Du slipper stressiga produktionssättningar som sker en gång om året då ett antal människor tvingas jobba övertid. I stället blir varje leverans liten och kontrollerad. Kan du automatisera leveransen går det också att använda samma metod för att ta tillbaka förändringar om något går fel. Då minskar risken varje gång ny kod sätts i produktion.

Går detta verkligen att genomföra? Kan ett företag, vilket som helst, producera mjukvara på det här sättet. Ja, absolut.

Jag säger inte att det är en lätt förändring, men om man lyckas är fördelarna väldigt stora. Den kanske viktigaste effekten är att det blir lättare att veta vad man faktiskt ska bygga.

En av de viktiga idéerna inom lättrörliga processer är att visa kunden vad du bygger så att förändrade krav kan fångas upp betydligt fortare. Konstant leverans driver den tanken ett steg framåt, och innebär att du egentligen inte vet om en finess du byggt är bra förrän en slutanvändare har använt den. Det finns ett antal undersökningar som visar att större delen av system aldrig används. Om du bygger ett system där bara 30 procent faktiskt ger nytta, skulle du inte vilja veta det omedelbart?

Så börja undersöka nästa steg. Konstant leverans är inte ett alternativ till agil utveckling, det är ett komplement, ett tydliggörande av värden som alltid funnits under ytan i dessa metoder.