To Those About to Hack

Created 8th July, 2007 07:26 (UTC), last edited 9th July, 2007 00:38 (UTC)

Young Ben was taking a drink at the village fountain when he saw George ride into the woods from the carpenter's stable carrying a small axe. A few minutes later Abe was sitting outside the carpenter's workshop using a whetstone to sharpen an axe, which even from where Ben was standing was obviously dull and rusty.

“The new apprentice!” thought Ben. He wandered into the workshop and talked to the carpenter.

“It looks like you have set the would be apprentices a task. What is it, and may I try too?”

“You're later than the other two boys,” said the carpenter, “but you may try if you wish. You must find me a tree in the woods that is long and straight without knots or flaws. But I warn you, George and Abe already have the best of my axes, but you may take a horse to help you and any tool you find in the shed.”

This seemed odd to Ben so he asked the carpenter “If they have the best of your axes, and the best of your axes are so poor, what do you do when you need lumber?”

The carpenter smiled, “I go to the woodsman on the other side of the village.”

Now Ben knew he was in with a chance. In the shed he found a good saw and borrowing a horse he was at the woodsman's cottage only a few minutes later.

“Woodsman Sir, I have been asked by the carpenter to find him a tree that is straight and true without knots or flaws. Do you have one I may take, and what would you require as payment?”

The woodsman looked at Ben and spied the saw. “I have to cut this tree into planks. If you help me to do that so I can finish before sundown then you may take this other tree which I know the carpenter will think perfect.”

Working together Ben and woodsman cut the planks quickly, but it was still a large tree and it took until just before sundown. By the time Ben got back to the carpenter George and Abe had already delivered their trees.

Abe's was good, George's was too green, but Ben's was absolutely perfect just as the woodsman said it would be.

Ben was going to the be new apprentice.

As Hacknot says, we should prefer to be more like Abe than George, but I think we should even more prefer to be like Ben. Not only did Ben think before doing, but he did one thing that neither Abe nor George did. He talked to his client about the process and properly understood what the carpenter normally did rather than blindly assume what the carpenter does.

Process oriented errors creep into software because we haven't bothered to try to understand what the process is. We think we know what the process should be because we know how we would tackle the problem. George and Abe make this mistake. They assumed that the carpenter cuts his own trees because that's what they would do. They hadn't stopped to think from the carpenter's point of view and they hadn't made the carpenter's knowledge their own.

We cannot decide to think outside the box, but we can do what Ben did. The first thing that he spotted was an incongruity. We should expect a carpenter, especially a master craftsman, to care about and to look after his tools. Why were the axes in such poor shape?

Spotting and asking about these incongruities may help us to find better solutions, but learning from our clients and making their knowledge ours will always help us to find better solutions.


Discussion for this page