choose your next car: fiat duna, toyota prius or ferrari f60?

[caption id="" align="alignnone" width="950" caption="Mass Production"]
Media_httpuploadwikim_tpezm
[/caption] [caption id="" align="alignnone" width="600" caption="Lean"]
Media_httpwwweveryjoe_jexir
[/caption] [caption id="" align="alignnone" width="776" caption="Craftsmanship"]
Media_httpwwwgothamdr_rchrk
[/caption] If  you're lucky, you can afford Craftsmanship, good for you. You'll have top quality, in a hand crafted sports car. Or if you didn't follow the market in the last 20 years you'll opt for a second hand Fiat Duna, mass produced in Brazil in the nineties and you will spend almost nothing (well not including costly maintenance): nobody wants a Duna! Maybe you want to go lean. You want to spend a little more and be environmentally friendly (the Prius is a Hybrid) and get a sweet piece of technology. The challenge for the Craftsmanship movement is to keep the cost low, the challenge for the lean movement is to show to all the world how great the quality/price relationship is. There's no hope for you if you're following mass production/waterfall process: you will end up with an ugly broken car.

Agile is not enough

I've trying to be an agile developer at least since 2005, I still remember the presentation that Craig Larman gave to the audience of the '05 Milan Java Conference about Waterfall Vs Agile development. I was somehow agile already,  but from that day I've took the task more seriously reading books and trying to work for companies using agile methodologies. I think then that sometimes I've been agile, especially in a couple of projects at ThoughtWorks. However I always had the feeling that wasn't enough. If we were successful in projects, if our code was readable and nice wasn't only because of agile. Lots of people also used (and use) to say that agile works because there are good people and good teams working with agile, that might make sense (I personally think that if you're "good" you probably choose agile methodologies) but doesn't really explain properly the "coincidence" of agile-good people-successful projects. Then I've discovered the Craftsmanship Movement, their manifesto, their discussions on their mailing list, I've read the The Craftsman by Richard Sennet and everything become clear. My conclusions are that I've chosen agile because I was trying to be a craftsman even before knowing anything about agile, that I've always tried to improve, to do a good job for the sake of doing it. I also think that some people will never been craftsman and trying agile for them will be harder or even harmful. Craftsmanship is behind my need of searching betters way to deliver software and it helps to make my agility more effective.

The final Manifesto for Software Craftsmanship

The guys of the Craftsmanship group finally released a final version of their manifesto, have a look here!

As aspiring Software Craftsmen we are raising the bar of professional software development by practicing it and helping others learn the craft. Through this work we have come to value:

Not only working software,
but also well-crafted software
Not only responding to change,
but also steadily adding value
Not only individuals and interactions,
but also a community of professionals
Not only customer collaboration,
but also productive partnerships

That is, in pursuit of the items on the left we have found the items on the right to be indispensable.

© 2009, the undersigned. this statement may be freely copied in any form, but only in its entirety through this notice.