Foto av Björn Beskow

It's all about 'continuous'

// Björn Beskow

I sin keynote gjorde Erich Gamma några intressanta reflektioner kring vad som gjort Eclipse-projektet framgångsrikt. Självklarheter kan tyckas, men ofta så självklara att vi glömmer bort dem:

  • Varje iteration slutar i en Milestone Release. Detta är inte bara det senaste bygget av det som råkar vara klart vid en visst datum. En milestolpe-version är en färdig, testad och paketerad version, med allt vad det innebär. Syftet med iterationer är att få riktig feedback från projektets intressenter, och samtidigt få en objektiv bild av projektets status. Det kräver både planering, disciplin och ärlighet. Ger inte iterationerna verklig feedback och objektiv status-bedömning, så fyller de inte längre någon funktion.
  • Längden på ett projekts iterationer måste trimmas kontinuerligt. Om ett projekt inte lyckas leverera milstolpe-versioner inom ramen för en iteration, har projektet allvarliga problem. Iterationer skall vara så korta som möjligt, men inte kortare!
  • I de sista iterationerna, nära slutlig leverans, måste både funktionalitet och kvalité stabiliseras. Det innebär att projektets “velocity” (hur mycket som är planerat att rymmas inom en iteration) medvetet måste sänkas. Samtidigt måste projektets krav på process och formalia skärpas. Det som kanske är ok under tidiga iterationer (introducera en ändring utan formell change request, checka in kod som inte har reviewats formellt, etc), är inte längre acceptabelt under de sista iterationerna. Alltför ofta försöker projekt göra tvärtom: öka hastigheten och minska på formalian på slutet. Det är ett säkert recept för katastrof.

Huvudet på spiken. Tre självklarheter som glömdes bort i det senaste, större projekt jag var involverad i.

Att arbeta iterativt kan te sig enkelt, men det är en schimär. Det kräver disciplin, mod, ärlighet och ständig självreflektion.

Kommentarer