Quality: It's alive! It's ALIVE!
Posted by Uncle Bob on 03/07/2009
Recently James Bach wrote a compelling post entitled Quality is Dead. As much as I’d like to agree, something interesting has just happened that tempts me to believe in a rebirth.
Just when James finally declares the death of quality, along comes the Manifesto for Software Craftsmanship. This simple document that builds upon the four values declared in the Agile Manifesto went live late on Friday evening. Now, at 3PM on Saturday over 600 people have signed it!
What does this mean? I think it means that many of us have seen what James was talking about, and are tired of it. We don’t want our users posting blogs – as James did – crying that they HATE us. We want our users to be astonished by the elegance and simplicity of our creations. We want other software developers to look under the hood and be amazed and impressed at the clarity and simplicity they see.
We want to be proud of our work!
We want our quality back!
And so a few weeks ago some software developers gathered at the offices of 8th Light in Libertyville, Illinois, and began the process of creating this manifesto. There followed a very active and passionate discussion in the Software Craftsmanship email group. The end result was this manifesto.
I encourage all of you to read and sign the manifesto, join the email group, and help bring quality back to life in the software profession.
Comments
Thomas 35 minutes later:
From James post: “and mass acceptance of ritualistic development and testing practices make the world an unsafe place for users.”
Is he talking about TDD,DDD,SCRUM and Agile ?
Sai about 7 hours later:
True… I am not a software developer but a tester who signed the manifesto. Doesn’t mean that I can’t develop (I do have some opensource projects) but I prefer and have a passion for testing. But I still signed the manifesto because I believe that craftsmanship is something which everyone who is involved in software creation should have. The sense of responsibility, pride and discipline to do the right thing should be with everyone.
I believe that correcting just one set of people who develop software and leaving the rest untouched will never solve the problem of software. So I welcome all Developers, Testers, Project Manager or anyone who is actively involved in Software to sign the manifesto and make it as a way of their work.
Dagfinn Reiersøl about 11 hours later:
It seems clear from the Bach post that he’s not referring to TDD and agile: “When testing becomes just a symbolic ritual, any method of testing will work, as long as it looks impressive to ignorant people and doesn’t cost too much.” Lip service and no substance, in other words.
ErikFK about 18 hours later:
Signed – though it feels a little bit like fighting windmills ;-)
Toby 1 day later:
I endorse the sentiment, but find it a touch ironic that the sign-in form rejects some valid email addresses.
Ravi Venkataraman 1 day later:
I’ve read the manifesto, and other than the first point, the rest don’t seem to add any value to the Agile manifesto. This does not mean that I don;t believe in quality, I do, but I’m not convinced that this effort will lead to any improvement in the overall quality of software produced. Let the attacks on me begin!
Let me reproduce these points and add my comments.
Not only working software, but also well-crafted software.
I agree whole-heartedly with this.
Who defines what is well-crafted software? Are there any objective measures for this?
Not only responding to change, but also steadily adding value
Aren’t the two phrases the same? When you respond to change by meeting the request from users, aren’t you providing value? Or does responding to change mean that we can say “No, can’t do that” most of the time?
Not only individuals and interactions, but also a community of professionals
The second phrase seems to bear no connection to the first, except in the implied sense that a community of professionals will interact with each other.
The Agile manifesto emphasized the importance of people over processes and tools. “A community of professionals” seems to be a complete non sequitur. This seems like the beginning of a call for a professional body for software craftsmanship. And I fear that does not translate to higher quality, but will translate to higher hourly rates for certified members of the group.
Not only customer collaboration, but also productive partnerships.
Once again, aren’t these two the same? When you have customer collaboration, don’t you end up with productive partnerships? Why, then, do we need to add this phrase? Is it because the Agile Manifesto has four main principles that software craftsmanship must also have four principles that seem to extend the Agile Manifesto?
In summary, I see the need for only the first principle, the rest seem to be words cobbled together with the intent of getting higher rates for the leaders of this “Software Craftsmanship” group, this group of self-proclaimed experts.
Sebastian Kübeck 1 day later:
@Ravi:
> the rest don’t seem to add any value to the Agile manifesto
It’s not the Agile manifesto. It’s the Manifesto for Software Craftsmanship. These are two different things.
> Who defines what is well-crafted software? Are there any objective measures for this?
Not really. It’s more an attitude. The attitude to care for quality.
>>Not only responding to change, but also steadily adding value > Aren’t the two phrases the same?
Nope! There is something Martin Fowler calls “Shotgun Surgery”. You change the code without caring what harm you do to the system.
>> Not only individuals and interactions, but also a
community of professionals
> The second phrase seems to bear no connection to the first, except in the implied sense that a community of professionals will interact with each other.
It think it’s the professional attitude that is important here. Not just interaction but close collaboration to create great products.
>> Not only customer collaboration, but also productive partnerships.
> Once again, aren’t these two the same? When you have customer collaboration, don’t you end up with productive partnerships?
Once again, No: You can collaborate and still rip-off your customer. You are not just working together but working together with respect for each other to achieve common goals.
This is at least my interpretation. Maybe you find some better explanations in the newsgroup mentioned in the post.
ErikFK 1 day later:
Looks to me as if Ravi had a bad day – or he is possibly only looking for a flame war ?!
Malapine 1 day later:
How many of the signers are CEO’s of major software or consumer electronics corporations? :/
Marta 4 days later:
I signed the manifesto last night, because I do care, a lot, about crafting software, and I endorse those values. I am also very happy to see that many others have signed since. I was a bit unhappy, though about having to call myself an “aspiring Software Craftsmen” I don’t care much about being too PC, but I think calling me an “aspiring software craftswoman” or a craftsperson would describe me better :) Both are in the dictionary (I checked). Looking fwd to meet Uncle Bob and hear his rantings at the ACCU conference next month!