Mätdriven utveckling, del 1

Traditionell (numera förhistorisk) systemutveckling bygger på en svårrörlig utvecklingsform där slutresultatet är planerat i förväg men mer eller mindre blir vad det blir (eftersom det blir svårare och dyrare att göra ändringar i en produkt ju senare man gör det så avstår man helst.) Agila metoder, å andra sidan, utmärker sig genom att i små inkrement av nya features ge möjlighet att ändra, lägga till och ta bort genom att hela projektet.

Anledningen till att man vill ändra i en redan byggd feature är att man har tillskansat sig ny kunskap, vilken kanske gör att man ser den i ett nytt ljus. Det här är mer regel än undantag. Mycket sällan kommer den slutgiltiga produkten att exakt bli som man först hade tänkt sig. Att tillämpa agil utveckling är att ständigt lära sig mer om den produkt man bygger. Det möjliggör att den kan konvergera mot en allt bättre produkt. Åtminstone i teorin. Även i praktiken tycks det här fungera väl. Men, vad betyder det att "konvergera mot en allt bättre produkt"? Bättre ur vems synvinkel? Vem bestämmer att produkten är bättre nu än efter det förra inkrementet?

Produktägaren är projektets kompass och är en person som skapar visionen mot vilken produktens kvalitet ska mätas. Produktägaren ansvarar också för produktens backlog, listan som ska spegla användarnas funktionella önskemål och behov. Problemet med den allenarådande produktägaren är att denne i regel inte ÄR användare av systemet utan bara en representant för dem. Produktägaren befinner sig i praktiken i samma verklighetsfrämmande bubbla som projektet självt. Även om produktägaren ska representera användarna så är den interna kompassen ändå kalibrerad utifrån dennes egen världsbild.

Den vanliga metoden för att få återkoppling från användarna brukar vara att sätta ihop fokusgrupper av potentiella användare som får leka med prototyper av produkten. Det är absolut bättre än att inte göra något alls, men eftersom de just utför en lek med prototyper av produkten (till skillnad från att använda riktiga versioner av produkten i verkliga situationer) så kommer resultatet endast att bli approximationer till den egentliga "sanningen" om produktens beskaffenhet.

De riktiga, verkliga användarna bor i ett märkligt land som kallas marknaden och på marknaden så leker man inte. Där är allt på allvar. Det låter kanske lite tråkigt, men den stora fördelen är att man faktiskt att lita på marknadens aktörer. Deras val baseras på rationella beslut i verkliga livet, just därför att allt de gör får direkta eller indirekta konskvenser för dem själva. Man brukar kalla det för kausalitet, eller orsak och verkan.

Det finns ingen i närheten så effektivt testprocess som att utsätta den för marknadens hänsynslösa granskning. Det är på marknaden som alla produkter så småningom ska leva sina liv. Att en produkt överlever i sandlådan behöver inte innebära att den är tillräckligt bra för att släppas ut på marknaden. Utveckla lite, släpp ut ofta, samla in mätdata, skär bort allt som är onödigt, lär och återför till produkten och börja om igen. Så bygger man fantastiska produkter i framtiden!

Om författaren

Mats Wessberg är VD och medgrundare av Inceptive. Han har verkat i IT-branschen sedan 1995 och mestadels som konsult. Hans huvudsakliga expertis är inom Quality Management och utvecklingsmetodik.