Wat is er zo geweldig aan Agile? Een inleiding op Agile Methodology

Agile Definieer als Agile Management Systemen die al een tijdje bestaan, maar de afgelopen tijd valuta hebben gewonnen. Agile Management is zelfs consequent te vinden in de Top Project Management Trends van bijna elk IT Project Management blog elk jaar.

De toepassingen van Agile in IT-gebaseerde projecten zijn onbetwist, omdat het niet alleen in IT-softwareprojecten wordt gebruikt, maar ook in productontwikkeling en innovatie.

Dus wat is er zo geweldig aan Agile? Vraag het werknemers die zijn overgestapt van een traditioneel systeem naar Agile, en ze kunnen klagen over de constante vergaderingen en 'vergaderingen over vergaderingen'.

Blijkt dat Agile veel meer is dan alleen vergaderingen en feedback. Het richt zich op het versterken van teams en het verwijderen van opeenvolgende manieren van projectontwikkeling, zodat er meer flexibiliteit en innovatie is. Hoewel dit vaker vergaderingen en resultaten betekent dan met traditionele systemen, betekent dit ook dat er minder kans is op iteraties en veranderingen later aan in de projectcyclus.

Het wordt aangeprezen als de remedie voor veel voorkomende problemen die IT-gerelateerde projecten teisteren. Wat is het precies en hoe is het beter dan traditionele systemen?

Behoefte aan Agile Methodology - Management practices

Iedereen die heeft gewerkt aan agile-methodologie in softwareontwikkelingsprojecten, zal enig idee hebben van enkele van de gebruikelijke problemen die zich voordoen tijdens een project: verandering in reikwijdte, deadlines die onmogelijk te halen zijn en overwerkte middelen.

Traditionele agile-methodieken in projectmanagement hadden veel nadelen waardoor ze niet konden omgaan met de steeds veranderende zakelijke omgeving, vooral bij softwareontwikkeling, en de bovengenoemde situaties kwamen helaas maar al te vaak voor. Dit wil niet zeggen dat traditionele methoden nergens van toepassing zijn. Ze zijn nog steeds de beste gok voor projecten waarin het idee vanaf het begin volledig is gevormd.

Agile Management-praktijken werden de behoefte van het uur omdat ze voldeden aan de volgende behoeften van een product dat werd gelanceerd in een dynamische omgeving:

  • Behoefte aan snelheid om het product op de markt te brengen
  • Behoefte aan flexibiliteit om tegemoet te komen aan meerdere wijzigingen in specificaties
  • Gebreken in het scenario 'arbeidsverdeling'
  • Dilemma van de klant
  • Behoefte aan kostenreductie

Nood aan snelheid om het product op de markt te brengen:

We leven in een snelle omgeving waar flexibiliteit en snelheid de sleutel zijn tot succes.

Technologie is een van de snelst veranderende sectoren in de industrie. Elke minuut is er een nieuw idee, product of innovatie. In deze context levert de traditionele projectmanagementbenadering niet op. Een sequentieel project is noodzakelijkerwijs afhankelijk van de stappen van de agile methodologie die naar tevredenheid worden voltooid. Tijdlijnen in traditioneel beheerde projecten zijn altijd een twistpunt.

Organisaties en teams die niet dynamisch zijn, verliezen de race aan diegenen die zichzelf aanpassen aan de veranderende omgeving.

Behoefte aan flexibiliteit voor meerdere wijzigingen in specificaties:

De verwachtingen en vereisten van klanten veranderen vaak tijdens de productontwikkeling. Voordat Agile Management Systemen mainstream waren, mislukten projecten in IT vaak omdat het traditionele projectbeheersysteem werd gebouwd om "door te ploegen". Als er wijzigingen waren, voelden klanten vaak de knel in hun portemonnee of tijdlijn. Het traditionele projectmanagementmodel, aangepast van andere industrieën, werkte gewoon niet voor een dynamische industrie zoals IT.

Arbeidsverdeling:

In het traditionele model zijn er verschillende fasen, te beginnen met de analyse van systeemvereisten en leidend tot productrelease en onderhoud. Dit resulteert in taakverdeling en labelling van de leden als 'ontwerpers', 'programmeurs' of 'testers'. Maar in werkelijkheid zijn de middelen van vandaag uiterst crossfunctioneel en is een duidelijk onderscheid tussen rollen in de meeste projecten niet haalbaar.

Dilemma van de klant:

In vluchtige projecten weten klanten vaak niet helemaal zeker wat hun eindproduct, met alle specificaties, moet zijn. Functionaliteiten en vereisten veranderen vaak naarmate het werk wordt voltooid. Traditionele modellen zoals het Waterfall-model benadrukken duidelijkheid met betrekking tot het eindproduct en afwijkingen in plannen leggen een enorme stress op het systeem. Dit brengt ons bij de laatste factor die heeft geleid tot de ontwikkeling van Agile-systemen.

Behoefte aan kostenreductie:

Traditioneel werden wijzigingen in de eisen op elk moment nadat het project was gestart, afgeraden. De kosten voor een extra component waren eerder hoog, soms zelfs onbetaalbaar. Het was daarom noodzakelijk om alle mogelijke scenario's in de planningsfase zelf op te nemen. Dit betekende dat alle scenario's werden overwogen en een oplossing werd voorgesteld. Maar omdat het bijna onmogelijk is om zeker te weten welk deel van het product de voorkeur van de gebruiker heeft, ontwikkelden teams vaak 'opgeblazen versies' van een product. Dit bevatte alle mogelijke scenario's, waarvan een gemiddelde gebruiker niet meer dan 20% zou gebruiken. Dit resulteerde in onnodige kosten en ontwikkeling.

Onnodig te zeggen dat dit betekende dat alle projecten een globale planning hadden.

En toen er een geheel nieuw ongepland scenario ontstond, waren er hoe dan ook extra kosten, ondanks alle planning.

Een groep mensen kwam in februari 2001 bijeen om precies dit te bespreken: de behoefte aan een flexibel en wendbaar model voor softwareontwikkeling dat heeft geholpen bij het ontwikkelen van producten die daadwerkelijk voor de klant en de ontwikkelaar werkten. Wat resulteerde was het "Agile Manifesto", wat voordelen was van de ontwikkeling van Agile Methodology-software, dat wil zeggen een set van vier principes die even eenvoudig zijn als beschrijvend. Twaalf "Agile-principes" die toelichten hoe Agile-systemen daadwerkelijk zouden werken in een projectomgeving, werden ook ontwikkeld.

Door dit werk zijn we gaan waarderen:

  • Individuen en interacties over processen en tools
  • Werkende software via uitgebreide documentatie
  • Samenwerking met klanten boven contractonderhandelingen
  • Reageren op overstappen volgens een plan

Dat wil zeggen, hoewel de items aan de rechterkant waarde hebben, waarderen we de items aan de linkerkant meer.

De 12 Agile Principles

De 12 Agile Principles zijn een aantal leidende concepten achter het Agile Manifesto die projectteams ondersteunen bij het implementeren van Agile Projects. Zij zijn:

  1. Onze hoogste prioriteit is om de klant tevreden te stellen door vroege en continue levering van waardevolle software.
  2. Verwelkoming van veranderende eisen, zelfs in de late ontwikkelingsfase. Agile-methodiek verwerkt veranderingsprocessen voor het concurrentievoordeel van de klant.
  3. Lever werkende software regelmatig, van een paar weken tot een paar maanden, met voorkeur voor de kortere tijdsschaal.
  4. Mensen uit het bedrijfsleven en ontwikkelaars moeten dagelijks gedurende het project samenwerken.
  5. Bouw projecten rond gemotiveerde individuen. Geef ze de omgeving en ondersteuning die ze nodig hebben en vertrouw erop dat ze de klus klaren.
  6. De meest efficiënte en effectieve methode voor het overbrengen van informatie naar en binnen een ontwikkelingsteam is een persoonlijk gesprek.
  7. Werkende software is de primaire maatstaf voor vooruitgang.
  8. Agile methodologieprocessen bevorderen duurzame ontwikkeling. De sponsors, ontwikkelaars en gebruikers moeten voor onbepaalde tijd een constant tempo kunnen aanhouden.
  9. Continue aandacht voor technische uitmuntendheid en goed ontwerp verbetert de wendbaarheid.
  10. Eenvoud - de kunst van het maximaliseren van de hoeveelheid werk die niet is verricht - is essentieel.
  11. De beste architecturen, vereisten en ontwerpen komen voort uit zelforganiserende teams.
  12. Op regelmatige tijdstippen overweegt het team hoe het effectiever kan worden, stemt het vervolgens af en past zijn gedrag dienovereenkomstig aan.

Voorbeeld van een project dat Agile Management nodig heeft

Stel je een startup voor die een mobiele app voor een klant ontwikkelt. Bevriezing van het hele applicatieontwerp voordat de ontwikkeling begint, kan rampzalig zijn. Er is ook beperkte tijd om het marktonderzoek uit te voeren, een gedetailleerd plan op te stellen, te beslissen welke varianten ze willen aanbieden en vervolgens het product te ontwikkelen. Naast de enorme kosten die deze aanpak met zich meebrengt, lopen ze het risico dat een ander bedrijf de app zou ontwikkelen voordat ze dat doen.

Agile methodiek in projectmanagement helpt deze problemen te overwinnen. Onder dit systeem wordt de app in fasen ontwikkeld, met elke dag klantinteractie en bijvoorbeeld voor elke week te leveren resultaten of projectmijlpalen.

Meerdere teams kunnen ook aan dezelfde app werken, zodat de ontwikkeltijd drastisch wordt verkort.

Functionaliteiten worden bij elke vergadering verfijnd en het eindproduct weerspiegelt de uiteindelijke behoefte. Ze leren stap voor stap wat voor de klant werkt en improviseren het aanbod tot ze het gewenste product krijgen.

In de traditionele benadering van projectmanagement zou men aan alle revisies denken voordat het product wordt vrijgegeven. Dit zou leiden tot gemiste deadlines, verhoogde werkdruk en kosteninflatie. Bovendien kan het product zijn relevantie volledig verloren hebben op het moment van release.

Hoe werkt Agile Management precies?

Hoewel Agile Management meestal een IT-concept wordt genoemd, is het gebruik ervan niet beperkt tot de IT-industrie. Zo heeft ketenkledingketen Zara de principes van Agile Management gebruikt om zijn bedrijf te transformeren.

Met Agile-principes produceerde Zara producten in kleine batches in plaats van zich te concentreren op grote productie voorafgaand aan het nieuwe seizoen. Het bedrijf vermeed de kosten met betrekking tot hoge voorraad en onvoorspelbare kortingsaanbiedingen met deze methode.

Enkele van de belangrijkste aspecten van Agile Project Management zijn:

  • Agile Project Management volgt een flexibele aanpak.

Agile Management verwelkomt toevoegingen en wijzigingen tijdens de productontwikkeling in plaats van deze te conformeren aan de originele specificaties.

  • Agile-projecten zijn meestal verdeeld in afzonderlijke stukken werk, waarbij teams betrokken zijn bij het ontwikkelen van een of meer van deze "stukjes" werk.

Het is dus mogelijk om bijvoorbeeld vier teams tegelijkertijd aan verschillende delen van een project te laten werken, zodat projecttijdlijnen worden verkort. Teams coördineren dagelijks met elkaar en met de klant voor te leveren producten.

  • Er zijn dagelijkse vergaderingen over de voortgang of wegversperringen in het project met constante feedback.

Na feedback van klanten te hebben ontvangen, worden de wijzigingen verwerkt en gaan de teams door naar het volgende stuk. Dit proces blijft een product leveren dat dynamischer is en beter geschikt is voor de behoeften van de klant.

  • Er is een grotere betrokkenheid van de teamleden in plaats van een top-downbenadering.

Binnen de Software Development Life Cycle zijn teamleden betrokken bij alle fasen: vereisten, ontwerp, ontwikkeling en flexibele methodologietesten. Omdat er regelmatig overzicht is van taakefficiëntie, passen de teamleden het gedrag en de procedures dienovereenkomstig aan.

  • Het profiel van de projectmanager in een Agile-project verandert van een traditionele rol.

Hij / zij besteedt niet langer veel tijd aan het plannen of monitoren van middelen, maar besteedt nu meer tijd aan samenwerking met teams en zorgt ervoor dat het algemene beeld altijd in zicht is. Dit is geen gemakkelijke overgang en managers die overstappen op Agile-systemen moeten zich snel aanpassen om het project te laten slagen.

Een paar woorden over Scrum:

Scrum is een van de populairste kaders voor de implementatie van de Agile-methodologie. Wat is Agile Methodology? Het dateert van voor Agile en werd voor het eerst voorgesteld in 1986 en geïmplementeerd in de automobiel- en printerindustrie.

Agile-methodologie met scrum is niet synoniem; er zijn andere frameworks die kunnen worden gebruikt om Agile te implementeren, maar Scrum is een van de meest effectieve en waarschijnlijk de meest populaire. Wat is scrum? Meestal heeft Scrum slechts drie rollen: Producteigenaar, Team en Scrum-master. De Scrum-methodologiemaster is geen projectmanager. De verantwoordelijkheden van een traditionele projectmanagerrol zijn verdeeld over de drie Scrum-projectmanagementrollen. Het project is ingebouwd in een reeks iteraties met een vaste lengte die sprints worden genoemd. Het succes van elke behendige methodologische sprint geeft een gevoel van tastbare vooruitgang en voortdurende inspiratie. Het doel van elke iteratie is om een ​​werkend product te produceren dat aan de belanghebbenden kan worden aangetoond. De scrummaster van de agile methodiek werkt samen met de producteigenaar en het team om de verwezenlijking van doelen te vergemakkelijken door wegversperringen te verwijderen. Het ontwikkelingsteam van Agile-methodieken is crossfunctioneel en omvat naast ontwikkelaars testers, ontwerpers en ops-ingenieurs.

Traditioneel projectmanagement: de waterval

Een van de meest prominente traditionele projectbeheersystemen is de waterval. Het werd vaak gebruikt sinds de jaren 1970. Er zijn verschillende bekende en breed geïmplementeerde watervalmethodologieën in IT-projecten. Deze omvatten PRINCE2, gecreëerd door de Britse overheid voor haar publieke sector.

Net zoals de naam doet vermoeden, is het een sequentiële workflow. Het eindproduct wordt vastgesteld aan het begin van het project. Vervolgens worden de verschillende fasen van de workflow in volgorde voltooid (conceptinitiatie, analyse, ontwerp, constructie, testen, implementatie en onderhoud). Zodra de vorige stap is voltooid, gaan de ontwikkelaars door naar de volgende stap. Het projectplan moet onfeilbaar zijn; Zodra een fase in de reeks is voltooid, kunnen de ontwikkelaars niet hetzelfde opnieuw bezoeken zonder helemaal opnieuw te beginnen. Het is een statische benadering van agile methodologie in Project Management. Er is geen ruimte voor wijzigingen of fouten en het agile methodologie projectplan moet nauwgezet worden gevolgd.

Een analogie kan worden getrokken tussen Waterfall Management en het schilderen van een meesterwerk. Het beeld van het laatste meesterwerk is al in het hoofd van de kunstenaar en hij werkt er gestaag naar toe. Als het eindproduct om welke reden dan ook verschilt van wat hij visualiseerde, kan hij het niet gemakkelijk wijzigen.

Agile of Waterfall?

  • Wat is Agile? Agile is meer geschikt voor kleine teams die werken aan incrementele en evolutionaire projecten, terwijl Waterfall geschikt is voor grote schema's of ontwikkelingsprojecten. Watervalbeheer is wellicht beter geschikt voor industrieën zoals de bouwsector. Agile wordt gebruikt in meer dynamische projecten zoals die van de IT-industrie.
  • Agile-systemen vereisen zeer bekwame teamleden die alle fasen van het project aankunnen. Het vereist een dramatische verschuiving in de rol van een projectmanager. Het watervalproces is op een meer traditionele manier gestructureerd, is lineair en is misschien gemakkelijker te begrijpen voor niet-ontwikkelaars en degenen die nieuw zijn bij softwareontwikkeling.
  • Veel organisaties vinden de Waterfall-methodologie geruststellend, omdat deze beter is gedocumenteerd. Agile staat erom bekend dat het niet de nadruk legt op uitgebreide documentatie. Het is meer afhankelijk van mensen, wat ongemakkelijk kan zijn in organisaties waar het uitvalpercentage hoog is.
  • Kleinere eenvoudige projecten vereisen mogelijk geen Agile-methodiekraamwerk en een sequentieel Waterfall-model kan net zo goed werken.

Waar gaat dit allemaal heen?

Agile ontwikkelingsmethodologie is goed voor meer dan tweederde van alle IT-projecten in de VS, volgens een onderzoek van HP in mei 2015.

Maar Agile is niet altijd de 'perfecte' oplossing. Het is geen 'one-fits-all'-oplossing en daarom hebben veel organisaties (24% volgens de HP-enquête) nu een hybride aanpak.

Een hybride van Agile en Waterfall-methoden zou de voordelen van beide kunnen benutten. Deze hybride aanpak zou kunnen werken voor gecompliceerde projecten met externe klanten en grote teams. Deze aanpak is beschreven door Erick Bergmann en Andy Hamilton. Het is een compromis tussen de twee methoden, waardoor softwareteams 'agile' kunnen werken, terwijl hardware-ontwikkelingsteams en productmanagers de traditionele methode gebruiken.

Mark Fromson, een digitale consultant wijst op een andere manier waarop een hybride kan werken:

Het project opsplitsen in watervalachtige fasen om een ​​contract met vaste bieding en een gedefinieerde scope binnen een kleinere fase mogelijk te maken, maar het project als geheel vloeibaar te houden.

Ongeacht de vorm die toekomstige teams zullen aannemen, is het duidelijk dat de ontwikkeling van Agile-methodes hier moet blijven. Het heeft gezorgd voor flexibiliteit, tijd- en kostenvoordelen, samen met de belangrijkste factor: het geven van een gevoel van tevredenheid en een motiverende sfeer aan de mensen die aan deze projecten werken.

Bron:

Voor Agile Manifesto en The 12 Agile Principles- www.agilemanifesto.org

Verwante Cursussen:-

Agile Project Management - Leer Agile-methodieken