Agile ontwikkelproces
Agile ontwikkelproces
iASSET wordt ontwikkeld door een team dat werkt met het Agile framework Scrum.
De belangrijkste doelstellingen voor deze keuze zijn:
-
betere kwaliteit leveren (minder incidenten levert minder verstoring op voor ons ontwikkelproces);
-
beter aansluiten bij de vraag van onze opdrachtgevers;
-
voorspelbaarder worden in het inschatten van levertijden.
Een uitgangspunt van Agile werken is dat het onmogelijk is een vaste functionaliteit tegen een vaste prijs in een vaste tijd te leveren.
Vaak wordt dit wel beloofd maar loopt de tijd uit de hand of wordt het beloofd en gehaald maar is er te veel betaald en ruimte ingebouwd voor uitloop. Onze nieuwe aanpak is om tijd en prijs vast te leggen en vervolgens flexibel om te gaan met de geleverde functionaliteit. Om te zorgen dat het product in ieder geval het meest waardevolle doet, worden de wensen en incidenten van al onze klanten geordend op prioriteit.
De afweging die deze prioriteit bepaalt is tussen de meerwaarde (‘Business value’) en de relatieve kosten (‘Estimated Cost’). De business value is een lastige, gevoelsmatige afweging. Hierbij spelen bijvoorbeeld de volgende factoren een rol:
-
Hoeveel gebruikers kunnen hierdoor niet / beter werken met iASSET?
-
Kunnen ze dan iets nieuws of levert het tijdwinst op?
-
Heeft de functionaliteit waarde in commerciële zin?
-
Zijn er andere wensen die op basis van deze wens (beter) gebouwd kunnen worden?
-
Zijn er afgesproken deadlines?
Hardere limieten zoals uitval van infrastructuur of functionaliteit en afgesproken deadlines krijgen een hoge prioriteit zonder deze afwegingen te maken.
De resulterende prioriteiten van geplande ontwikkelingen worden bijgehouden in onze roadmap. Dit document is voor iedereen te bekijken en als je een Trello account hebt of aanmaakt kun je commentaar leveren op de taken.
Onze workflow
De workflow van een incidentmelding of ontwikkelwens tot acceptatie door de opdrachtgever (of interne klant) is als volgt.
-
Ontvangst ticket door helpdesk.
-
Volledig omschrijven als een incident of ontwikkelwens¹.
-
Dan prioritering² in balans met alle andere wensen en incidenten.
-
Planning in een tweewekelijkse cyclus, de sprint.
-
Uitvoering en testen.
-
Release in een maandelijkse cyclus of bij urgente incidenten direct in productie.
-
Acceptatie door de opdrachtgever (of interne klant).
¹ Issue types
We kennen de volgende ‘issue types’:
Ontwikkeling
Een gewenste functionaliteit die nog niet in iASSET zit. Deze wordt beschreven met een User Story
Verbetering
Een bestaande functie van iASSET die verbeterd moet worden, bijvoorbeeld om de applicatie consequenter of beter begrijpelijk te maken. Deze wordt meestal ook beschreven met een User Story.
Implementatie
Het invoeren van een aanpassing in gegevens of het toevoegen van data of foto’s in een domein op verzoek van de client. Het kan een betaalde dienst zijn.
Incident
‘Onverwacht gedrag’ dat gebruik van een functie van iASSET bemoeilijkt of onmogelijk maakt. Hiervoor wordt onderstaand incident sjabloon gebruikt.
- Wat deed ik
- Wat gebeurde er
- Wat wil ik met het resultaat en wanneer wil ik het
Urgente taken
De Helpdesk pakt urgente tickets onmiddellijk op vóór andere meldingen. Het probleem wordt na controle van het geconstateerde in een taak verwoord en zo snel mogelijk ingepland; de eerstvolgende vrije programmeur pakt het dan op. Urgent betekent dat het systeem of bepaalde functies niet werken, dat er niet kan worden ingelogd of gewerkt, bijvoorbeeld door een groep van medewerkers op locatie.