Vroeger was softwareontwikkeling een tijdrovend en bureaucratisch proces, uitgevoerd volgens een strak, vooraf bepaald stappenplan. Maar tegenwoordig veranderen niet alleen de mogelijkheden op het gebied van software aan de lopende band, ook bedrijven hebben continu met verandering te maken. Of dit nu verandering is binnen het bedrijf of erbuiten, het is belangrijk dat de gebruikte software hierin mee verandert. Daarom wordt software tegenwoordig steeds vaker ontwikkeld volgens de agile methode. Maar wat is agile softwareontwikkeling precies? En waarom gebruiken we het?
Wat agile niet is
De vraag wat agile niet is, is misschien wel net zo belangrijk als de vraag wat het wel is. Hier ontstaat namelijk nogal eens verwarring over. Bij agile denk je al snel aan een methode waarbij er tijdens actieve stand up meetings op post-its wordt geschreven. Om deze reden zullen verkopers van post-its je dan ook graag vertellen dat je voor agile werken hun post-its nodig zult hebben. Schoenmakers maken je wellicht wijs dat juist comfortabele schoenen belangrijk zijn. En consultants zeggen dat alleen zij je de agile methode van softwareontwikkeling kunnen aanleren. Dit is echter niet waar agile in de essentie over gaat.
Maar wat is agile dan wel?
Het gebruik maken van bijvoorbeeld stand-up meetings of post-its zijn op zichzelf niet agile, zij helpen teams slechts om agile te kunnen werken. Agile is namelijk een overkoepelende term voor verschillende waarden en principes om beslissingen te maken binnen het traject van softwareontwikkeling. Hierbij staat de behoefte van de klant centraal en wordt er continu ingespeeld op veranderingen die zich voordoen. Hiermee is agile een flexibel, efficiënt en klantvriendelijk alternatief voor de trage, bureaucratische en statische manier van softwareontwikkeling van vroeger. Agile kenmerkt zich door vier kernwaarden en twaalf onderliggende principes die staan beschreven in de blauwdruk voor de agile softwareontwikkelingsmethode: het Agile Manifesto.
De voordelen van agile softwareontwikkeling
Agile softwareontwikkeling brengt verschillende voordelen met zich mee. Voordelen voor de softwareontwikkelaar, maar bovenal voor de eindgebruiker. De belangrijkste voordelen zijn uit onze ervaring samen te vatten in de volgende zes punten.
Hogere klanttevredenheid
Het centraal stellen van de klant is een belangrijk principe binnen agile. Het project wordt opgedeeld in korte iteraties en klanten worden hier actief bij betrokken. Na elke iteratie krijgen klanten namelijk de mogelijkheid het systeem te testen waarna zij hier feedback op kunnen geven. Door klanten het systeem continu te laten testen en hun feedback te verwerken, wordt er samen met de klant toegewerkt naar een systeem dat voldoet aan al hun wensen en verwachtingen.
Hogere efficiency
Door agile te werken wordt het proces van softwareontwikkeling efficiënter doorlopen. Het proces wordt opgedeeld in meerdere kleine projecten waardoor teams te maken hebben met duidelijke en gezamenlijke kortetermijndoelstellingen. Door hier als team dagelijks samen aan te werken, wordt de productiviteit binnen het team gestimuleerd, zo leert de praktijk.
Meer flexibiliteit
Een belangrijk principe binnen agile is het inspelen op veranderingen die zich voordoen. Deze veranderingen kunnen betrekking hebben op de wensen van klanten of eindgebruikers, maar ook op de markt in het algemeen. Als team is het belangrijk om veranderingen te zien als kansen die waarde kunnen toevoegen in plaats van obstakels die dienen te worden vermeden. Dit zorgt voor een flexibele mindset bij het team en voor een product dat bij de lancering niet al direct achterhaald is.
Beter beeld van de voortgang
Door het proces van softwareontwikkeling op te delen in verschillende kleine projecten kan er meer duidelijkheid worden geboden aan de klant met betrekking tot de opleverdatums. Hierdoor krijgt niet alleen het team zelf een duidelijk beeld van de voortgang van het proces, maar ook de klant.
Minder risico
Het managen van risico’s is geen “onderdeel” van agile. Agile ís risicomanagement. Door te werken in korte iteraties en klanten continu om feedback te vragen en dit te verwerken, verminder je als team het risico dat het uiteindelijk ontwikkelde systeem niet aan de wensen van de klant voldoet.
Betere kwaliteit
Uiteindelijk is het uiteraard belangrijk dat het opgeleverde systeem van hoge kwaliteit is. Binnen agile softwareontwikkeling werken testers en ontwikkelaars al vanaf het begin van het proces samen wat het kwaliteitsbesef binnen het team vergroot. Dit zorgt er namelijk voor dat het idee gaat leven dat je als team verantwoordelijk bent voor de kwaliteit van het ontwikkelde systeem. Daarnaast zorgt de samenwerking met de klant ervoor dat verbeterpunten sneller naar boven die vervolgens verholpen kunnen worden. Ook dit zal de uiteindelijke kwaliteit ten goede komen.
Agile zijn is belangrijk; ook buiten softwareontwikkeling
Agile is dus van zeer grote waarde binnen softwareontwikkeling. Daarom wordt dit ook al sinds 1988 toegepast binnen DSE Software. Echter beperkt de waarde van agile zich niet tot softwareontwikkeling alleen, zeker in deze tijd waarin maatschappelijke ontwikkelingen grote uitdagingen meebrengen voor veel organisaties. Het is belangrijk gebleken om flexibel en wendbaar te zijn en in te kunnen spelen op veranderende omstandigheden; een kernwaarde binnen agile en iets waar wij onze klanten bij DSE Software graag bij helpen. Met onze perfect passende software zorgen wij dat de wereld om ons heen flexibel en wendbaar is en blijft.