What gardening has taught me about developing software and vice versa

An enterprise integration garden, the sort of thing I’m seeing in my dreams these days
Red tropical sage, a central Texas native, is hardy and easy to grow
I suppose the gravel creates a nice contrast

It doesn’t work that way with software. […] The garden doesn’t quite come up the way you drew the picture. This plant gets a lot bigger than you thought it would. You’ve got to prune it. You’ve got to split it. You’ve got to move it around the garden. This big plant in the back died. You’ve got to dig it up and throw it into the compost pile. […]

Would you try to plan a garden in such detail that you would know where each leaf will be positioned before you plant a single seed? Would people expect estimates (or are they promises in your organisation?) on exactly how many flowers will have bloomed in one year? Would you have an incentive tied to that? Things that would be perfectly reasonable to plan for a bridge seem a little ridiculous when you are talking about a garden.

Surely it won’t get much bigger than that

That tangle of weeds you’re walking through is growing thorns. Have you ever been in the situation where you’re using your framework and trying to add a library to it, just to realize that the library version you need doesn’t work well with the framework version that you’re using? Sometimes it takes more effort to make two pieces of code work together than it does to just write the code yourself. And since the frameworks and libraries that you use are often built on other frameworks and libraries that can have hidden incompatibilities that you can’t even anticipate, the problem can grow exponentially more complex, reaching a point where they’re impossible to manage if you want the project to keep growing.

DON’T: Mulch volcano




Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store