Het incrementplan dient als plan van aanpak voor de komende iteratie. Het beschrijft de activiteiten die in de iteratie zullen worden uitgevoerd en welke rollen verantwoordelijk zijn voor de uitvoering van deze activiteiten, inclusief de bemensing. Daarnaast bevat het de lijst van te realiseren use cases, user interface diagrammen en acceptatiecriteria voor het increment.Een iteratie beslaat drie delen. Tijdens de planning wordt vastgesteld welke requirements worden gerealiseerd tijdens de iteratie. Vervolgens wordt, in sub-iteraties over ontwerp en bouw, deze requirements ontworpen en gerealiseerd. Tenslotte wordt de iteratie afgerond, het increment geaccepteerd en overgedragen tijdens de invoering. Tijdens de planning wordt vastgesteld hoeveel tijd aan ieder van deze drie delen wordt besteed. Hiermee wordt voorkomen dat tot op de laatste dag van een iteratie functionaliteit wordt toegevoegd. DoelHet incrementplan wordt opgesteld om de activiteiten in een iteratie te kunnen beheersen. Bovendien geldt het als acceptatiedocument bij oplevering van het increment, aan het eind van een iteratie. Stappen- Maken incrementplanSmart kent een eenvoudige template voor het invullen van een incrementplan. De template bevat standaard een globaal overzicht met activiteiten die worden uitgevoerd tijdens de iteratie, gebaseerd op het systeemontwikkelproces van de methode. Pas deze lijst eventueel aan op de behoeften van het project.Ook voor de op te leveren producten bevat de template een overzicht. Deze lijst kan worden uitgebreid, bijvoorbeeld met projectspecifieke producten of te hanteren richtlijnen, standaarden en eventuele gereedschappen die gebruikt worden bij de realisatie van deze producten.
- Vaststellen acceptatiecriteria incrementBepaal globaal de acceptatiecriteria waarop de producten in het increment technisch en functioneel geaccepteerd worden. Stel deze acceptatiecriteria meetbaar en eenduidig op.
- Vastleggen planning iteratieBeschrijf de verdeling van de tijd in de iteratie over de drie delen van de iteratie. In een iteratie van zo'n zes weken wordt bijvoorbeeld een dag uitgetrokken voor de planning van de iteratie, vier weken voor het ontwerpen en bouwen van de functionaliteit, en de resterende negen dagen aan het afronden van het increment.Leg de samenstelling van het team vast dat betrokken is bij de uitvoering van het increment en voer de personele bezetting van de rollen in het team in.
- Vastleggen te realiseren use casesGeef in de bijlagen een overzicht van de te realiseren use cases en user interface diagrammen. Maak bovendien een lijst van alle non-functional requirements waaraan in deze iteratie aandacht wordt besteed. De template voor het incrementplan biedt hiervoor standaard paragrafen.Identificeer per use case de gebruikersvertegenwoordigers die gerelateerd zijn aan de use case. Deze relaties zijn terug te vinden als actors in de use case diagrammen. Samen met de projectsponsor zijn deze verantwoordelijk voor de uiteindelijke acceptatie van het increment.
- Verkrijgen akkoordLaat het incrementplan voor akkoord tekenen door gebruikersvertegenwoordigers en projectsponsor.
RichtlijnenIndelen iteratieStel bij de start van een iteratie vast hoeveel tijd wordt gebruikt in ieder van de drie delen van de iteratie. In een iteratie van zes weken kan bijvoorbeeld een dag voor planning worden uitgetrokken, vervolgens vier weken en vier dagen voor ontwerp en bouw en tenslotte een week voor invoering. Zorg ervoor dat het toevoegen van functionaliteit ook daadwerkelijk stopt als de tijd voor ontwerp en bouw om is. Ga niet door met het toevoegen van nieuwe functionaliteit totdat de tijd van de iteratie op is. Dit is riskant. Acceptatie van het incrementIn het incrementplan worden de acceptatiecriteria voor het increment vastgelegd. Tijdens de fase invoering wordt het incrementplan dan ook gebruikt als acceptatiedocument waaraan getoetst kan worden of datgene is opgeleverd dat was afgesproken.Het werken in timeboxes impliceert echter dat niet altijd alle functionaliteit aan het einde van een iteratie is gerealiseerd. Alhoewel dit per definitie de minst belangrijke functionaliteit is, is het goed hierover zo tijdig mogelijk te communiceren met gebruikersvertegenwoordiger en de projectsponsor. | |