At Agile2008, in his banquet keynote,
Uncle Bob proposed that "
craftsmanship over execution" be
added to the
Agile Manifesto as the fifth value statement.
I've blogged
before about the lack of
craftsmanship in software development and it continues to concern
me.
While in Toronto I was reading
Artful Making
. The book bored me for the first few chapters but then it quickly
became a compelling read. I recommend it. It contains many
statements of wisdom. One passage, talking about a stage set
designer, resonated with me:
The designers movements were simple, free of tension. But the control that allowed this simplicity and freedom of movement was sophisticated and hard-won, a consequence of many iterations - individual rigor drawn from iterative experience yielding great precision.For me, ' the control that allowed this simplicity and freedom of movement was sophisticated and hard-won ' is called craftsmanship. As a worker practices the techniques for wielding his tools to work his material, he develops an ' individual rigor drawn from iterative experience yielding great precision '. Repetitive mechanical application teaches disciplined handling of the tools and also creates recurring opportunity to learn more and gain experience . The practices governing how tools are used, once silently incanted, become inculcated. Contextual awareness develops and a deeper understanding of the principles underlying the techniques is acquired . Intuition develops providing internal guidance to a growing expertise in trade craft.
As I blogged previously , a craftsman's mastery is borne out of his personal discipline when applying techniques to use his tools, his awareness of what's going on around him, and his thought processes. Martha Graham said, technique is the dancer's freedom . Technique is also the developer's freedom.