In
our XP Day session ,
Chris Pitts was the table host
asking
are organizations
valuing the right things? Somebody challenged him with:
Who are you to question the value of
bug-ridden software to the customer? For what it's worth,
here's what I think ...
In undertaking any work for a customer, it's important to
understand what the customer values and why. Developers have spent
a long time with their heads buried in the sand. Paraphrasing Kent
Beck: It's not enough to write great software, you need to be
aware, be accountable, and you need business acumen. As someone
hired to create the software it would be remiss of me not to ask
why the customer values low quality software.
I reckon it's fair to say that, in the majority of cases, the
Business doesn't truly understand the (cost of the) consequences of
low quality software down the line. And as a technical person, I
might not fully understand everything about the business, but I do
understand the concept of cost, return on investment, and I have a
good idea of the (cost to the Business of the) consequences of low
quality software.
It's a myth in the IT industry that quality costs more. Ok it's
likely to cost more in the short term, but baking quality in from
the start eventually boosts productivity and over the medium to
long term the business gets more, with high quality, for less. Only
seeing the short-term focuses on the fraction of time software
spends in development and disregards the majority of time software
spends in post-production maintenance and enhancement. We have a
responsibility to work with the Business to help them understand
the inherent value of quality and the benefits it brings. In the
majority of cases, the software is a corporate asset.
In the context of client-vendor relationships, Deming has written
extensively on the trend of
awarding business based solely on price . Deming said
driving down the price without regard to quality will drive
good vendors out of business . I would also argue that a
lack of regard for quality by the Business is making craftsmen,
people who recognize the value of quality, a dying breed. In the IT
industry we're seeing vendors support slashed prices by cutting
quality. They make their money back by charging extortionate sums
for change requests. (This is why the argument between client and
vendor about whether something is a defect or an enhancement or a
new feature has become so prevalent). Vendors won't admit to
developing poor quality software but they're in business to make
money so they will argue that something is not a defect. This modus
operandi is embodied within many business models. I don't agree
with it but I can certainly understand why they do it. They're
driven to it by the Business not understanding the value of
quality.
Who am I to question the value of low quality software to the
customer? I'm someone who cares about business as much as the
Business does and I'm someone who
cares about software .
Wednesday, 12 December 2007
Who am I to question the value of low quality software to the customer?
Posted by Simon Baker - Permalink
5 Comments
Hey there. That’s an interesting post. I suspect we have a lot in common and would agree about most things … but I attended your xpday sesson and I got a completely different impression of the exchange you mention!
In fact, I suspect that it was me who asked the question you mention. I’m not sure, though, because while I did ask a question about quality right near the start of the session it wasn’t phrased anything like you put it “Who are you to question the value of bug-ridden software to the customer?”. It probably was me though.
The question I asked was “Why is that so bad?” after your colleague was saying - what I interpreted to be - that defects are intolerable. He also some people are pleased that they “only” have “200 defects”, but they shouldn’t be. I asked if that was true if they’d previously had 2000 defects and had reduced it down to 200, but we never discussed that.
I’m wasn't looking for an argument during your session – just clarification.
Your colleague seemed - to me - to be stating one of his values as “no defects are tolerable” and also that as "agilists" we should all go back to our customers and managers and “demand” better.
I suspect we have a lot in common, but I am concerned that your message could be construed as meaning that “no defects are tolerable – we must not permit any defects”. Deming did indeed say that improving quality is not an alternative to productivity, but a cause of productivity. That's something we both agree with, but his goal wasn't perfection, only to get better - lots better. Go read his stuff, it's very eye opening.
I’m even more concerned that you SEEMED to be encouraging people to go back to their workplaces and DEMAND better. I hope I got it wrong, because that’s going to get people fired. It’s certainly not going to change anyone’s mind - only make them more resistant.
Perhaps I got the wrong idea. You guys were pretty hyped (which is to be expected in a situation like that) and you are naturally very passionate about your subject, but you were preaching to the converted. I really hope you weren’t encouraging people to go back and make DEMANDs. Why not try eEncouraging them to go back and have considerate discussions with their colleagues instead?
Hope you don't take this note as an attack - I don't mean it that way. I would encourage you tone down the chest thumping though.
Good post. See some of my thoughts on Deming's management ideas . Also you may be interested in the software development category of my blog.
Hi Clarke,
Thanks for the comment. I thought I'd reply quickly to hopefully allay some of your concerns, specificially regarding my viewpoint of defects and the term 'demand better'.
My viewpoint is not that 'no defects are tolerable - we must not permit any defects', rather that we must continually strive to produce high quality product. People frequently become numbed to accept poor levels of quality - both in business and in technology areas. My concerns are manifold. Defects, the most expensive form of waste, not only directly increase cost, damage flow and decrease product throughput (not to mention other negative effects more difficult to quantify, e.g. customer satisfaction, morale, product confidence) but also create subsequent forms of waste (e.g. bug tracking, prioritisation, reproduction, deployment). All too often I have experienced product development scenarios (supposedly 'agile') that have amassed a large amount of defects in a relatively short timespan. To use your example of going from 2000 defects to 200, that sure does sound like a good product improvement (given that the closed bugs' size and complexity/cost distribution were comparable to those remaining) but my concern remains - how did we get to a place where we had 2000 bugs in the product? At the session we used the term 'pursue excellence' (the 5th tenant of Lean Thinking) in an attempt to communicate that active awareness to learn from our efforts and continually improve. This is where we tie this topic back into the larger context of 'compromised agility'.
The term 'demand better' was similarly used to try and raise awareness on a wider scale, to encourage people to see the whole. I'm am quite surprised at your reaction that people will get 'fired' for such an attitude but I suspect there is a language interpretation difference here. Demand better is not about argumentatively provoking or putting down the people you work with, it's about being resolute to find a better way, to continuously improve, to learn and adapt and to never settle for second best. 'Encouraging' is a nice term but it's too non-committal for me, I enjoy working in an environment where people are switched on, respect each other and pursue excellence - they do demand better every day, both of themselves, each other and the organisation they work within.
Of course, our XPDay session was meant to be deliberately provocative in the hope of igniting some much needed and constructive debate and sending people off to the pub with something to talk about :) It's a pity you didn't find it rewarding and perhaps left prematurely - it would have been good to discuss some of the topics you've mentioned both here and in your blog in person.
Gus.
Hi Clarke
The question - "Who am I to question the value of low quality software to the customer?" - was asked specifically and came from the table discussing whether companies are valuing the right things. It isn’t a spin on the exchange you refer to.
I'll respond to the remainder of your post when I have a some more time.
Thanks for the clarification guys.