I mina två senaste krönikor har jag berättat hur vi kan minska det tröttsamma inslaget av religion och mode när det gäller metoder, processer och annat. Det är en förutsättning för att vi någonsin ska bli proffs på att bygga mjukvara.

Lösningen ser ungefär ut så här: Alla metoder har en hel del gemensamt, vilket är ganska naturligt eftersom de alla används till att bygga mjukvara. Det finns alltså en kärna, ett slags elementarprocess som är alla metoders moder. Med den kärnan kan alla metoder beskrivas på ett enhetligt sätt.

En viktig insikt är att varje metod är en soppa kokad på practices, beskrivningar av hur olika aspekter av utveckling ska skötas, eller så består den av ett antal gömda practices. Rup består till exempel av många. Scrum är huvudsakligen en enda practice, så vi kallar den Scrum helt enkelt.

Båda innehåller också ett antal viktiga mönster, så kallade patterns. Scrum innehåller till exempel några agila designmönster, men just nu lämnar vi dem därhän.

Kärnan används för att beskriva varje metods alla practices. Vi rensar bort allt kosmetiskt, som att man benämner en sak med olika namn. Äntligen kan vi nu börja förstå vad som faktiskt är nytt, och det intressanta är att det inte är så mycket. Det finns dock skillnader och dem kan vi nu tydligt se.

Sålunda sitter vi här nu med en kärna och en massa practices skördade från de mest kända metoderna ute i världen.

Vi kommer att ha practices som överlappar varandra, till exempel iterativ utveckling från Rup och Scrum. Vi kommer också att ha practices som kompletterar varandra, till exempel användningsfall och Scrum.

Vilket värde skulle din organisation få av att anamma de här idéerna? Du kastar inte ut det du har utan du förbättrar ditt nuvarande sätt att arbeta en practice i taget. Först skördar du med hjälp av kärnan dina egna practices utifrån ditt nuvarande arbetssätt. Sedan hittar du svagheterna och kompletterar det med en bra practice som eliminerar några av svagheterna. Allt det här går mycket smidigt.

I en större organisation med många olika arbetssätt kan man på det här sättet successivt bli bättre utan att påtvinga alla samma metod eller process.

Det blir kanske ännu tydligare om vi antar att du hade haft kärnan och practices för några år sedan. Då hade du enkelt kunnat införa Scrum genom att ersätta en practice för projektstyrning med Scrum, utan att behöva göra några större anpassningar av dina andra practices.

Om vi ser in i framtiden ersätts säkerligen Scrum av någon ny practice, men de tekniska practices som du har kan få leva vidare.

Låter det för bra för att vara sant? Då kan jag berätta att mitt företag har gjort det för 20–30 organisationer runt hela världen under de senaste tre åren. Även i Sverige. Det är väldigt smart.

Fakta

…om tunga teknikfrågor, varannan gång kopplade till systemutveckling och varannan till it-säkerhet. Varje månad kan du läsa Ivar Jacobson, Tomas Djurling, Ola Bini och Anne-Marie Eklund Löwinder.