1.3 Agile Projectmanagement en praktijken
Last updated
Last updated
In de jaren 90 had de software-industrie te maken met significante uitdagingen. Ten eerste was het relatief jong, en er waren niet genoeg geschoolde softwareontwikkelaars beschikbaar. Ten tweede vertrouwde de industrie op een strikte projectmanagementbenadering die bekend staat als "waterval". Deze methode gaf prioriteit aan het creëren van uitgebreide lijsten met vereisten, vaak meer voor juridische overeenkomsten dan voor samenwerking met klanten. Dit gebrek aan samenwerking leidde tot wijdverspreid wantrouwen.
Daarnaast verschilde de ontwikkeling van software van de incrementele aanpak die vandaag wordt gebruikt. In plaats van geleidelijke verbeteringen, werd software gecreëerd in grote pakketten. Beschouw software zoals het oude Office 95, met talrijke functies die de meeste mensen niet gebruikten. Het ontwikkelen van dergelijke uitgebreide pakketten nam jaren in beslag en resulteerde vaak in bugs. De Wet van Pareto illustreerde dat slechts ongeveer 20% van de software werd gebruikt, waardoor 80% van de middelen verspild werd.
In de traditionele "waterval" aanpak kon het voltooien van een softwareproject een heel jaar duren zonder enige inbreng van de klant. Echter, met de Agile-aanpak wordt diezelfde software elke maand of tijdens een "sprint" aan de klant geleverd, waardoor vroege feedback en geleidelijke verbeteringen mogelijk zijn. Op deze manier heb je aan het einde van het jaar een succesvolle eindoplossing.
Het Agile ontwikkelingsproces omvat verschillende sleutelpraktijken. Ten eerste is er de "product backlog," die een lijst is van gewenste functies en taken voor het hele jaar. Vervolgens heb je voor elke maand een "sprint backlog," die een lijst is van dingen om aan te werken tijdens die maand. De Agile cyclus vindt regelmatig plaats, meestal elke twee weken of een maand, zoals beslist door het team, en het omvat stappen zoals plannen, ontwerpen, ontwikkelen, testen en het vrijgeven van de software. Deze cyclus blijft zich herhalen, waarbij elke sprint put uit de sprint backlog, en het leidt tot de levering van het eindproduct.
Verschillende methoden en benaderingen kunnen worden gebruikt om op een Agile manier te werken. Ze volgen allemaal de principes en waarden waar we het eerder over hadden.
Enkele bekende Agile frameworks in softwareontwikkeling omvatten Scrum, Kanban, Hybride, Lean, Bimodaal, XP, en Crystal. Daaronder is Scrum de meest gebruikte.