Nieuwsbrief april 2009
De keuze voor een ontwikkelmethode voor een website of webapplicatie hangt af van veel factoren. Bij eenvoudige projecten met stabiele requirements kan de watervalmethode prima werken. Voor projecten met complexe technologie, of waar veel wijzigingen in requirements te verwachten zijn, kan agile testing een goede keuze zijn.
Eén van de uitgangspunten van de watervalmethode is dat fouten vroeg worden ontdekt en relatief voordelig te herstellen zijn. Er wordt veel gedocumenteerd zodat het eindresultaat voor de klant en leverancier duidelijk is. De meest voorkomende fasen zijn de analysefase, ontwerpfase, bouwfase, testface, integratiefase en de beheer en onderhoud fase.
Deze methode vereist dat alle betrokken partijen goed begrijpen wat er in de verschillende fasen gedocumenteerd wordt. Vooral bij webapplicaties is veel documentatie dermate uitvoerig, technisch of complex, dat deze door de klant vaak niet helemaal begrepen wordt. De eerste ‘echte’ opleveringen zijn pas laat in het project, dus feedback kan ook pas laat gegeven worden. Projecten die via de watervalmethode worden aangepakt hebben bovendien ook vaak te kampen met veranderende interne en externe omstandigheden, vooral bij projecten met een lange doorlooptijd. Requirements of doelstellingen kunnen hierdoor gedurende het project veranderen.
Een flexibele aanpak kan aanzienlijk in kosten en doorlooptijd schelen, met een eindresultaat van hogere kwaliteit. De agile methode kan deze flexibiliteit bieden. 'Agile' vertaalt zich naar 'lenig' of 'behendig'. Agile methodes zijn een reactie op processen die er in theorie goed uitzien maar in de praktijk vaak hun beloftes niet waarmaken.
Eén van de meest kenmerkende verschillen tussen de watervalmethode en de agile methode, is de wijze waarop de onderdelen van de website worden opgeleverd. Bij traditionele ontwikkeling werk je aan alle onderdelen tegelijkertijd. Bij agile ontwikkeling wordt er slechts aan één onderdeel gewerkt. Dit wordt gedaan door middel van korte iteraties, vaak van slechts enkele weken. Aan het eind van de iteratie wordt er iets bruikbaars vrijgegeven en ontvangt de leverancies feedback van de klant en/of eindgebruikers.
Feedback wordt dus veel eerder ontvangen. Op basis van de feedback en veranderende omstandigheden wordt bepaald aan welke onderdelen in de volgende iteratie worden gewerkt. De te bouwen functionaliteit wordt meestal kort beschreven in een requirement of user story. De functonaliteit wordt voorzien van een (ruwe) inschatting en een prioriteit. Dit wordt gedaan door een unieke business value getal toe te kennen, waarbij een hoger getal een hogere prioriteit aangeeft. Omdat omstandigheden en doelstellingen voortduren veranderen, wordt de onderlinge prioriteit continu bijgesteld. Bij de start van elke iteratie wordt de functionaliteit die op dat moment de hoogste prioriteit heeft gekozen.
De agile methode kan een serieus alternatief zijn voor traditionele manieren van ontwikkelen. Je kunt binnen minder tijd meer klanttevredenheid bereiken door een website op te leveren die beter op de wensen van de klant aansluit.
Bron
Inhoud: