Tending Your Software Garden

You know, the more I think about the world and the times we live in, the more attractive farming becomes. I could stand working outside all day instead of in a stuffy office listening to blabber all day.

Thanks for re-invigorating my desire to be a farmer yet again.

I truly enjoyed this post. I come from a long line of west Texas farmers and have always considered what I do to be very similar to cotton farming. It’s good to know that I’m not alone in this thinking.

One universal law for farmers and ranchers here in Texas is:

Leave the gate the way you found it…

This is one axiom that I’ve found true in programming as well when dealing with other peoples code. Anyway, thanks for the article.

First, let me say great post and this is a great blog!

The garden metaphor is a great example of how software development feels. The construction metaphor is extremely effective for communicating with people who depend on software but don’t understand development. I can only imagine the reaction working in a software company when explaining that the release will grow organically with different flowers and plants, and it will be beautiful but we won’t know what worked and what didn’t until spring. It’s much easier to say the team is pouring cement and adding plumbing and soon we’ll be ready to talk about painting walls and designing the entry way.

That said, I’d much rather work at the company where people saw software like a garden, and I do believe that a culture that supports creativity leads to better products. That might require a corporate culture change however (like how about not putting my release date in your financial projections so that I don’t impact the stock when I am just trying to make a better product). Let my garden grow!

I think this topic would make a great interview question for marketing and product management teams. Do you see developing software like growing a garden or building an office building and why?

OK, one last thought which you should put in the something to think about category. People like to walk in gardens and look at gardens, but they live in houses and work in buildings. If your software is something that people must rely on, then does the garden metaphor really work? I like the smell of plants and the colors and all, but I NEED the lights on and the roof to stay over my head and those aspects I can not leave up to the chance of organic growth.

I got a bunch of crab grass in my code and the varmint cong is eating all my memory, any code gardeners know how to get rid of it?

At my next status meeting I’ll be thinking, Farmers spread manure, too.

Except that farmers don’t insult each other for failed crops or pick each other apart over dates and grammar. We need to find some parallel that has more of an ā€œAssholeā€ factor to it.

Nice post as usual.

Construction ā€œfailsā€ for the same reason manufacturing does: people look at the wrong part of it. Both parallels work if you realise that the programming is like the design stage of construction or manufacturing, and that running the program is like actually building the house or manufacturing the object. Each run is a new result based on the design.

The building/manufacturing part of this so obviously can’t be like writing software: you can’t ā€œrefactorā€ a building already ten stories high by entirely replacing the foundation. Software developers (good ones, anyway), do that kind of thing all the time.

1 Like