Tedium or interest? The choice is yours.

During his excellent software craftsmanship session at Lean Agile Scotland, Sandro Mancuso made an analogy between software maintenance and gardening. A garden needs constant attention – lawns need cut; flower beds need weeded; old and diseased plants need replaced. As all you gardeners out there know, I could go on. The list is long and each season brings its own distinct tasks.

http://farm8.static.flickr.com/7248/7697781466_ea258e8fab.jpg

It got me to thinking about a bus journey I took many years ago from Inverness to Dundonnell. I got into conversation with a young woman (as one does) and she introduced me to a new term: permaculture. Permaculture borrowed widely from earlier practices, such as organic and no-dig, and synthesised a different way of thinking about horticulture. Rather than fighting against nature, work with it. Plant ground cover to suppress weeds. Use mulches to avoid the need to dig. Zone your holding so that the areas you visit most are closer to your house. Maximise the utility of every design decision.

Adopting permaculture is not easy. It requires a change of attitude. There are new skills to acquire and master. Perennials require less input than annuals, so a re-examination of your cropping plan is necessary. And sometimes you may decide to keep doing things the old way for specific crops.

A lot of parallels could be drawn between permaculture and various movements within the software development community, but I’m going to restrain myself. The point I’d like to make is a simple one. Regular, tedious effort is not a given in gardening or software development – it is the result of choices made. Once you know there’s a choice to be made, then you’re free to make an informed decision. If you don’t know there’s a choice then you’ll probably keep on weeding, digging and cutting the lawn, whether they make you happy or not.


Posted

in

by

Comments

One response to “Tedium or interest? The choice is yours.”

  1. JamesT Avatar
    JamesT

    Hi Seb,I’m not sure how far the gardening/permaculture analogy can be taken (writing as someone who has been developing software since 1978). The changes (becoming more frequent) would mean that on a few-monthly basis perhaps the soil type in your garden would change, the actual climate may vary annually from sub-Saharan to Artic, and every five years a tectonic event would re-shape the garden almost beyond recognition! (Perhaps 34 year in the business has made me a bit cynical 🙂 !In gardening we have a pre-defined set of tools that have reached the stage of development that they can’t really be improved upon to any great extent (spades, forks, rakes etc.). Of course people try and invent something that is intended to replace the existing ones but that’s usually marketing rather than a real improvement. So these "old" tools may be thought of as having reached an optimal stable state – every gardener knows what they are and how to use them.I cannot think of any software development tools that have reached this state yet. It is, of course, the nature of the beast just now! Software development / engineering, as a technology, is still in it’s infancy (no matter what we may wish to believe).

Leave a Reply

Your email address will not be published. Required fields are marked *