A story about craft

pdcawley on 2002-03-14T11:08:23

On ziggy's recommendation I've been reading Software Craftsmanship by Pete McBreen, and I'm loving it. At the heart of the book is a challenge to programmers, managers and customers and It's one I'm more than happy to take up.

However, that's not what this is about (well, not directly anyway). The book got me thinking about what the customer's experience of working with a craftsman is. And I remembered George's table.

George was my wife's father. He was a lovely man, occasionally boring, but wise and above all interested. He died a few years ago, and left Gill a tidy parcel of money and she decided that she wanted to use that to buy something to remember him by. Something permanent and, importantly, something useful. Furniture was the obvious choice, but what? Then we moved into our new house and realised that what we needed in the dining room was a really long table. Not the sort of thing you could buy off the peg.

At first we thought of scouring antique shops, but then one of us had the idea of commissioning something. So, we started looking for craftsmen.

Craftsmen are both easy and hard to find. There's any number of hacks who'll knock out a pine table and call what they do craftsmanship, but true craft is a rarer commodity. Eventually we found a few, and went visiting. We went to see the people on our shortlist and started off by looking in their showrooms and portfolios of previous work and if we didn't like what we saw, we went on to the next.

Eventually we visited someone whose work seemed in tune with what we liked, so we went to talk to him (he was in his workshop with a couple of his 'lads' who were working on a piece of furniture.) We talked about what we wanted (long table, not pine, English wood would be nice, probably not oak). He showed us a few pieces of work in various different woods, we took a stroll 'round the timber yard out back where the boards were seasoning, and settled on Elm.

Then he made a suggestion which suprised and pleased us. Before he took the commission, he wanted to come and see where it was going to go so he could get a better feel for the scale required (he'd never made anything this big before).

A few weeks later he paid a visit and we showed him 'round the house before sitting down at the kitchen table with mugs of tea and he sketched a couple of ideas out (not quite on the back of an envelope) while we chipped in with suggestions. And then, on the basis of a rough sketch, we shook hands on the deal and he went off and made George's table for us. And it was, and still is a delight.

"But how does that relate to software craftsmanship?"

Hmm... in the first draft of this, I spelled the answer out, but on reflection I'm going to leave you to draw your own conclusions. You're intelligent people, I'm sure you'll Get It.


we shook hands on the deal

Odud on 2002-03-14T12:30:43

But I thought you'd chosen elm!

Re:we shook hands on the deal

pdcawley on 2002-03-14T15:00:19

Death is too good for the perpetrator of such a pun.

it relates to programming as

hfb on 2002-03-14T16:10:32

It involves wood! *schwing* :)

Your original point

ziggy on 2002-03-14T18:52:29

On ziggy's recommendation I've been reading Software Craftsmanship by Pete McBreen, and I'm loving it. At the heart of the book is a challenge to programmers, managers and customers and It's one I'm more than happy to take up.

However, that's not what this is about (well, not directly anyway). The book got me thinking about what the customer's experience of working with a craftsman is. And I remembered George's table.

...

"But how does that relate to software craftsmanship?"

Well, if you're thinking along the same line of thought that Pete McBreen is thinking, then your parable is likely about the different interaction between craftsmanship and software today.

One of McBreen's main theses is that most software is actually a craft, much like making furniture. When dealing with a true master craftsman, you feel comfortable trusting his judgement and figuring out what questions need to be asked (like visiting the room where the table will eventually sit). This is in stark contrast to much software consulting (whatever you want, Mr. Customer, you shall have, because you're always right! and other such sales driven approaches) because often times the conversation with the craftsman is lost.

McBreen also makes a very well-reasoned argument (IMNSHO) that the meme of «software engineering» is at odds with what we want when we develop software much of the time. Surely, software engineering is warranted with some large cannot-fail projects (medical equipment, Mars Explorer). What we want and what we need most of the time is the kind of discipline that comes from craftsmanship.