Agile is Engels voor lenig. Het woord wordt gebruikt voor een ontwikkelingswijze van software. Die werkwijze wordt steeds vaker toegepast. Waarom is dat en waarom zou u die werkwijze gebruiken? Op die vragen gaan we in dit artikel in.
De traditionele werkwijze
De traditionele manier van software-ontwikkeling is gefaseerd. Eerst wordt op papier gezet, wat er ontwikkeld gaat worden. De klant speelt daarbij een essentiƫle rol. Die weet in globale termen aan te geven waarvoor de software is bedoeld, maar is vaak niet in staat om dat in detail te doen. Bij een werkend voorbeeld kan een klant wel zeggen of dat is wat is gewenst. Bij een lang ontwikkeltraject kan het zijn, dat die wensen in de tussentijd veranderen. De traditionele werkwijze weet daar niet goed mee om te gaan. Die werkt het beste als volledig duidelijk is, wat moet worden ontwikkeld en dat wensen niet tussentijds veranderen. Dan weet elke ontwikkelaar die betrokken is bij het project, wat er wordt verwacht en is de onderlinge afstemming tussen ontwikkelaars geen benoemd onderdeel van de werkwijze.
Een agile werkwijze
Bij een ‘lenige’ werkwijze wordt in korte tijd een werkend systeem ontwikkeld, dat aan de klant kan worden getoond. Een team dat aan een project werkt is klein en een frequente onderlinge communicatie tussen de leden is een vast onderdeel van de werkwijze. Die hebben allemaal een inbreng, waarbij het team profiteert van de individuele bijdrage van ieder lid. De klant geeft een terugkoppeling op wat wordt getoond en het ontwikkelingteam verwerkt die. De cyclus van de terugkoppeling verwerken en het resultaat aan de klant tonen, herhaalt zich diverse keren. Met de huidige ontwikkelgereedschappen is die werkwijze gemakkelijker toe te passen dan vroeger. Zo wordt een hoge mate van flexibiliteit bereikt. Scrum is een invulling van die werkwijze en daar gaan we in de volgende paragraaf op in.
Scrum
De naam Scrum komt van een onderdeel van het rugbyspel. Daarbij is teamwerk heel belangrijk en dat geldt ook voor de Scrum ontwikkelmethode. Bij voorkeur werken alle leden van een multidisciplinair team in dezelfde ruimte. Een dagelijks groepsoverleg waarbij de leden staan, is typerend voor Scrum. Men werkt in zogenaamde sprints aan een systeem. Na elke sprint, die kort is zoals de naam al aangeeft, wordt een werkend systeem aan de klant getoond.