Thursday 13 September 2007

Fly in Agile

Agile event (hype of werkelijkheid)

Agile is een cultuur, een gedachtengoed dat de samenwerking, opleiding, kwaliteit en werklust moet verbeteren. Het is geen methode zoals XP, SCRUM, RUP, DSDM, SDM of waterval. Maar Agile kan binnen al die methoden worden gebruikt.

Agile manifesto
In 2001 is het Agile manifesto gemaakt, dat bestaat uit de volgende 4 punten:
  • Individuen en samenwerking; boven processen en methoden
  • Werkende software; boven uitgebreide documentatie
  • Klantsamenwerking, boven contractonderhandelingen
  • Reageren op verandering, boven een uitgestippeld plan
De rechterkant heeft veel waarde, maar we waarderen de linker kant meer.

Wat er vooraf ging
  • 1940 Deming circle
  • 1957 Mercury project NASA (XP)
  • 1970 Waterfall
  • 1976 EVO
  • 1993 SCRUM
  • 1995 DSM
  • 1995 RUP
  • 1996 XP
Software ontwikkeling
Vanuit programmeurs en technici is Agile ontstaan, een programmeur kent veel werkdruk, heeft contact met de klant, moet documentatie leveren en als er iets mis gaat is hij het bokje. Een stressvol bestaan dus.

Even een paar puntjes uit de praktijk:
  • Klanten weten pas wat ze willen als de applicatie is opgeleverd (denk actielijsten, FO-discussies et cetera).
  • Veel details binnen de programmatuur komen naar voren bij het programmeren, hoe goed je ook ontwerpt.
  • Mensen kunnen maar een maximale complexiteit aan.
  • Er komt binnenkort weer een nieuwe verandering aan.
Binnen Agile draait het om de mens en niet om de code of de documentatie. Agile gaat om samenwerking in een team, er komen geen orders van team en projectleiders, deze dicteren niet maar geven richting. Een Agile ontwikkelaar streeft naar perfectie, reflectie en aanpassing; maar zo goed mogelijke software, bekijk wat je hebt gemaakt en pas aan waar nodig.

Hoe moeten we Agile juist toepassen?
  • Autoriseer team. Een team moet voldoende beslissingsmogelijkheden hebben om vlot te kunnen werken.
  • Elimineer afval, functies en zaken die niet worden gebruikt worden verwijderd.
  • Heb 100% vertrouwen in je team.
  • Versneld leren, de minst bekwame persoon doet de moeilijkste opdrachten (pair programming)
  • Vrijheid van zaken in een team. Geen bureaucratie of papieren rompslomp.
  • Agile moet je agile aanpakken.
Beloften
Agile maakt een paar beloften. Agile is echter niet zaligmakend.
  • Sneller time to market
  • Toename in productiviteit
  • Toename in kwaliteit
  • Betere creaties
  • Betere integratie IT en business
  • Betere klanttevredenheid
  • Hoge betrokkenheid medewerkers
Doel
Doel is niet het opleveren van het systeem maar om een succesverhaal op te leveren voor de klant.