The life of a software developer, episode 2/4: the improvement of software development processes

Recently I read an article saying that only 16% of data-processing projects are a success. On the other hand, 59% of data-processing projects don’t respect initial budget, 35% don’t respect deadlines and 54% of all applications don’t match clients’ needs.

This being known, we can understand the success of CMMi (Capability Maturity Model® Integration) model. If you don’t know anything about CMMi you can find some information here, but basically it is a software quality process leading to a certification with 5 different levels.

I took part to a CMMi project at my previous company which has been working on obtaining the CMMi level 2 certification for its R&D department for 3 years, and finally got it last year. The project aimed at reviewing all the software development process. A lot of CMMi experts say that the level 2 is the toughest level to obtain because the company must destroy all previous processes to build better ones, which rubs against the traditional idea that we can always improve on what has already been done without starting from scratch again.

One year after this certification, it is easy to assess the great impact of CMMi: it has definitely improved the productivity of software development processes.

For example, before CMMi, lots of processes were implementing differently depending on employees’ different habits and preferences. It was mainly an oral culture that helped us to coordinate. Now all the processes are archived and referenced in an internal source developed under CMMi quality: the focus is now on discussing important decisions about the product rather than explaining to others the different processes used by each part of the team.

Unsurprisingly, the key to succeed in CMMi certification is to involve all employees. For them, it was a huge change (which implies of course HR management), because all habits have been modified. For example an increased care in file management or the writing of a review after every meeting is now mandatory. In this context trainings are crucial: employees must see why new processes are better than older ones to avoid rejection. But the improvement process is definitely not a top-down one, where the management team would agree on some processes and then try to make them adopt by the rest of the company: employees have to propose new processes to improve the productivity by themselves as they are the main “clients” of CMMi processes. As users, they are in the best position to suggest the greatest ideas.

In general, to reach the next level (except level 1), a company need between one and three years; but why going through all this hassle? Just because, before all, CMMi certification is a great marketing tool: for clients, it means that you produce prime quality software.

In France, only a few companies are certified level 3. In comparison, 89 companies are certified level 5 in India. Indians are even used to create companies which are directly certified level 5: why don’t French companies make the same profitable quality investment upfront?

Staypressed theme by Themocracy