Ontwikkelen van software gebeurt vaak op projectbasis. Het in de hand houden van een project is echter een telkens terugkerend probleem. Een bijkomend probleem is dat het vinden van geschikte mensen steeds moeilijker wordt door de schaarste op de IT-markt. Hierdoor gaan instellingen in een steeds vroeger stadium van het project mensen aantrekken onder het motto ‘dan hebben we alvast onze mensen’. Dit gedrag maakt het schaarste-probleem alleen maar groter. Bovendien leidt het tot (onnodige) verhoging van de kosten en eventueel zelfs tot een langere doorlooptijd van het project doordat mensen elkaar voor de voeten gaan lopen. Het opstellen van een bezettingsplan vormt een goede oplossing voor deze problematiek, aldus een planningsdeskundige.
Softwareprojecten zijn op verschillende manieren te organiseren. De drie basisvormen zijn:
Functionele organisatie: De uitvoering van het project vindt plaats binnen een functionele afdeling. De afdeling bestaat uit een vaste groep mensen die project na project uitvoert. De projecten zijn vaak gelijksoortig. Een voorbeeld hiervan is een organisatie die verschillende versies uitbrengt van een bepaald product.
Project-organisatie: Een team wordt uit de bestaande organisatie losgemaakt om een opdracht uit te voeren. Mensen worden geselecteerd op basis van bepaalde capaciteiten. De projecten zijn vaak eenmalig. Een project moet een product opleveren, waarna de organisatie ophoudt te bestaan of in een andere vorm verder gaat.
Matrix-organisatie: Dit is een combinatie van de functionele en de project-organisatie. Een project wordt gedefinieerd over verschillende functionele afdelingen heen. Aan mensen van de afdelingen wordt gevraagd om een bijdrage te leveren aan het project, maar zij blijven werkzaam op hun eigen afdeling.
Figuur 1. Bezettingsprofiel |
Figuur 2. De Raleigh-verdeling. De topbezetting wordt bereikt als ongeveer 40 procent van de totale hoeveelheid inspanning is verricht. |
Figuur 3. Bezettingsprofiel per fase |
Figuur 4. Totale bezettingsprofiel |
Figuur 5. Na integratie van de Raleigh-curve ontstaat de S-curve. Een hulpmiddel bij het bewaken van de voortgang van projecten. |
Elke organisatievorm heeft zijn eigen specifieke voor- en nadelen. Eén van de grootste voordelen om een opdracht in projectvorm uit te voeren is dat men tijdens de loop van het project niet continu met een volledig bezet team aan de slag hoeft. In de praktijk ziet men vaak dat projecten van begin tot eind uitgevoerd worden met maximale bezetting.
Verstandiger is het te kiezen voor een passend bezettingsprofiel. Figuur 1 geeft een voorbeeld van een bezettingsprofiel. Wanneer men ditzelfde project zou uitvoeren met een volledige bemanning worden er extra kosten gemaakt. Deze bedragen ongeveer 40 procent van de totale kosten. Dit percentage wordt verkregen door het bezettingsprofiel op te vullen tot een rechthoek van 150 bij 100.
Bezettingsplan
Een bezettingsplan wordt in de eerste fase van een project gemaakt. Het bezettingsplan is een onderdeel van het projectmanagementplan. In de literatuur wordt een aantal technieken beschreven om tot een bezettingsplan te komen. Deze technieken zijn gebaseerd op het gebruik van pert/cpm-netwerken (program evaluation and review technique/critical path method). Deze methoden stellen eerst een netwerk op met daarin aangegeven de afhankelijkheden tussen de verschillende activiteiten. Op basis van het aldus geconstrueerde netwerk is het vervolgens mogelijk om het kritische pad en de minimale doorlooptijd te bepalen. Uit het netwerk kunnen ook Gantt-charts gegenereerd worden. Uit deze Gantt-charts is het mogelijk om het bezettingsplan af te leiden.
Het nadeel van deze methodes is dat er weinig mogelijkheden zijn om aan te geven dat activiteiten die na elkaar afgerond moeten wel deels parallel uitgevoerd kunnen worden.
Een voorbeeld. Men is bezig met het opstellen van eisen maar een deel ligt nog niet geheel vast. Het vastliggende gedeelte kan echter al wel in een ontwerp uitgewerkt worden, waardoor er parallellisme in beide activiteiten ontstaat. Volgens het opgezette netwerk zouden deze twee activiteiten strikt sequentieel afgehandeld moeten worden. Een en ander heeft ook tot gevolg dat er een heel ander bezettingsplan uit de bus komt. Verder is het vaak moeilijk overzicht te houden over het grote aantal taken.
Een ander nadeel is dat men moeilijk kan sturen op het bezettingsprofiel. Er is een verband te leggen tussen het bezettingsprofiel en de volgende grootheden: hoeveelheid inspanning, de doorlooptijd, de organisatie [1].
De relaties met het bezettingsprofiel zijn als volgt.
Hoeveelheid inspanning: Naarmate er meer inspanning geleverd moet worden, zal er meer voorbereiding nodig zijn om een werkverdeling te maken. Deze werkverdeling wordt door een klein aantal mensen opgezet. Dit leidt tot een geleidelijkere opbouw van de bemanning van het project.
Doorlooptijd: Naarmate de doorlooptijd korter is, zullen er sneller meer mensen in het project benodigd zijn.
Men moet zich er echter wel van bewust zijn dat er een minimale doorlooptijd bestaat. Dit houdt in dat vanaf de minimale doorlooptijd het toevoegen van mensen geen doorlooptijdsverkorting maar doorlooptijdsverlenging tot gevolg heeft.
Organisatie: Elke organisatie heeft zijn eigen karakteristieken. Dit geldt ook voor de snelheid waarmee een project bemand gaat worden. Door de eigen werkwijze vergt het maken van taakverdelingen ook een zekere doorlooptijd. Hoe sneller een organisatie tot een werkverdeling kan komen, des te sneller het project bemand kan worden.
De Raleigh-curve
Peter V. Norden van IBM heeft de opbouwkarakteristieken van een project op een theoretische manier onderzocht. Hij vergeleek het uitvoeren van een project met het oplossen van een verzameling problemen. Elke fase van een project omvat een deelverzameling van de totale verzameling problemen die opgelost dienen te worden. Hij deed een aantal aannames:
Het aantal problemen in elke deelverzameling is eindig. Het aantal is echter onbekend.
Menselijke inspanning zorgt voor het oplossen van problemen.
Een besluit gemaakt op basis van informatieverzameling en het afwegen van alternatieven stelt een ‘event’ voor van een probleem dat van onopgelost naar opgelost gaat. De verdeling van het optreden van deze ‘events’ kan voorgesteld worden door een exponentiële verdeling.
De verdeling van deze ‘besluit-events’ is een functie van de kwaliteiten van de personen die de problemen oplossen, administratieve acties en interactie met de omgeving.
Tenslotte veronderstelt hij dat het aantal betrokken personen ongeveer proportioneel is met het aantal problemen dat op willekeurig moment opgelost kan worden.
Norden kwam tot een relatie die het beste past bij een Raleigh-verdeling. Figuur 2 toont een voorbeeld van een Raleigh-verdeling.
Fouten en onderhoud
De doorlooptijd voor softwareprojecten is gekozen als het tijdstip waarop het softwareproduct zogenaamd ‘full operating capability’ bereikt. Empirisch onderzoek heeft vastgesteld dat dit het moment is waarop er maximale projectbezetting is. Deze top-bezetting wordt bereikt als ongeveer 40 procent van de totale hoeveelheid inspanning is verricht. De andere 60 procent bestaat onder andere uit het oplossen van fouten en onderhoud. Dit is vaak een zwaar onderschat gedeelte van een project.
In een gefaseerd blijkt de Raleigh-curve van toepassing voor elke individuele fase van het project. Het totale bezettingsprofiel is dan de geaggregeerde waarde van de individuele Raleigh-curves. Figuur 3 geeft hiervan een voorbeeld.
Het totale bezettingsprofiel komt er voor dit project dan uit te zien, zoals weergegeven in figuur 4.
Wanneer we de Raleigh curve integreren, ontstaat een curve van de totale hoeveelheid geleverde inspanning als functie van de tijd, de zogenaamde S-curve, zie figuur 5. De S-curve is een hulpmiddel om de voortgang van projecten te bewaken.
Wanneer organisaties wat bewuster zouden omgaan met het inzetten van mensen, is een hele hoop geld te besparen. Bovendien kan het een positieve bijdrage leveren aan het terugdringen van de schaarste op de IT-markt. Door aan het begin van een project een bezettingsprofiel op te stellen en per fase van het project te bekijken welke vaardigheden vereist zijn, is de schaarse capaciteit optimaal te benutten.
Ir.E.Beuzenberg, Alert Automation Services, Veldhoven
Literatuur
[1] Putnam, Lawrence H.: Industrial Strength Software, Effective Management Using Measurement, Ware Myers