May 18, 2009
What is quality?
I chatted with Jon about my “What is done?” ideas. He was thinking about studying the quality of scientific modeling software, and in the conversation, I came to think that how a person, team, or organization decides if software for “release” (check in to the mainline, to be given to testers, customers, used, whatever is relevant) tells you how they really measure software quality, and what they think software quality is. Whatever means someone uses to decide software is ready to pass on is their real quality metric. It’s not the boxes that are there to be checked off, it’s how you decide if you can check the box yet.
There are a lot of approaches to this, and a lot of ways to break down this question. I guess the first one I should answer is “Why should anyone care?” I’m still working on this, but I am a little inspired by a sign I saw doing some work for my father-in-law at a dairy. It said something like “Every employee has the authority to shut down a line because of leakers”. Who in a small software development group has the authority to shut down the release, to declare it “not done”? And how and why do they make that decision? Basically, do the de facto ways this decision is made agree with what people might say…