Does quality really matter?

We talk alot about trade-offs in getting a product out the door. We draw a triangle, the triangle of pain as I call it. One side of the triangle represents quality, another side scope of features, and the third side is time, time to market. The idea is that given any finite set of resources, you can shorten and correspondingly lengthen any of the given sides, but it still has to be a triangle.

As a manager, I appreciate the simplicity of this triangle. Given a finite set of resources, you have some flexibility in managing various aspects of a project, but they have a direct impact on other aspects of the project, and the triangle reinforces the tradeoffs you are making when you give in.

Linda Hayes talks about 'water theories' of software changes here. On my current project, we've been battling with long milestones, short milestones, sometimes needing to change our exit criteria because of external dependencies not being on time, etc. Sometimes the changes are fast and furious. Some milestones have been mostly been sideways for various reasons. We've adopted some aspects of Agile Development, as suit this projects needs. But no matter what the flow rate of changes is, not matter how they are batched up behind dams or locks, at the end of the day (or milestone, or prior to RTM) quality has to assessed and measured and then weighed against scope and time to market. And while measuring quality is my test team's job, it is not test's job to ensure quality. That is the job of everyone in the product unit, PM/Dev/Test it makes no difference, because without reaching a high quality bar, your product will fail.

Unconvinced? Here's a scenario. Product A has 100 features in it, and it is always predictable, never crashes, I never lose data while using it. Product B has 120 features in it, but is just a little bit unstable; I do use 1 or 2 of those features that are in it that aren't in product A (or perhaps are much better in product B), but because it crashes and I lose data, I've gone back to using product A and I am happier. Think it's a made up scenario? Not for me. Windows movie maker v1 crashed all the time on really large files. It was free, but I paid $60 to buy Vegas Video Factory to do my video editing, and it was so good, I moved up to Vegas 3 for $150, then Vegas 4+DVD for $199. I even bought Sound Forge XP for $60 from them because Vegas was so good. How about photo editing? I still use old PhotoDraw 2000 because it never crashes (even when I have batch edited 100 photos), even though the red eye correction is no where near as good as Digital Image Pro. Greeting Card software, the same result. And I deal with buggy software all day long; it's my job. I expect the average consumer is even faster to switch than I am.

For a product to succeed, quality can't be just the test team's job, it's got to be everyone's job. Without it, your product likely fails, and you can even give your brand and/or your company a bad image.

Now Movie Maker 2 was much better than 1, but by that time, I'd already switched to Vegas. I was speaking to someone from the Movie Maker team today actually, and I expect Movie Maker 3 will be even better. I started using Digital Image Pro 10 lately, and it hasn't crashed, and it's red-eye correction is really quite good. But you can bet that the first time it does, I'll be back with my old reliable PhotoDraw. Because quality does matter.