En process man måste igenom

tunnel-20180_640

Vissa saker kommer naturligt, vissa kräver åtgärder.

Vi led under en period av att kvaliteten på den kod som vi släppte till produktionsmiljön inte höll tillräckligt hög kvalitet. Efter att diskuterat detta, kom vi fram till att en av anledningarna var att utvecklarna gjorde alltför stora ändringar ändra fram till release. Ändringarna hade ibland oförutsedda bieffekter i andra delsystem, vilket ledde till buggar och ärenden och fler än en gång till Teamet behövde patcha systemet mellan ordinarie installationer.

För att få bukt med detta, införde vi finessfrys – en bestämd tidpunkt då releasebranchen stängs för ytterligare finesser (men mindre buggfixar är fortfarande okej). Efter finessfryset går det också i regel bra att på allvar regressionstesta systemet.

Vi gjorde finessfryset till en social grej också: hela Teamet bjöds in till köket på glass.

Effekten av denna åtgärd blev omedelbar: de nästkommande releaserna fungerade mycket bättre, även om det tog ett tag för hela Teamet att förstå poängen med ändringen. Viss funktionalitet fick skjutas på, men det var ändå att föredra framför osäkerheten som en instabil installation medförde.

Nu till poängen:

Att ha ett finessfrys är givetvis emot idén om att hela tiden ha ”potentially shippable software”. Men för oss var det en nödvändig åtgärd för att se till att vi kunde höja kvaliteten. Vi gjorde detta för över ett år sedan, och sedan dess har vi haft möjlighet att i mycket större utsträckning jobba med kvalitet, i både systemet och i metodiken. Medvetenheten i Teamet är mycket högre idag om varför man inte vill göra ändringar alltför nära release.

Idag skulle vi säkert utan problem kunna ta bort finessfryset; det är på sätt och vis ett verktyg som har spelat ut sitt syfte. Men det vill vi inte. Vi vill fortsätta äta glass.