Utvecklarrollen har blivit roligare
Efter att ha arbetat med agila metoder under ett par års tid tog Hogias produktutvecklare steget över till ständig driftsättning, eller på engelska continuous deployment. Det innebar att ledtiden för varje ny funktion, från utveckling till driftsättning i produktionsmiljö, kunde kapas till en miniminivå. Här berättar Andreas Åsviken, chef för en av Hogias utvecklingsgrupper, om resan dit.
Vi började tidigt arbeta agilt i den gemensamma arkitektur som Hogia Star baseras på. Hogia Star är den plattform som samlar Hogias alla molnbaserade produkter. I stället för att planera en lång period av utveckling bröt vi ned arbetet till tvåveckorsintervaller, så kallade sprintar, som involverade planering, utveckling, testning och leverans. Varje programuppdatering levererades samtidigt till alla kunder i Hogia Star.

Men testerna gjordes manuellt och eftersom fler och fler produkter var integrerade och därmed beroende av varandra, blev kvalitetssäkringsarbetet med tiden väldigt tungrott. Vi utnyttjade heller inte fullt ut det faktum att våra produkter var molnbaserade. Varför skulle vi behöva vänta två veckor med att se varje utvecklingssteg i drift? Vi ville istället ha en process där vi kunde leverera uppdateringar vid vilken tidpunkt som helst. Det skulle göra oss effektivare och höja kvaliteten på vår produktutveckling.

För att komma dit var vi tvungna att automatisera så många processer som möjligt så att tiden från utveckling till driftsättning kunde kortas. Framför allt var vi tvungna att effektivisera hela testförfarandet. I dag har vi lyckats automatisera större delen av alla tester så att de sker automatiskt när en ny kodrad skrivs, eller när en ny funktion byggs. Det är flera tusen tester som körs kontinuerligt. Det hade varit omöjligt att göra manuellt. Om något test fallerar stoppas leverans till kund och ett felmeddelande genereras som kräver manuell kontroll. På så vis kan vi känna oss helt trygga och kan garantera en mycket hög kvalitet på alla uppdateringar som vi levererar.

Det har också påverkat vårt planeringsarbete avsevärt. Tidigare planerade vi för programuppdateringar halvårsvis, men nu kan vi driftsätta en dags utveckling, vilket innebär ett minimalt risktagande. Små förändringar ger små risker.  
Hur har då rollen som utvecklare förändrats? Tidigare tog utvecklarens ansvar slut vid ett så kallat kodstopp och lämnades över till testarna. I dag har utvecklaren ansvaret hela vägen ut till driftsättning i produktionsmiljö. Det är utvecklaren som bestämmer hur de automatiserade testerna ska utformas, för det är ingen annan som bättre förstår vad som inte fungerar i slutändan. Det ställer högre krav på utvecklaren men det har också gjort jobbet mer givande. Att arbeta tätare ihop i gruppen för att säkerställa kvalitet bidrar också till att jobbet som utvecklare har blivit så mycket roligare.