Process Improvement with CMMI
Yesterday, a software company owner sent me an email asking: “How do we start Process improvement using CMMI? What CMMI level do you suggest that we start if we do not want to pay for an appraisal? How long does it take to move up a CMMI level? Please advise.”
Answer: To start process improvement using the CMMI, you need to determine where you are. You can self-assess by asking your people some questions against the CMMI model. For example: “Do you have a project plan for each project? Do you estimate your project schedule based on historical data? Do you have an organization’s standard process defined for all projects in your company? Based on answers you can decide what issues that you need to improve. Of course, as the owner of your company you can start to improve your process without knowing about any level. You can set your own priority based on issues in your company and develop action plans to solve the problems. For example, you can ask your developers what are the major things that impact their projects? What are the cause of schedule slippage? Why software projects are delayed? Why software is still having many defects after tests? By knowing these problems, you can start fixing them.
Based on my own experience in CMMI implementation, it would take 2 to 4 years for an organization to move from one level to another. The data at the SEI indicated that on the average, it took about 28 months to move from one level to another. Of course, the work environment of a company can impact how fast or slow it can improve. Many problems such as teamwork, lack of responsibility or personal conflicts can be a major problems, not just technical issues so the improvement should be larger than just following a model like the CMMI. Because you are the owner, you can change the working environment and make it better, more dynamic, more collaboration among workers. If you commit to improve, you can do many things. My recommendation is to start the process improvement slowly, chose what you want to improve carefully, and solve one problem at a time. (Note: Please review the articles and questions & answers about CMMI in this website)
Please do not pay too much attention to the CMMI level. The important thing is to improve, not to get a CMMI level. A real improvement must bring business results. A real improvement must bring significant measurable quality with data. A real improvement must bring more customers’ satisfaction. A real improvement must bring more happiness to developers. A real improvement must reduce defects and improve quality. Of course, it must bring more profits to your company and to you too. If these things do not happen, your company does not improve. Do not spend money on something just give you a “meaningless level” or a “piece of paper”. Many people did that and they regret as it does not help their business or their profits. Last year, when I was in China. One executive told me that his company was appraised at CMMI Level 4 but I also noticed that to reduce expenses, that company also eliminated the Test group and laid-off number of testers since they did not write “code”. Another manager told me that he works for a CMMI level 5 company, when asking about software quality he said: “We still have a lot of defects in our software ”. I was surprised: “A CMMI level 5 is still having a lot of defect? It is unreal”. In my experience with CMMI level 5, the organization should have quality at least equal or better than 6 sigma. That means 99.9996% of the software product should have no defects or no more than 3 defects per million line of code. These declarations of companies was appraised at high CMMI levels did not make sense to me.
For many years, I have noticed the numbers of company declared that they were appraised at CMMI level 5 have increased significantly. It seemed that there is a competition all over the world on CMMI levels. The notion that “If your company has a CMMI level 5 certificate then my company also want to have it too” only help consultants, especially “Not-so-ethical” consultants make money. Please note that the Software Engineering Institute (SEI) at Carnegie Mellon does NOT “certify” any company and there is NO “CMMI certification” whatsoever. The “certificate” is issued by the consultant and it has nothing to do with the SEI.
Since you are the owner of the company, I am sure you are concerned about your business and want to improve it. However, there are a lot of thing that you can do and it does not need a lot of money. My advice: “If you want to invest, please invest in your own people. Provide better trainings, help them to improve their skills, create better working environment and use metrics to determine the root cause of the problems and fix them. Please remember that the CMMI is only a model, it is you who make the model work by commit to make real improvement happens.
Sources
- Blogs of Prof. John Vu, Carnegie Mellon University