Evo – Evolutionary Project Management Een introductie
Algemene informatie voor medewerkers van SYSQA B.V.
Organisatie Titel Onderwerp
SYSQA B.V. Evo – Evolutionary Project Management Een introductie
Pagina Versie Datum
2 van 10 1.1 12-4-2011
Inhoudsopgave 1.
INLEIDING ...............................................................................................................................3
2.
EVO .........................................................................................................................................4
3.
FASERING...............................................................................................................................5
4.
KENMERKEN ..........................................................................................................................6 4.1. 4.2. 4.3. 4.4. 4.5.
SPECIFICATIE ....................................................................................................................6 PROJECTMANAGEMENT ......................................................................................................6 ONTWERP .........................................................................................................................7 TESTEN .............................................................................................................................7 CONFIGURATIEMANAGEMENT..............................................................................................8
5.
EVO EN ANDERE METHODES...............................................................................................9
6.
LITERATUURVERWIJZINGEN .............................................................................................10
Almere © 2006
Quality Assurance in ICT
Organisatie Titel Onderwerp
SYSQA B.V. Evo – Evolutionary Project Management Een introductie
Pagina Versie Datum
3 van 10 1.1 12-4-2011
1. Inleiding De traditionele systeemontwikkelmethodes zoals SDM I, SDM II en LAD hebben, zo bleek in de praktijk, een aantal nadelen. Zo wordt de fasering als rigide ervaren, is de doorlooptijd vaak langer dan gewenst, zijn de kosten hoog en is de gebruikersparticipatie te laag. Ook worden relatief grote risico’s opleverende activiteiten, zoals de integratie van modules en een load test, pas in een laat stadium uitgevoerd. Als gevolg hiervan zijn er aan het einde van de 20e eeuw een aantal systeemontwikkelmethodes ontstaan die tegemoetkomen aan deze tekortkomingen. De methodes worden gekenmerkt door een hoge gebruikersparticipatie en het incrementeel en iteratief ontwikkelen. Met dit laatste wordt bedoeld dat er meerdere ontwikkelrondes na elkaar plaatsvinden. In plaats van ernaar te streven in één keer het systeem te bouwen worden meerdere versies gemaakt en steeds verbeterd en verfijnd. Deze methodes staan bekend als Iterative and Incremental Development (IID). Verwant aan IID zijn de zogenaamde ‘agile’ methodes, waarbij ‘agile’ staat voor ‘snel en flexibel reagerend op veranderingen’. Deze agile methodes zijn behalve iteratief (en incrementeel) ook gebaseerd op evolutionaire ontwikkelmethodes. Daarnaast speelt flexibiliteit een grote rol, het vermogen om het systeem tijdens de ontwikkeling snel aan te passen aan veranderende eisen. Agile ontwikkelmethodes zijn dus iteratief, evolutionair en flexibel.
Almere © 2006
Quality Assurance in ICT
Organisatie Titel Onderwerp
SYSQA B.V. Evo – Evolutionary Project Management Een introductie
Pagina Versie Datum
4 van 10 1.1 12-4-2011
2. Evo Evo staat voor Evolutionary Project Management en is misschien de oudste IID-methode. De methode werd al ontwikkeld in de jaren 60 van de vorige eeuw en werd voor het eerst gepubliceerd in 1976. Daarmee is Evo te zien als een voorloper van de agile ontwikkelmethodes (iteratief, evolutionair en flexibel), met al wel duidelijke agile kenmerken. Binnen de groep van agile methodes is Evo minder bekend dan Scrum, XP en UP. Evo is een IID-methode waarbij de nadruk vooral ligt op: · Korte iteratiestappen (1-2 weken), met evolutionaire oplevering in elke stap; · Evolutionaire eisen en evolutionair ontwerp; · Adaptieve planning gericht op de klant of op kosten; · Kwantificering van de opbrengsten en de voortgang; · Kwantificering van alle kwaliteitseisen; · Optioneel gebruik van een eigen taal, Planguage, voor de specificaties. Bij Evo ligt de nadruk op het duidelijk definiëren, kwantificeren, schatten en meten van de performance van het te ontwikkelen systeem. Performance omvat kwaliteitskenmerken zoals betrouwbaarheid, capaciteitskenmerken zoals de hoeveelheid verricht werk en efficiëntiekenmerken zoals bespaarde kosten. Elke oplevering wordt systematisch op deze performance-kenmerken beoordeeld. Die gestructureerde aanpak en de nadruk op performance-kenmerken is een uniek kenmerk van de Evo-methode. De Evo-methode kan toegepast worden op de ontwikkeling van systemen in het algemeen, niet alleen op de ontwikkeling van software. Maar software-projecten zijn een veel voorkomend toepassingsgebied van Evo. De basis van Evo ligt bij pionier Tom Gilb, die het gebruik van een iteratieve, lichte en adaptieve benadering van ontwikkelmethodes al decennia geleden propageerde. In 1976 publiceerde hij hierover voor het eerst en in 1988 verscheen zijn handboek ‘Principles of Software Management’ [2] over evolutionaire en iteratieve processen.
Almere © 2006
Quality Assurance in ICT
Organisatie Titel Onderwerp
SYSQA B.V. Evo – Evolutionary Project Management Een introductie
Pagina Versie Datum
5 van 10 1.1 12-4-2011
3. Fasering Evo bestaat uit vier fasen: Strategisch Management, Ontwikkeling, Productie, Oplevering. De fasen Productie en Ontwikkeling zijn optioneel en zij lopen parallel aan de fase Oplevering. Het geheel is een cyclisch proces en elke fase kan meerdere iteratiestappen omvatten. In de eerste fase, Strategisch Management, worden doelen gedefinieerd, wordt bekeken welke oplossingen klaar zijn voor oplevering en wordt bepaald wat de eerstvolgende oplevering is. De beslissing over de eerstvolgende oplevering wordt genomen op basis van de hoogste opbrengsten-kosten-ratio en de risico’s. In deze fase worden ook veranderingen in doelen en oplossingen goedgekeurd, wordt feedback geanalyseerd en wordt gezorgd voor de benodigde middelen. Idealiter wordt er in de fase Oplevering elke week iets aan de stakeholders opgeleverd voor gebruik en feedback. Parallel aan de oplevering kunnen er in de fasen Ontwikkeling en Productie nieuwe oplossingen worden ontwikkeld en geïmplementeerd. Onder ontwikkeling valt zowel het daadwerkelijk nieuw ontwikkelen als het inkopen van een oplossing. De oplossing is na de fase Ontwikkeling klaar voor productie en wordt (in een of meer iteratiestappen) in de fase Productie gebouwd en geïntegreerd. Daarna is de oplossing klaar voor oplevering.
Almere © 2006
Quality Assurance in ICT
Organisatie Titel Onderwerp
SYSQA B.V. Evo – Evolutionary Project Management Een introductie
Pagina Versie Datum
6 van 10 1.1 12-4-2011
4. Kenmerken De Evo-methode kan het best aan de hand van een aantal typische elementen worden geïllustreerd. De elementen zijn onderverdeeld in de groepen specificatie, projectmanagement, ontwerp, testen en configuratiemanagement.
1.1. Specificatie Stakeholders Stakeholders worden zo breed mogelijk gezocht: zowel intern als extern, vriendelijk en vijandig en verspreid over de hele levenscyclus van het systeem. Top-10 van systeemeisen Zo vroeg mogelijk wordt een lijst gemaakt van de tien belangrijkste systeemeisen. Bij elke iteratiestap worden de eisen geëvalueerd en verfijnd. Specificeren van functionaliteitseisen In Evo hoeft de gewenste functionaliteit niet tot in detail van te voren te worden gedefinieerd. Wel moeten er voor elke volgende iteratiestap functionaliteitseisen vastgesteld worden. Naar keuze kunnen die worden geformuleerd met de speciale Evo-taal Planguage (die hier verder niet wordt besproken). Specificeren van performance-eisen De gewenste functionaliteit wordt gecombineerd met drie performance-kenmerken: kwaliteit, capaciteit en efficiëntie. Dit resulteert in performance-eisen, die eventueel ook met Planguage kunnen worden beschreven. Duidelijke en meetbare eisen Alle functionaliteits- en performance-eisen gekwantificeerd) worden geformuleerd.
moeten
eenduidig
en
meetbaar
(dus
Planguage Het (optionele) gebruik van Planguage wordt aangeraden voor zowel de specificatie van eisen als bij het ontwerp van het systeem.
1.2. Projectmanagement Evolutionair projectmanagement Hieronder vallen: · Evolutionaire oplevering (van tussenversies), gericht op werkelijk gebruik en feedback; · Korte iteratiestappen (1-2 weken); · Hoogste prioriteit voor oplossingen met de hoogste opbrengsten-kosten-ratio; · Bij voorkeur uitgaan van een bestaand systeem; · Plannen en eisen veranderen door feedback; adaptieve planning en evoluerende specificaties; · Benadering van het gehele systeem (holistische benadering); Almere © 2006
Quality Assurance in ICT
Organisatie Titel Onderwerp
·
SYSQA B.V. Evo – Evolutionary Project Management Een introductie
Pagina Versie Datum
7 van 10 1.1 12-4-2011
Gericht op vroegtijdige resultaten.
Evolutionaire oplevering Bij evolutionaire oplevering (van tussenversies, demoversies, prototypes) ligt de nadruk op het produceren van een voorlopige oplossing. Dit heeft tot doel om al in een vroeg stadium opbrengsten te genereren en feedback te krijgen voor toekomstige opleveringen. De gekozen oplossingen zijn gebaseerd op een hoge opbrengsten-kosten-ratio en het vroegtijdig reduceren van risico’s. In elke iteratiestap kan de oplossing anders van aard zijn. Bij een project dat erop is gericht een verouderde applicatie te vervangen, kunnen de eerste oplossingen snelle en goedkope aanpassingen van het bestaande systeem zijn of het bouwen van een webinterface daarvoor, terwijl er in dezelfde tijd volop wordt gebouwd aan het nieuwe systeem. Het meten van effect Van elke oplossing waarvoor in een bepaalde iteratiestap wordt gekozen, moet worden bepaald wat het effect is op de doelstellingen. Evolutionair management bestaat bij de gratie van een voortdurende meting van de effecten van tussenstappen. Vanuit de gedachte: ‘wat je niet kunt meten, kun je niet managen’.
1.3. Ontwerp Ontwerpspecificaties Net als de functionaliteits- en performance eisen zijn ook de ontwerpeisen evolutionair. De ontwerpeisen ontwikkelen zich incrementeel en kunnen in Planguage worden geformuleerd. Schatting van de impact Om verschillende ontwerpideeën met elkaar te kunnen vergelijken worden ze, net als alle opgeleverde oplossingen, beoordeeld op kwaliteit, capaciteit en efficiëntie. Hiervoor wordt een speciale tabel gebruikt (Impact Estimation Table). Ontwerp versus eisen Bij alle ontwerpspecificaties moet aangegeven worden in hoeverre ze de verschillende eisen vervullen. Deze gegevens worden gebruikt bij het schatten van de impact en dragen bij aan het voorkomen van ‘overontwikkelde’ systemen, waarbij tijd, geld en moeite is gestoken in delen en kenmerken van het systeem die uiteindelijk weinig opleveren.
1.4. Testen Specificatie van testen Bij voorkeur wordt er bij de specificatie van de functionaliteits- en performance-eisen ook meteen gedefinieerd hoe ze kunnen worden gemeten en getest. Vroegtijdige controle van de specificaties Er is gebleken dat vroegtijdige controle van de specificaties een effectief middel is om het aantal fouten in de specificaties te reduceren.
Almere © 2006
Quality Assurance in ICT
Organisatie Titel Onderwerp
SYSQA B.V. Evo – Evolutionary Project Management Een introductie
Pagina Versie Datum
8 van 10 1.1 12-4-2011
1.5. Configuratiemanagement Specificatie van relaties Bij gebruik van de Evo-taal Planguage bestaan er sjablonen die voorzien zijn van de mogelijkheid relaties aan te geven, waarmee wijzigingen in de specificaties gemakkelijker getraceerd kunnen worden.
Almere © 2006
Quality Assurance in ICT
Organisatie Titel Onderwerp
SYSQA B.V. Evo – Evolutionary Project Management Een introductie
Pagina Versie Datum
9 van 10 1.1 12-4-2011
5. Evo en andere methodes De Evo-methode voor softwareontwikkeling biedt een aantal voordelen ten opzichte van andere methodes: · Doordat er realistisch gemeten wordt hoe ontwerpideeën en opgeleverde oplossingen scoren op functionaliteit, kwaliteit, capaciteit en efficiëntie, kunnen ze snel worden aangepast; · Al in een vroeg stadium kunnen de stakeholders opbrengsten verwachten van het nieuwe systeem; · Complexe problemen worden in stukjes gehakt en vereenvoudigd tot behapbare brokken; · De gebruiker van het systeem staat centraal, omdat het resultaat voorop staat in plaats van technieken of goed bedoelde administratieve procedures; · Het resultaat van een project is voor iedereen duidelijk, omdat het uitgedrukt wordt in de opbrengsten voor de stakeholders ten opzichte van de kosten; · Gekozen oplossingen worden snel geïmplementeerd, wat leidt tot een grote betrokkenheid van de medewerkers. De Evo-methode kan eventueel gecombineerd worden met (elementen uit) andere agile ontwikkelmethodes zoals Scrum, UP en XP. Wel is bijvoorbeeld de lengte van een iteratiestap bij Scrum (30 kalenderdagen) te lang voor Evo en ook bij UP kunnen de iteratiestappen te lang zijn. En de nadruk van Evo op specificaties is in strijd met de uitgangspunten van XP.
Almere © 2006
Quality Assurance in ICT
Organisatie Titel Onderwerp
SYSQA B.V. Evo – Evolutionary Project Management Een introductie
Pagina Versie Datum
10 van 10 1.1 12-4-2011
6. Literatuurverwijzingen Gilb, T. 1976. ‘Software Metrics’. Chartwell-Brat. Gilb, T. 1988. ‘Principles of Software Engineering Management’. Addison-Wesley. Larman, C. 2004. ‘Agile and Iterative Development. A Manager’s Guide’. Addison-Wesley. Redmill, F. 1997. ‘Software Projects: Evolutionary versus Big-bang Delivery’. John Wiley & Sons.
Almere © 2006
Quality Assurance in ICT