Improving Software Quality

Project Managers are accountable for meeting the customer commitments and quality is undeniably one thing that no customer would compromise with. When a project encounters quality issues, the Project Manager is in the firing line. Often Project Managers feel compelled to intervene: they roll up their sleeves, try to get to the bottom of the problem, look for solutions and tell the team what to do. Well, there are times a manager may need to do that but every time one does that, the team loses a bit more of its sense of ownership. Is that what we want as Project Managers?

Here is an approach that may make more sense in today’s software world.  Before we look at the steps, a few key principles to internalize:

  1. The best people to improve quality are the team members themselves.
  2. The leader’s role is to articulate a clear picture of what excellence in quality means. When people connect to this picture, they would be motivated to improve quality and achieve the vision.
  3. What one measures improves.

These are practical steps that you can apply as a Project Manager. The magic is not so much the steps by themselves but it is about how you facilitate the process for your team.

Quality

Quality goal is your vision for the project. It is very powerful when connected to business goals that the team can easily relate to. Responsibility, for articulating the vision and ensuring that the team gets it, is definitely with you as the project manager.

Contributing factors need to be supported by data: Code Review effectiveness, requirements understanding, robust unit testing, etc. As a PM, you facilitate by asking your team questions like: “What influences good quality deliverable in our project? What are the reasons for poor quality in the past? What can we infer from past data? What did we do right when we had delivered good quality?”

Improvements need to be identified & prioritized by the team; Again Questions are your best tool: “What can we do better? What should we stop doing? If I make this change in the process, how will that affect the quality of the final deliverable? Will this improvement predictably take us towards our Quality Goal? Which improvement action will have maximum influence over a quality outcome?” As a PM, you can make suggestions for improvement after the team has exhausted their ideas.

Implementing the improvement actions is where most teams come unstuck. This step often demands change in habits and requires conviction in the team. If your team had identified the actions, they would have greater ownership and they would do it! Your role is to provide adequate resources and remove any roadblocks.

Measure the effectiveness of the actions in an objective manner. These metrics are your lead indicators. You know that if you move the needle on these, you can influence your Quality goal predictably. For example, if your quality goal is related to Reliability of the delivered product, improvement in Code Quality metrics during Coding phase will predictably influence the Reliability of the final product. Please remember to facilitate identification of these measures and enable the team to measure and review them regularly. Celebrate any positive movement in these lead indicators!

Is the Quality Goal met? If your team does not meet the Quality goal in the first attempt, that’s fine. The team would have learnt from the experience. They are now equipped and can find other ways to improve.

Always remember the principle: “The best people to improve the quality are the team members themselves”. Have faith!

What do you think?

Leave a Reply

What to read next