Agile

In het Agile Manifesto wordt onderstaande omschrijving gebruikt:
Nieuwe manieren van samenwerking zijn aan het ontstaan, deze nieuwe aanpakken werken beter dan de traditionele methodieken. Het manifest bevat vier statements die de gemeenschappelijke waarden van deze nieuwe aanpakken aangeven:

   
Mensen en InteractiebovenProcessen en Tools
Werkende softwarebovenUitgebreide documentatie
Samenwerken met de klantbovenContractonderhandelingen
Inspelen op veranderingenbovenHet volgen van een plan

Elk van deze statements bevat het verbindingswoord ‘boven’. Dit geeft een dat de rechterkant van de statements belangrijk is, maar dat de linkerkant nog belangrijker is. Agile gaat niet alleen  over het leveren van software, het geldt voor alle soorten projecten. Net zoals PMBoK is Agile een raamwerk waarbinnen je verschillende methodieken, zoals Scrum, RUP en bijvoorbeeld eXtreme Programming kunt toepassen.

Agile 4 P's

Agile[1] filosofie

Projecten zijn gericht op duidelijk omgeschreven strategische doelen. De focus ligt op een vroege levering van de echte benefits voor het bedrijf. Om succesvol te zijn, moet er aan onderstaande voorwaarden zijn voldaan:

  • Key stakeholders begrijpen de business doelstellingen;
  • empowerment op het juiste niveau;
  • samenwerken om de juiste oplossing te leveren;
  • tijdige levering, volgens de business prioriteiten;
  • stakeholders zijn bereid om een fit-for-purpose oplossing te leveren;
  • acceptatie dat verandering onvermijdelijk is.

Agile Project lifecycle

Agile principes

Agile kent acht principes (volgens DSDM/Atern) die de filosofie ondersteunen. Deze principes:

  • Markeren de houding en mentaliteit die het team nodig heeft;
  • ieder principe is even belangrijk, afbreuk doen aan één van de principes ondermijnt de filosofie en introduceert risico;
  • de toepassing van alle principes zorgt voor maximaal benefit;
  • gezamenlijke principes stellen organisaties in staat om gezamenlijk de beste oplossingen te bieden.

De acht principes zijn:

  
Principe 1Focus op de zakelijke behoefte
Principe 2Tijdige levering
Principe 3Samenwerken
Principe 4Nooit afbreuk doen aan de kwaliteit
Principe 5Stapsgewijs bouwen op een stevige fundering
Principe 6Ontwikkel iteratief
Principe 7Communiceer continu en duidelijk
Principe 8Toon controle

Agile in meer algemene zin kent twaalf principes (Agile Consortium):

  
Principe 01:Onze hoogste prioriteit is het tevredenstellen van de klant door het vroegtijdig en voortdurend opleveren van waardevolle software.
Principe 02:Verwelkom veranderende behoeftes, zelfs laat in het ontwikkelproces. Agile processen benutten verandering tot concurrentievoordeel van de klant.
Principe 03:Lever regelmatig werkende software op. Liefst iedere paar weken, hooguit iedere paar maanden.
Principe 04:Mensen uit de business en ontwikkelaars moeten dagelijks samenwerken gedurende het gehele project.
Principe 05:Bouw projecten rond gemotiveerde individuen. Geef hen de omgeving en ondersteuning die ze nodig hebben en vertrouw erop dat ze de klus klaren.
Principe 06:De meest efficiënte en effectieve manier om informatie te delen in en met een ontwikkelteam is door met elkaar face-to-face te praten.
Principe 07:Werkende software is de belangrijkste maat voor voortgang.
Principe 08: Agile processen bevorderen duurzame ontwikkeling. De opdrachtgevers, ontwikkelaars en gebruikers moeten een constant tempo eeuwig kunnen volhouden.
Principe 09: Voortdurende aandacht voor technisch meesterschap en een goed ontwerp versterken agility.
Principe 10: Eenvoud, de kunst van het maximaliseren van het werk dat niet gedaan wordt, is essentieel.
Principe 11:De beste architecturen, eisen en ontwerpen komen voort uit zelforganiserende teams.
Principe 12: Op vaste tijden, reflecteert het team hoe het effectiever kan worden en past vervolgens zijn gedrag daarop aan.

De Agile-principes zijn met name gericht op het zelforganiserende (ook wel: zelfsturende) team. De Atern-principes zijn meer gericht op het project als geheel.

Wat onderscheid een Agile project van een traditioneel project?
  • Korte iteraties: tijdens iedere iteratie (van 2 tot 4 weken) wordt een deel van de software (work item) geanalyseerd, ontworpen, ontwikkeld, getest, geaccepteerd en opgeleverd. Iteraties zijn getimeboxt en lopen nooit uit. Iedere iteratie kent dezelfde opbouw: starten, realiseren en evalueren en vormen de ruggengraat van het project;
  • samenwerkende teams: de verschillende rollen werken niet na elkaar, maar met elkaar in multidisciplinaire teams;
  • kleine werkpakketten: tijdens iedere iteratie wordt een gedeelte van de software opgeleverd. Hierdoor zijn de werkpakketten klein, maar zijn er veel nodig;
  • omgaan met veranderingen: Agile projecten spelen in op veranderingen en gaan er van uit dat verandering onvermijdelijk is;
  • voortdurend plannen en meten: omdat Agile met korte iteraties werkt kan er voortdurend worden gemeten en gepland. Zo kan er steeds tijdige worden ingespeeld op veranderingen in scope, de werkwijze of het team;
  • vroeg en voortdurend testen: hoe eerder er getest wordt hoe minder inspanning er nodig is om fouten te herstellen. Omdat iteraties work item voor work item opleveren, wordt al heel vroeg gestart met testen;
  • vroeg en frequent opleveren: gedurende iedere iteratie worden alle activiteiten uitgevoerd om het work item op te leveren. Van analyse, ontwerp, ontwikkeling, testen, acceptatie naar oplevering in één iteratie;
  • co-locatie: teams werken op één locatie, het liefst bij de klant en de eindgebruikers van de software. Dit maakt snelle en eenvoudige communicatie mogelijk.

Agile versus Traditional

 

De Agile-organisatie

Naast het Manifesto voor Agile Software Ontwikkeling is er ook het Manifesto voor Agile Organizations. Dit manifest kent vier statements, oftewel onderstaande waarden:

   
Stable teamsoverSourcing
PrioritizingoverPlanning
Outcomeover Output
ProductsoverProjects

De vier stappen om te komen tot een Agile-organisatie zijn een afgeleid van deze waarden:

  
Stap 1:De inrichting van stabiele teams
Stap 2:Prioritering van het werk
Stap 3:Leg de nadruk op effectiviteit, de juiste dingen doen zodat werkelijk waarde wordt geleverd
Stap 4:Borging in de organisatie, de groei naar het (waarde)ketenteam dat een product realiseert

 

 


[1] Referentiemateriaal: Agile Project Management Handbook | Agile Project Management trainingsmap Oppidum | The Agile PMO – Leading the Effective, Value Drivenement Office | RUP op maat; Agile ICT met RUP, Scrum en PRINCE2 | Agile Project Management with Scrum | Dit is Agile | Managen van Agile projecten | Agile: pocketguide voor wendbare organisaties | Agile Project Management with Kanban | Scrum | Scrum: a pocketguide | De kracht van Scrum | Scrum in action