Sunday, 28 December 2008

Is Craftsmanship All About Code?

Much of what has been written about software craftsmanship has focused exclusively on code quality. Is it possible to be a software Master Craftsman if you don’t write code?

It is undoubtedly true that we need urgently to improve the quality of code, and we ought to extend our value set to include this aspiration (see for example this blog for some ideas on that). It is also true that code, in its various forms, is the long-lasting deliverable of most software projects. But the cleanest code in the world has no value if it fails to solve the business problem at which it is targeted.

Even for those of us whose primary output is code, mere mastery of its construction is not sufficient. My contention is that there are at least two other facets to an all-round Master of Software: the social skills discussed in my previous article and the ability to harness the power of code – our own and that of others – to solve problems. And while I’d be deeply suspicious of anyone claiming to be a Master of Software who had not at some point demonstrated exemplary coding skills, I think we have at accept there may be Masters who don’t code.

1 comment:

Anonymous said...

The cleanest code in the world will also not help solve global climate crisis. Does that mean we should ignore code quality altogether? No!

Solving the business problem is any software's raison d'ĂȘtre. We don't need a movement to prove it because it's obvious.

What Software Craftsmanship movement emphasizes is that there's more to software development than simply "doing the right thing". The movement was born, I think, because too few developers know how to "do the thing right" (aka. the Craft).