Process Improvement part 2

To improve, company must have a clear vision to communicate to every employees about the direction that owners want to go. Without it, everybody may be confused and may decide to go into different directions. After having owners completed their vision. I asked them to write down their business goals. Most wrote down reduce defects, increase profits, make more money, have more customers, expand business globally etc. Then I asked them on what would allow them to achieve these goals. Of course, the typical answer was having quality products and services since quality was what they had in mind. My next question was what do they need to build quality product?

After several discussions among the group, the final conclusion was “Knowledge and skills”. I asked them: “Where do they acquire these things? Do university graduates have these skills? Does university taught improvement skills?” If graduates already had these skills then why company did not have quality products and had to improve? So we got down to the main reason of bad habit such as developers not following a defined process. The bad habit of skipping phases and jumped into coding. The bad habit of managers set up schedule without estimations etc. I explained to them that when a project does not have a process that it will use, developers will do whatever they like. In the end, they will spend more time in correcting defects and no time to improve the software. When the project seems to slip schedule, everybody panic. Developers will focus on their own personal works to make sure that if something happens, it is not their fault. When team members are not working together and withdraw from interactions with each others, project coordination will fail. When thing get worst, people will skip things such as testing, integrating etc. resulting in low quality product. When customers complain about defects, company have to fix them. It will cost more to fix defects after release to customer. The consequences are higher costs, longer time, customers angry, developers frustrate, managers panic, and owners lose money.

There are evidences that companies that focus on process have achieved customers satisfaction, meeting schedule, higher quality and more profits. If developers only receive technical training in college then they will need additional trainings in the discipline of following a process. They must understand the benefits of process so process training is important. However, to change bad habits, training must start with management first. If managers change their habit, everything will change because developers will follow their direction. Of course, changing the habit of people who prefer “meet schedule first, focus on quality when they have time” into someone who know how to plan, how to estimate, how to negotiate is difficult but every trainings must start with management.

This seemed to be a big surprised to many owners. Many consultants often focused on the training of developers about how to document the process so there were several questions and discussions about this approach. I explained to them that having documented process will only help company to pass the CMMI appraisal but not change employees’ bad habits. Since documentation activities take time, often several months or sometime years, in that case, consultants can make more money. To make real improvement happens, management must make the right decision by setting themselves as “models” for developers to follow. If they do not change their bad habits, nothing will change and in this situation, this will make the difference between success and failure.

The reason is during improvement activities, management must discipline people who break rules or who refuse to follow the process. It is important for the company to set new rules for process improvement and it must start with management. Of course, properly disciplining is easier said than done, and it is a sensitive issue. If managers do not follow the process, they may have difficult time discipline someone who do the same. For example, if a developer skips design and jump to coding, manager must make a decision on how to deal with this situation. What happen if manager also sets schedule based on intuition rather than follow the estimate process? Developer could argue that since the schedule is not well estimated and too short, he does not have time to follow the development life cycle. He must skip some phases just to get his work done. In many software companies, developers often think that they can break rules and do whatever they want as long as they get their work done. This bad habit must be changed if company wants to improve. If a manager fails to follow a process, other team members will notice it, and they will become resentful. If they feel that managers do not change, they will think they can do the same. This can weaken the ability of a company to improve.

To start process improvement, the owner must set direction clearly. No one should be above the rules, not even the managers. If they do wrong, they should get the same discipline that is given to developers. This creates a fair environment where everyone feels equal. Of course, how owners discipline employees is important. They do not want to be too harsh if it is not necessary. If they do this, employees will fear them. Improvement should not be something that they fear but something that they need.

In my own opinion, the most important in process improvement is incentives or reward for achieving the goal. Given sufficient incentives, every employees would work hard to make thing happens. They will allocate their time, their efforts to help managers to succeed. This is where I returned to the setting the business goals of improvement. The worst goal is to achieve a CMMI level since it does not mean anything to anybody. The real goal must be something measurable and “Real” such as reduce defects by 20% each year, improve number of project that meet schedule by 50% in two years etc.. Something simple that people can understand. For example, today the average defect is 20 defects per thousand lines of code and if the average defect rate decreases this year by 20%, every employees could have a bonus at the end of the year. The incentive bonus could be monetary or few extra vacation days, something that employees want. With the right incentive, thing will change. There will be pressure among employees to reduce the number of defects, developers will monitor team members to make sure that everybody will follow the process and test their code carefully. If managers require more reviews to identify and fix defects, developers would carefully review what they do because nobody would want to be the “Spoiler” who prevent people from getting the incentive. This is where changing bad habits take place as developers would watch each other and remind them about following the process.

For the owners who really want to improve their business, they need to consider improvement as something with high priority because it is a business decision not technical decision. To improve, every person in the company must be held accountable for completing their tasks. Company owners must be strong in the messages that improvement tasks are important and must not be delayed. Only with the importance and urgency direction from the top of the company and the right incentive, people will work hard to change their bad habits. When these things happen, improvement will happen. To make real improvement happens, the owners and managers must recognize that their first task is to change themselves from bad habits. Then it can lead to substantive change. Otherwise the software improvement work will not get done.

Sources

  • Blogs of Prof. John Vu, Carnegie Mellon University

You may like