Door een helder proces én efficiënte tools! Iedereen die te maken heeft met softwareontwikkeling kent het spanningsveld tussen business en ICT. Om snel en volgens verwachting te kunnen ontwikkelen zijn nieuwe methoden en principes ontstaan. Agile ontwikkeling van software is steeds vaker het antwoord.
Voordelen als verkorten doorlooptijd, verlagen kosten en flexibiliteit van te ontwikkelen functionaliteit worden middels een Agile aanpak bereikt.
Agile ontwikkelen steunt op principes beschreven in het Agile Manifest (februari 2001). In tegenstelling tot de traditionele ‘waterval’ ontwikkelmethode, gaat Agile uit van de grondbeginselen van iteratief ontwikkelen, waarbij de volgende principes gelden:
Agile ontwikkelen is efficiënter dan ‘traditionele’ methoden, omdat minder programmeertijd nodig is om een product van hogere kwaliteit af te leveren. Aandachtspunten zijn:
Hierboven zijn voor bij het Agile ontwikkelen twee aandachtspunten betreffende kaderstelling genoemd. De literatuur onderkent daarnaast nog enkele andere punten van kritiek:
Om misverstanden te voorkomen is vooral van belang om te bepalen WAT een klant wenst te bereiken en of een Agile ontwikkelmethode daartoe het meest geschikte middel is. Vanuit productperspectief zijn Agile ontwikkelmethoden vooral geschikt naarmate eisen vaag en veranderlijk zijn. Hoewel de meningen in de literatuur variëren, gesteld kan worden dat Agile ontwikkelmethoden minder geschikt zijn voor systemen die aan kritische eisen zoals betrouwbaarheid en veiligheid moeten voldoen. (Bron: Cohen, D., Lindvall, M., & Costa, P. (2004). An introduction to agile methods. In Advances in Computers (pp. 1-66). New York: Elsevier Science.)
Voor de klant is het vervolgens van belang om passende tools bij de methode te bepalen, om een antwoord te geven op HOE klantwensen gerealiseerd gaan worden. De klantkeuze voor een tool wordt daarbij bepaald door randvoorwaarden zoals: gewenste ontwikkelsnelheid, beschikbare (financiële) middelen en vereiste flexibiliteit om de functionaliteit te laten ontwikkelen.
Om misverstanden en meningsverschillen tussen belanghebbenden te voorkomen, valt aan te raden om één duidelijk proces te volgen, waarbij duidelijke regels worden afgesproken om tot expliciete, gedragen beslissingen en geaccepteerde requirements te komen.
Naast de grondbeginselen van iteratief ontwikkelen en basis principes, ontstond sterke behoefte aan concrete handvaten over hoe een dergelijk proces en regels eruit moeten zien. Vanaf 2005 is Scrum populair geworden en heeft het Agile ontwikkelen een impuls gegeven. Scrum is:
De belangrijkste voorwaarden om het pad succesvol te doorlopen, wordt gevormd door een vijftal organisatorische richtlijnen. Deze richtlijnen zijn:
Uitvoering van een scrum traject start met een planningsfase waarbinnen allereerst een visie en doel worden opgesteld. Vervolgens wordt het WAT bepaald door een lijst met requirements op te stellen en van prioriteiten te voorzien. Bij start van een ontwikkeltraject genaamd ‘Sprint’, wordt onderhandeld over de mate van betrokkenheid tussen het ontwikkelteam en de Product Owner. Daarna beginnen de teamleden met het design proces en taken / acties op te stellen. Tijdens de design-fase is het zaak oog te houden voor ontwikkeling van die functionaliteit met hoogste toegevoegde waarde, passend in het grotere geheel en systeem architectuur bij de klant.
In de uitvoeringsfase wordt door het ontwikkelteam in de zogenaamde ‘Sprint Backlog’ een lijst opgesteld met HOE het systeem werkt. Dagelijks wordt tijdens een korte bijeenkomst de voortgang besproken: wat is gedaan, wat moet nog gedaan worden en waar liggen beperkingen. Een overzicht om de voortgang en status per taak inzichtelijk te maken, is daarbij een hulpmiddel. Aan het einde van deze trajecten wordt een checklist gebruikt om de oplevering te controleren.
De reflectiefase is de laatste stap aan het eind van iedere ‘sprint’. De Product Owner en overige stakeholders krijgen van het team een demo van de ontwikkelde software. Afgesloten wordt met een evaluatie van het doorlopen proces, om leerpunten voor een volgende ‘sprint’ te krijgen.
Bovenstaande theoretische beschrijving geeft de klant een oplossing om met name de HOE vraag goed te kunnen beantwoorden. In de praktijk zijn er sinds kort enkele aanbieders met producten welke voorzien in vooral verbeterde communicatie en interactie tussen Business en IT. Hierbij wordt op Facebook lijkende functionaliteit met MS-Project lijkende middelen gecombineerd.
MENDIX biedt met het product SPRINTR (vanaf juni 2011) een tool, om het interactie proces en de communicatie (op basis van Scrum) efficiënt mogelijk te maken. Duidelijke regels kunnen worden afgesproken en vastgelegd. SPRINTR werkt geïntegreerd met de MENDIX ontwikkel tool, maar kan ook stand-alone worden gebruikt. Dit biedt mogelijkheden ook voor andere doeleneinden naast het Agile ontwikkelen van software.
SPRINTR draagt bij aan het verbeteren van diverse processen binnen een ontwikkeltraject:
Dergelijke innovaties op gebied van communicatie-, ontwikkel- en samenwerkingsmogelijkheden staan nog in de kinderschoenen. Voorbeelden zoals SPRINTR en LiquidPlanner, tonen aan dat in de toekomst het Agile ontwikkelen sneller, eenvoudiger en kostenefficiënter wordt. Dergelijke producten zullen daarbij als Social project management tool in de markt worden gezet.
Mede door deze innovaties kan ieder punt van aandacht tot een aanvaardbaar en beheersbaar risico worden teruggebracht. Kortom, de toekomst van Agile ontwikkelen ziet er rooskleurig uit, zonder enig afbreuk te hoeven doen aan de basis principes die ruim 10 jaar geleden zijn bepaald.
Alhoewel Agile ontwikkeling al enige tijd plaatsvindt, een continue terugkerend aandachtspunt vormt de veelal stroef verlopende communicatie om de gewenste requirements zo te bouwen, dat deze voldoen aan de verwachtingen van alle betrokken partijen.
Diverse marktpartijen hebben dit onderkend en hebben (op scrum-basis) innovatieve Social project management oplossingen ontwikkeld, welke zeker de komende jaren hun toegevoegde waarde bewijzen. Naast aandacht voor het te doorlopen ontwikkel proces, worden ook de tools voor software ontwikkeling en communicatie steeds belangrijker en succes bepalend.
Tot slot, uitgangspunt bij de keuze van ontwikkelmethode en gebruikte middelen is dat deze een passende oplossing bieden, waarbij alle requirements naar wens en verwachting van alle betrokken partijen worden opgeleverd.
Er zijn nog geen reacties
Let op: Uw reactie wordt gepubliceerd. Voor privé-reacties kunt u rechtstreeks mailen met de auteur. Voor contact mogelijkheden bekijk het auteur profiel van Peter de Boer
Peter is actief in het werkgebied van Agile applicatie ontwikkeling en procesmanagement. Peter heeft jarenlange ervaring in situaties waarbij ICT en procesoptimalisaties en –inrichting elkaar raken.
Lees Meer in Profiel
Peter_de_Boer: Eerste stranddag is een feit! Lekker met Kate en Dex aan 'to Zuiderstrand Den Haag, heerlijke zon en zee.
Peter_de_Boer: Congratulations on this achievement! http://t.co/H3d0UsDU
Peter_de_Boer: RT @IMfacts: #Agile ontwikkelen: Hoe de brug slaan tussen Business en IT? Lees blog @IMfacts: http://imfacts.nl/i/dt - door P. de Boer v ...
Peter_de_Boer: RT @IMfacts: Warm welkom voor Peter de Boer van @ConspectLive, nwe blogger @IMfacts: http://imfacts.nl/i/ds voor zijn profiel.
Peter_de_Boer: RT @IMfacts: Team IMfacts feliciteert @Conspectlive met nieuwe website - http://www.conspect.nl en is trots op @IMfacts blogpagina: http://con ...