Software development

While Reading the Software Architecture Elevator book I noted this phrase about software development, which I relate to a lot. I usually participate in projects where business is trying to get software done right at first as if it was possible to do it and do not think about it anymore, doing it in a few months, and it is done. I believe it is not possible, at least, for enterprise projects. It is a marathon, not a sprint, one step at a time, like taking care of a garden, being patient:

"A slightly more fitting analogy for enterprise architects is that of a gardener. I tend to depict this metaphor with a character from one of my favorite movies, Edward Scissorhands. Large-scale IT is much like a garden: things evolve and grow on their own, with weeds growing the fastest. The role of the gardener is to trim and prune what doesn’t fit and to establish an overall balance and harmony in the garden, keeping in mind the plants’ needs. For example, shade-loving plants should be planted near large trees or bushes, just like automated testing and continuous integration (CI)/continuous development (CD) will be happier in the neighborhood of rapidly evolving systems.

A good gardener, just like a good architect, is no dictatorial master planner and certainly doesn’t make all the detailed decisions about which direction a strain of grass should grow—Japanese gardens being a possible exception. Rather, gardeners see themselves as the caretaker of a living ecosystem. Some gardeners, like Edward, are true artists!

I like this analogy because it has a soft touch to it. Complex enterprise IT does feel organic, and good architecture has a sense of balance, which we can often find in a nice garden. Top-down governance with weed killer is unlikely to have a lasting effect and usually does more harm than good. "

Published