Valtech Labs

Statusrapport från Talangprogrammet – var ligger värdet i sprint 0?

Talangprogrammet har som mål att under våren 2013 utveckla en webbapplikation för att hantera konsultprofiler och projektbeskrivningar. Syftet med applikationen är att lättare kunna matcha profil mot förfrågningar samt förbättra kommunikationen av profiler till kund. Visionen är att kunden via en unik länk skall kunna ta del av en eller flera konsultprofiler som är relevanta utifrån krav och önskemål. Genom att tillämpa regler för innehållet i beskrivningarna och konsultprofilerna förmedlas en enhetlig bild som kunderna känner igen sig i och sidorna kan utformas så att de blir tillgängliga även från mobila enheter. Projektet omfattar även att tillgodose behov hos konsultchef och säljare för smidig navigering och anpassning av profilerna, samt single sign on-funktionalitet för att hantera diverse säkerhetsaspekter.

Projektet är igång och har redan genomgått sin första iteration, sprint 0. Veckan innan hade vi varit på en intern dragning om agil utveckling med Marcus Ahnve så alla var med på noterna när vi satte igång med vår sprintplanering. Tillsammans med vår produktägare tog vi fram en backlog med user stories, som sedan delades upp i tasks som tidsuppskattades och sattes upp på vår scrum-board, jämte vår Burn-up chart. Allt för att skapa oss en realistisk bild av vad vi skulle hinna åstadkomma och upprätthålla en översikt över vad som görs under sprintens gång.

Sprintplanering

Bild: Stories delas upp i tasks, som tidsuppskattas

I ett tidigt skede bestämde vi oss för att sätta upp en byggserver med separata byggen för att kompilera kod, köra enhetstester, driftsätta sidan och köra integrations-tester. Vi såg även till att automatisera processen för att få upp utvecklingsmiljön lokalt via ett powershell-skript som hämtar alla paket som krävs och bygger projektet lokalt med ett enda knapptryck. Vår förhoppning är att denna automatisering, tillsammans med en omfattande och strukturerad samling enhetstester, kommer att underlätta överlämning till förvaltning i framtiden.

All kod versionshanteras med git och vid varje push till vårt repo på github så triggas byggena på byggservern, vars status visas i realtid på en skärm i projektrummet. Vi får extremt korta feedback-loopar på våra ändringar och sättet vi konfigurerat våra byggen på gör att sidan driftsätts endast om enhetstesterna går igenom. Genom detta underlättas felsökning, vi åstadkommer en kontinuerlig integration av projektets olika komponenter och vi försäkrar oss om att den senaste fungerande versionen av sidan alltid finns tillgänglig via byggservern.

På fredagen den 1 februari hade vi vår första demo, då vi visade upp denna arkitektur. Åskådarna visade stor uppskattning över hur smidigt det var att komma igång och arbeta med vårt arbetsflöde. Att skapa en klon av repot och köra byggskriptet lokalt går på några sekunder, sedan är det bara att öppna utvecklingsmiljön, skapa tester för den önskade funktionaliteten, implementera tills testerna går igenom och sedan skicka tillbaka ändringarna till repot, så triggas bygget på servern där ändringarna testas i produktionsmiljö och produktionssätts direkt om testerna går igenom. Efter produktionssättningen triggas integrationstester som testar databasuppkopplingar och kör selenium-tester, allt för att kunna åtgärda brister så tidigt som möjligt.

Genom att investera tid i en inledande fas av projektet till att automatisera uppsättandet av utvecklingsmiljön och sätta upp en byggserver så eliminerar vi moment som annars skulle stjäla tid under arbetets gång. I kombination med agila metoder och testdriven utveckling säkerställs kvalitet och effektivitet i projektet.