Winkelmand

Geen producten in de winkelwagen.

Wat je moet weten over: Agile Software Development

Laatst bijgewerkt: 12-11-2020 08:22:42

Persbericht - Stel je voor... Een klant benadert je omdat hij graag wil dat jouw bedrijf een nieuw stukje software voor hem gaat ontwikkelen. Blij met de potentiële opdracht die hieruit kan komen ontmoet je de man en laat hem (in het beste geval) een vragenlijst invullen om zo een beter idee te krijgen over wat hij precies wil. Aan het einde van de meeting spreken jullie samen af wanneer het project af moet zijn...

Eenmaal terug op kantoor geef je je development team de informatie die het nodig heeft zodat zij direct aan het project kunnen beginnen. Het team verzamelt de benodigde gegevens, maakt een schema met producteisen en tussentijdse deadlines en begint vol goede moed aan het project. Helaas, al gauw komen de eerste tegenvallers; een deel van de ontwikkelde code blijkt een fout te bevatten en die moet nu eerst worden gevonden voordat het team verder kan. Je informeert de klant over de vertraging en deze geeft aan door te willen gaan ondanks de latere einddatum.   

Gaandeweg zorgen eerdere tegenslagen voor een domino-effect waardoor de ontwikkeling van de overgebleven functionaliteiten en vereisten steeds verder opschuift. De klant is inmiddels redelijk gefrustreerd, wat ook wel te begrijpen valt. Het team voelt de stijgende druk en haast zich om het project zo snel mogelijk af te krijgen waarbij er hier en daar wat dingen over het hoofd worden gezien. 

Dit veroorzaakt vervolgens weer problemen voor het kwaliteitsteam. Zij moeten nu ook haast maken en missen daardoor verschillende fouten en aanpassingen. Wanneer de software eindelijk aan de klant wordt geleverd is de kwaliteit matig en komt het eindproduct niet overeen met de eisen die in eerste instantie waren gesteld. Tot overmaat van ramp zijn je software ontwikkelaars ontevreden en zitten ze inmiddels tegen een burnout aan, wat betekent dat een aantal van hen zeker op zoek zal gaan naar het spreekwoordelijke groenere gras.

 

(Agile) Software Ontwikkeling

En? Klinkt dit je bekend in de oren? Zo ja, dan zou het goed kunnen dat jouw bedrijf agile software development nog niet helemaal onder de knie heeft. Misschien dat jullie werken met lineaire processen die zichzelf elke 2 tot 3 weken herhalen. Dat lijkt wellicht wel wat op agile software ontwikkeling, maar is het zeker niet. Zeker, het is een proces dat software bedrijven eenvoudig kunnen implementeren, maar het is geen optimale oplossing en je krijgt er dus ook niet de beste kwaliteit software voor je klanten mee.  

Wat je wil hebben is een duidelijk zichtbare en flexibele methode; een proces waarbij mensen exact weten waar zij aan toe zijn en waarbij jouw software ontwikkelaars hun producten van meet af aan kunnen testen. Je wil in een positie zitten waarbij je, zelfs als een klant je op het allerlaatste moment nog vraagt om iets aan te passen, je dat zonder problemen kunt doen. Zonder daarmee je hele development team overspannen te maken. Dat is, in een notendop, waar het bij de agile methode om draait.

 

Een Stukje Agile Geschiedenis

Zo rond het millennium, toen de wereld zich realiseerde dat het einde toch nog niet nabij was, kwam een groep prominente software ontwikkelaars bij elkaar in een chalet. Allemaal hadden zij hetzelfde opgemerkt; met de toenemende toegankelijkheid van het internet en computers groeide ook hun gebruikers aantallen en dat wat mensen wilden kunnen doen met hun computers. Samen stelden zij een Handvest op: het Agile Manifesto.

Tegelijkertijd zorgde de opkomst van de mobiele (smart) telefoon ervoor dat mensen nu letterlijk vanuit hun broekzak konden computeren. Al gauw werd het onze software experts daar in hun chalet duidelijk dat de conventionele manier van software ontwikkelen binnen no-time achterhaald zou zijn en dat er zo snel mogelijk een nieuwe methode moest worden gevonden. Zij realiseerden zich eveneens dat veel bedrijven het belang van hun werknemers niet voorop stelden en zodoende voorbij gingen aan het feit dat hun personeel de drijvende kracht achter innovatie, productiviteit en de kwaliteit van de software was.

 

Het Agile Manifesto

De 14 Beginselen van het Handvest zijn als volgt (de tekst is niet veranderd sindsdien en is een fragment van de originele Agile Manifesto website die in 2001 is opgericht).

  1. Onze hoogste prioriteit is het tevreden stellen van de klant door een tijdige en continue levering van kwaliteitssoftware.
  2. Sta open voor veranderende vereisten, zelfs laat in het ontwikkelingsproces. Agile methodes gebruiken verandering om daarmee een competitief voordeel voor de klant te creëren.
  3. Lever regelmatig goed werkende software, van eens in de zoveel weken, tot eens in de zoveel maanden, met een voorkeur voor de kortste periode.
  4. Mensen van de business kant en developers moeten dagelijks samenwerken tijdens het project.
  5. Bouw projecten om gemotiveerde individuen heen.
  6. Geef hen de omgeving en de support die ze nodig hebben en vertrouw erop dat zij de klus geklaard krijgen.
  7. De meest efficiënte en effectieve manier om informatie over te brengen binnen een team van software developers is via een face-to-face gesprek.
  8. Werkende software is de eerste maatstaf voor vooruitgang.
  9. Agile processen promoten duurzame software ontwikkeling. 
  10. De sponsors, developers en gebruikers moeten in staat zijn om voor onbepaalde tijd een constant tempo vast te houden.
  11. Continue aandacht voor uitstekende techniek en een goed ontwerp verbetert de flexibiliteit.
  12. Eenvoud – de kunst van een zo groot mogelijke hoeveelheid onaf werk creëren – is essentieel.
  13. De beste architecten, eisen en ontwerpen komen van zelfsturende teams.
  14. Het team denkt regelmatig na over hoe het efficiënter kan worden en past zich daarna, waar nodig, zelf aan. 

Zoals je ziet spreken deze beginselen niet over gestructureerde processen en zelfs niet over manieren om problemen op te lossen. Het handvest is een verzameling normen en waarden binnen een organisatie met een sterke nadruk op het menselijke element en ons vermogen om te communiceren en samen te werken. Het behalen van de doelen voor elk project is stapsgewijs en leent zich dus uitstekend voor flexibiliteit. Maar het belangrijkste is toch wel het feit dat de wensen van de klant op elk moment gedurende het proces in aanmerking kunnen worden genomen.  

 

Agile Worden

‘Super,’ zul je nu wel denken, ‘maar hoe kan ik nu het agile gedachtegoed binnen mijn bedrijf of team introduceren?’. Je zou kunnen beginnen met uit te leggen aan alle betrokkenen wat precies de voordelen van een agile manier van werken zijn. Vergeet daarbij vooral ook niet het menselijke aspect te noemen en hoe belangrijk het welzijn van werknemers en teams is.  

Zodra iedereen enthousiast is, kun je bespreken waarom jij denkt dat jullie op een agile manier moeten gaan werken en hoe deze methode jullie helpt om jullie doelen te bereiken. Er zijn verschillende methodes en technieken die hierbij gecombineerd en aangepast kunnen worden. Als je meer wil weten over hoe je agile kunt gaan werken, kijk dan naar Scrum en Kanban, twee van de meest gebruikte methodes. 

 

Onze Ervaring

De agile methode bestaat inmiddels al meer dan 16 jaar, we kunnen dus niet meer spreken van een tijdelijke trend. Bij Gapstars zijn wij al vanaf het begin een groot voorstander van agile software development: een filosofie die ervoor zorgt dat software sneller kan worden ontwikkeld, met meer flexibiliteit en een nauwere samenwerking met de klant. De agile methode heeft er niet alleen voor gezorgd dat wij als bedrijf flexibeler zijn geworden, het geeft ons ook de ruimte om de mensen die hard aan de projecten werken de waardering te geven die ze verdienen. Wij blijven altijd nadenken over manieren om nog efficiënter te communiceren zodat aanpassingen en verbeteringen sneller door de pijplijn stromen – en vervolgens dus naar onze klanten. Maar het belangrijkste voor ons is toch wel het feit dat wij de wensen of last-minute veranderingen van onze klanten probleemloos kunnen doorvoeren, ongeacht hoe ver het project al gevorderd is.