scottberkun.com

My kingdom for some quality

PM Clinic: Week 28 discussion summary

Compiled: 5/9/2005

The Situation:

The current rage in my organization is quality - how to define it, how to measure it, and who should be responsibile and accountable for it. The test team feels it's their job to measure and drive quality, but they need more power to do so. The programming team feels they own quality, since they actually build everything. And the PM/manager types feel we own quality because we sit between everyone else and see the best tradeoffs.

But right now we're just arguing in circles. We all agree that quality for our monthly web releases needs to go up - no one is happy. But we are just going round in circles on defining it, improving it, and defining ownership for it. Any advice or war stories (negative and positive), appreciated.

- Going off the rails on the quality train

First steps: What, how and who

There are at least three different questions in this situation. Defining what quality is (what), how to increase it (how), and who's job it is to do so (who). You may be suffering from one or more of them.

Defining Quality

This is one of the key roles team leaders have to play. They decide which aspects of quality are important through the decisions they make, the goals they set and the behavior they reward. Some of the common attribute of product quality:

  • Reliable (performs as expected)
  • Easy for customers to use / Easy to learn
  • Easy to maintain when completed
  • Solves intended problems (for the business, for the customer)
  • Good value for dollars spent
  • Secure
  • Well documented
  • Responsive

There are many different perspectives on what quality means. There is a business view, a technology view, and customer or client view (See a client's view of quality). Smart leaders integrate all three views into their thinking about what quality means for a given project.

Consider a bug free product that no one can figure out how to use. Or an easy to use website that causes browsers to crash every 30 seconds. It should be easy to get people to recognize how nieve singular perspectives on quality are.

In essence, the project goals are the most direct means of establishing quality. Good project goals are tangible enough to seperate what is important from what isn't, what features are needed from those that are nice, and what problems the project is intended to solve for customers. All of the other forms of quality definition or assurance derive from the project goals in one way or another. If a project has well defined goals and leaders that defend and uphold the goals, including helping individuals match their own daily activities to the goals, the odds of quality results will be high.

How to increase quality

Assuming a fixed amount of time available for work, improved quality comes from using that time in the right way. You have to pick your battles with quality: you can't make everything better all at once. Instead you have to prioritize and focus the team's energy.

Simple ways to do this include: group work items in terms of their importance to the customer. Items that will be used more or are deemed more important deserve more time and energy than those that don't. If certain known defects are causing more harm to customers than others, they should be prioritized accordingly. Resolving those 5 of the right issues will have a larger impact on quality than resolving 20 of the wrong ones.

Quality assurance and test planning is all about focusing energy in the right places. Test plans should be written early enough that the devleopment effort will be influenced by them. The test plan can help identify areas that will require more energy to get right, or that are likely to have more problems than others. A good test plan can positively impact quality well before any testing is done.

Another approach is to budget schedule time purely for improving quality. If the schedule has 10 weeks of development time, budget 2 weeks for additional quality improvements to existing features. Plan on the team recognizing new optimizations during development and create a window for them to take advantage of them. But make sure the team understands the goal: it's not free time for new features. Instead it's time to tighten the bolts, shore up weak infrastructure, and deal with some of the larger defects than normally would only get attention during bug fixing.

Who increases quality

The whole team is responsible for quality. Management is responsible for making decisions that enables the team to act on this responsibility: if there are too many features and not enough time, low quality is guaranteed.

Leadership enables quality by making decisions that impact the entire project. Goal setting, resource allocation and schedule making all enable or disable a team to take responsibility for quality. If the goals are clear (and help people make decisions) and resources are allocated to allow people to do great work, quality is likely.

References

Quality is Free, by David Crosby

Contributors

Mark Colburn, Shep McKee, Karen Barrett, Steven Levy, Faisal Jawdat, David Gorbet, Andrew Stellman, Scott Berkun (editor)

About PM-Clinic

The pm-clinic is a friendly, wise, open forum for discussing how to lead and manage teams of people. Each week a new situation is sent to the list and we share advice, ideas and stories. Anyone can join as long as they follow the simple rules.

 

All content copyright 2005. Scott Berkun. RSS Feed