The Right Metaphor: Software as a garden, not a building
Sometimes it is a small change in perspective that makes a lot of the difference. Chris Holmes just made one such observation that I am going to use in the future.
He argues that we should think about software as a garden that requires nurturing rather than a building which requires maintenance. The big thing here is that I can already think of some parallels that I can draw (would you really want to decide up front how the garden should look, and put concrete lines all over the place?) that are more useful than the usual building metaphor.
Comments
The metaphor actually belongs to Andrew Hunt and David Thomas, authors of "Pragmatic Programmer: From Journeyman to Master" (http://www.pragmaticprogrammer.com/ppbook/index.shtml).
Never been able to read that.
I kept putting it down to write code :-)
I agree with Chris: the capacity to evolve is clearly a way of indirectly selling maintenability, and it can be demonstrated easely to a customer in the case of a highly customizable application.
Personally, I've heard in the pas about methaphore of Cathedrals: as nice outside as inside which means internal maintenability and evolving capabilities.
Ayende, you probably already know most of what is said in "Pragmatic Programmer", but Hunt & Thomas probably word some ideas more elegantly than you, due to their experience. I don't know about you, but I love it when someone says something that crystallizes thoughts already in my head in a new, clear, and simple way.
Luke,
I read the book, at least the first few chapters, several times.
I just get all excited about code when I do it, and never manage to get through to the end.
And yes, I certainly love it when someone crystallize an idea
If you can fly through books as quickly as you can fly through coding, it shouldn't be too hard to finish the book. :-p
I knew when I wrote that garden metaphor that it was the work of my subconscious mind; I just couldn't remember where I'd read it before. Thanks for reminding me Sasha. I did indeed get it from the Pragmatic Programmer.
Comment preview