Last night (Feb 1rsts) at the Scotsman’s pub in Oslo after the XP Meetup, I had an interesting philosophical discussion with Tom Gilb, Geir Amdal and Rune Sørensen.
My definition of quality is pretty simple – A product has a sufficient level of quality if it meets or exceeds customer’s expectations. I know it’s pretty vague, but so are most of the customer’s expectations.
Tom presented some of his ideas about defining attributes of quality with the values varying depending on the defined parameters given by the customer. For example, the quality attribute of availability might vary between 0% and 100%, but the acceptable level for the customer might be 99.5%.
Geir suggested that the most common interpretation of the term in an everyday context (as opposed to the requirements and value discussion) is ‘how well a thing is made’. He then talked about how we often have one conception of quality when we speak of quality in general, and another when we’re talking about specifics such as Tom outlined. What is its relationship to the cost-time-scope triangle of project management?
We discussed pros and cons of all three ideas and really didn’t solve the riddle. However, about 3:00 am this morning (I was suffering from a bit of jetlag), I realized that I could use a simple example to explain my position.
Let’s take 3 makes of cars. The Mini Cooper, Toyota Corolla, and Kia Rio, all small, all imported into Canada.
- Base Kia Rio – $14,000
- Base Corolla – $16,000
- Base Mini – $24,000
I bought a Mini Cooper for lots of different reasons. Ron Jeffries claims it is because of its cuteness factor and that may be part of it, but I also took into account its reputation (how well it is made). Another deciding factor was its acceleration and handling capabilities. I chose the upgraded Clubman S model so paid more than the base price because I wanted the extra room and the added acceleration.
I drove my daughter’s Corolla the other day, and found it lacking in so many ways. Basics I take for granted never even crossed her mind when she bought her car. I missed my heated seats, and automatic door locks – forget the other reasons. However, she bought it because of its resale value. She has a lease and wants to buy it out and to be able to recoup some of her money at the end of it all. She chose the Corolla, even if it was a bit more money at the time than something like the Kia Rio because of its reputation, but couldn’t afford any of the extras like automatic door locks.
Quality has a cost. If we make all cars to the standards of the Mini or a Mercedes, we eliminate a whole market of buyers. So, although I agree with both Tom and Geir, I still think quality is meeting or exceeding customer’s expectations. In my example, my expectations are much higher than my daughters, but I’m still not willing to pay for the perceived higher quality of a high end BMW or Mercedes. And I really didn’t care if it accelerated from 0 to 60 in less than xx seconds. I only cared that it went fast enough for me.
In agile projects, when the customer understands what the critical success factors are up front, it helps the team work towards those delivering to them. If quality is defined as one of those factors, and the customer(s) can articulate it and how much they are willing to pay (a constraint), we can work towards that level to meet their expectation.