Saturday, November 10, 2007

SCRUM and CMMI

This is my opinion about Scrum and CMMI and maybe I am getting it all wrong. We are using Scrum for almost a year now and we want to find out our CMMI level compliance. But let tell the whole story.

So you have read a few books about Scrum and started to use it within company. When your Scrum process is stable enough you decide to see your CMMI level. As usually you start with Google. After reading a few articles, maybe some pages from books it seams (at least to me) as a very simple process.
You are happy and think that making your company CMMI 2 or 3 compliant will not be so hard task. At the end you have saw so many tables that map Scrum and CMMI almost to the CMMI level 3.

But then you start to read CMMI specification. Two different types of CMMI approach, number of processes for each CMMI level. And then you realize as with all tasks, it is not so easy to accomplish it.

Recently, I got task to prepare ground for CMMI 2 and 3 compliance. Now we are using Scrum more or less successfully for almost a year. So as mentioned above, after some short investigation I thought this will be almost a piece of cake :) But then after some reading I found out that it is not so easy. You have to invest time and patients.
So I need a plan how to achieve CMMI 2 compliance. As we are using Scrum and we like it, idea is that we must achieve CMMI 3 compliance using Scrum. Because I am already on Scrum, I decided to create a plan. So this is my plan:
  • create initial "project development process guide" based on Scrum and agile software development
  • Study CMMI spec. so I am aware of pros. and cons. of it and have good overview
  • Create mapping and discover gaps between "project development process guide" and CMMI level 2
  • Update "project development process guide" so it is CMMI 2 compliant
  • Wait some time so company use to new CMMI 2 compliant "project development process guide"
  • Create mapping and discover gaps between "project development process guide" and CMMI level 3
  • Update "project development process guide" so it is CMMI 3 compliant
  • Use new "project development process guide"
I hope we will be able to achieve CMMI 3 compliance within next 12 months.

Currently I am working on the first task, writing "project development process guide" that is based on Scrum but covers little bit wider area. Although Scrum is more management than software development framework it does not cover areas like versioning system, continuous build system, quality management and other more or less known issues regarding software development. I am aware that we need this areas within our guide. So I want to specify some general rules (idea taken from Scrum) how to develop software projects and then create one implementation of this rules.
This implementation later on must be CMMI compliant but tools used to achieve it (bug tracker, SVN...) are not hardcoded so they can vary from project to project.

When this guide is prepared, we will use it for some time until we are satisfied and feel good about it. When this happens, first task from the sprint plan will be finished. After that we are ready to sail towared CMMI waters.

We will see what happens next.

No comments: