Er zijn vele methoden om automatiseringsprojecten succesvol te leiden en bedrijfsapplicaties te ontwikkelen. Waarom zou men voor Appstorming kiezen als er ook andere methoden, zoals Scrum, op de markt zijn? Hier doe ik onderzoek naar tijdens mijn afstudeerscriptie voor de opleiding Business IT & Management aan de Hogeschool Rotterdam en ik neem jullie mee op mijn ontdekkingsreis middels deze blogreeks.

Appstorming is een nieuwe methodiek, maar nog niet breed ingezet. Het is nog onvoldoende in de praktijk toegepast en getest. Appergine heeft mij daarom gevraagd om een een onderzoek en analyse uit te voeren waaruit moet blijken of Appstorming inderdaad beter werkt dan bestaande methoden. Een analyse waaruit blijkt welke zwakke en sterke punten Appstorming in zich heeft en waar punten ter verbetering liggen. 

In deze blog zal ik jullie een kijkje geven in de wereld van bestaande software ontwikkelmethoden en Appstorming. Want wat zijn dit nou eigenlijk?

Appstorming

Appstorming is een methode om bedrijfsapplicaties te realiseren. Bij deze methode beschrijven de stakeholders het te automatiseren bedrijfsproces aan de hand van verschillende kleuren post-its. Er wordt gebruik gemaakt van post-its omdat dit een laagdrempelig hulpmiddel is om een te automatiseren bedrijfsproces in kaart te brengen. Het in kaart brengen van een bedrijfsproces lukt vaak niet in één keer. Het is daarom fijn dat een post-it niet permanent is, de post-its kunnen verplaatst en verschoven worden totdat de belanghebbenden zich in het proces herkennen.

Elke Appstorm bestaat uit een aantal vaste fases. Allereerst wordt er een Exploratory Appstorm uitgevoerd. Tijdens de Exploratory Appstorm definiëren de stakeholders een tijdlijn van Business Events die zich voordoen tijdens hun proces, dit doen zij met post-its. Na de Exploratory Appstorm zal er een normalisatie en een refinement plaatsvinden. Tijdens de normalisatie zal het in kaart gebrachte proces worden gemodelleerd in de ontwikkeltool van Appergine. Er wordt een verwerkbare versie van het proces gemaakt. Daarna kan er overgegaan worden op de Refinement. Tijdens de refinement worden alle artefacten die nodig zijn toegevoegd. Een artefact is alles wat gemaakt wordt om een stuk software te kunnen ontwikkelen.

Na de Exploratory – en Refinement Appstorm is het proces volledig in kaart gebracht en kan er begonnen worden aan het bouwen van de applicatie. Als de applicatie af is zal er een demo & evaluatie gehouden worden met de klant. De applicatie wordt tijdens deze meeting getest en de puntjes worden op de i gezet. Wanneer het project is afgerond, zal er intern een Review Meeting plaatsvinden. Tijdens deze meeting zal er besproken worden hoe de kwaliteit en de effectiviteit verhoogt kan worden in toekomstige projecten.

Geen alternatieve tekst opgegeven voor deze afbeelding

Andere software ontwikkelmethoden

Er zijn verschillende software ontwikkelmethoden op de markt. Uit onderzoek (Assembla en Usersnap, 2016) blijkt welke ontwikkelingsmethodieken er op dit moment het meest worden ingezet.

Geen alternatieve tekst opgegeven voor deze afbeelding

In dit onderzoek worden Agile en Scrum afzonderlijk van elkaar genoemd, maar eigenlijk is Agile de benaming van een overkoepelende iteratieve stroming. Daarnaast wordt in een derde van de projecten Feature-driven development gebruikt. Dit is ook een iteratieve methode, evenals Kanban- en leanmethoden. In een kwart van de projecten wordt het klassieke watervalmodel gebruikt. Hieruit kan opgemaakt worden dat iteratieve softwareontwikkeling de standaard is en dat daarnaast waterval ook nog regelmatig gebruikt wordt. Om deze reden is er gekozen om onderzoek te doen naar twee softwareontwikkeling methoden, Scrum en Waterval. De belangrijkste principes van deze methodieken zullen hieronder uiteengezet worden.

Scrum

Scrum is een framwork van Agile. Scrum is de bekendste en het meest gebruikte framework. Scrum is een procesraamwerk waarbinnen mensen complexe, adaptieve problemen aanpakken en tegelijkertijd op een productieve en creatieve wijze producten opleveren met de hoogst mogelijke waarde. Scrum is geen vastgelegde methode, proces of techniek. Scrum is een raamwerk waarbinnen verschillende processen en technieken ingezet kunnen worden. Het maakt de relatieve doeltreffendheid van product management en werktechnieken inzichtelijk en zorgt dat het product, het team en de werkomgeving continue verbeterd worden. Het raamwerk van Scrum bestaat uit Scrum Teams met bijbehorende rollen, gebeurtenissen, artefacten en regels. 

Fases

Binnen elk Scrum project wordt er gewerkt met Sprints. Een Sprint wordt gezien als het hart van Scrum en is een vaste tijdsperiode van twee tot vier weken waarbinnen een Increment, een potentieel uitgeefbaar onderdeel van het eindproduct, wordt gecreëerd. Een nieuwe Sprint start direct nadat de vorige Sprint is afgesloten. Sprints bestaan uit een Sprint Planning, een Daily Stand-up, een Sprint Review en een Sprint Retrospective.

Geen alternatieve tekst opgegeven voor deze afbeelding

Waterval

De watervalmethode is de meest klassieke vorm van softwareontwikkeling. In deze methode wordt achtereenvolgens, als in een waterval, door de verschillende fases van het softwareontwikkelingsproces heen gegaan. De watervalmethode kent de volgende stappen:

• Definitie & analyse (doel);

• Basisontwerp (wat);

• Technisch ontwerp (hoe);

• Bouw & implementatie;

• Testen;

• Integratie;

Bij de watervalmethode kan er niet aan de volgende fase worden begonnen voordat de voorgaande fase is afgesloten. Wanneer er een fout wordt ontdekt in een eerdere fase, gaat men terug naar die fase om de fout te corrigeren en de daaropvolgende stappen zullen opnieuw uitgevoerd worden.

In deze blog heb ik jullie een inkijk gegeven in de wereld van de Appstorm-, Scrum- en watervalmethode. Bij Appstorming wordt er eerst een Exploratory Appstorm gehouden gevolgd door een Refinement Appstorm. Daarna wordt de applicatie gebouwd en bij afronding van het project vind er een Review Meeting plaats. Binnen de Scrum methodiek wordt er gewerkt met Sprints waarbinnen een Increment wordt gecreëerd. Deze Sprints bestaan uit een Sprint Planning, een Daily Stand-up, een Sprint Review en een Sprint Retrospective. Bij de watervalmethode wordt achtereenvolgens, als in een waterval, door de verschillende fases van het softwareontwikkelingsproces heengegaan.

In mijn volgende blog zal ik ingaan op de meest voorkomende knelpunten in softwareontwikkeling methoden.