Is CMMI compatible met Scrum? Foute vraag!

De vraag wordt nogal eens gesteld: “is CMMI compatible met Scrum?” of omgekeerd. En dat is eigenlijk een rare vraag. Zoiets als “Is Sonja Bakker compatible met een broodje kaas?”. Er worden grootheden met elkaar vergeleken die niet echt vergelijkbaar zijn. Je kunt een dieetprogramma niet direct vergelijken met een gerecht.
Laten we nog eens even goed kijken waar we het ook al weer over hebben.CMMI is een model dat organisaties helpt hun processen voor (software) ontwikkeling te verbeteren. Het model geeft allerlei suggesties voor werkwijzen (engels: practices) van project management, proces management, ontwikkeling en ondersteuning. Dit zijn globale suggesties. Je kunt die niet direct toepassen, daar zijn ze te algemeen voor. Het model vereist een vertaling naar de praktijk, een implementatie. De vaak gehoorde uitdrukking “we zijn CMMI compliant” of “onze processen zijn CMMI compliant” tonen dan ook aan dat de sprekers het model niet begrepen hebben. Het begrip compliance past bij een standaard, zoals SoX of ISO 9000. Maar CMMI is geen standaard. En dat zijn niet alleen mijn woorden. Het SEI zelf zegt dit ook. In het uitstekende rapport CMMI or Agile? Why not Embrace Both? wordt dit heel duidelijk gesteld. En terecht!

Wat wordt dan bedoel met implementation? Uit het SEI rapport:

implementing CMMI is using the model in the same way that engineers and architects use models: as a learning tool, a communication tool, and a means of organizing thoughts

Nadenken dus! Situationeel toepassen van de werkwijzen uit het model op de situatie waar de organisatie zich in bevindt. Aanpassen aan grote of kleine projecten, wel of niet safety-critical systemen, snelle veranderingen of stabiliteit, etc. En niet voor elke werkwijze uit het model en processtap en/of template ontwerpen. Een mooi voorbeeld van dit nadenken is te zien in de CMMI assessment die Frank Niessink uitvoert op zijn open source project TaskCoach. Diverse elementen uit CMMI zijn niet triviaal te vertalen naar een open-source project. Maar Frank denkt hier hardop na over hoe dat wel te doen is, en geeft daarbij een eerlijk oordeel over zijn eigen werk.

Door dit met aandacht uit te voeren ontstaat er een continue verbetering – een dieetprogramma voor de organisatie.

Scrum is een agile methode voor project management. Qua doelstelling is Scrum dus vergelijkbaar met Prince2 dat ook een methode voor projectmanagement is. Echter de inhoud van Scrum is geheel anders dan die van Prince2. Waar Prince2 leeft in de illusie van een “controlled environment” heeft Scrum aandacht voor de omgeving die continu in beweging is. Veranderende requirements zijn nu eenmaal normaal in een software omgeving – dat is juist de kracht van software! – laten we er dus slim mee omgaan. In de Scrum aanpak kunnen wijzigende requirements dus snel worden opgepakt, overigens zonder dat het ontwikkelteam daardoor in verwarring gebracht wordt.

Scrum is dus niet vergelijkbaar met CMMI. Een projectmanagement aanpak is niet vergelijkbaar met een model voor organisatieverbetering. Maar Scrum is wel een prima implementatie van een groot deel van de werkwijzen rond project- en requirementsmanagement. In een serie van Blogs wil ik de implementatie van de process areas requirements management, project planning en project monitoring and control onder loep nemen. Stay tuned!

Scrum en Requirements Management

Scrum en Project Planning – BINNENKORT

Scrum en Project Monitoring and Control- BINNENKORT

Advertisements

About André Heijstek

Rijnlands / Agile verbeteren van software ontwikkeling
This entry was posted in Agile, CMMI, Scrum, software engineering and tagged , , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s