Good Gardening = Good Software (or What I Learned While Getting a Horticulture Certification)

I’ve written about how important it is to be curious and how a well-run software project encourages and makes room for learning. This concept was reinforced for me recently as I finished a certification in horticulture from the MSU Extension Gardening program.

Surprised? Hear me out. I firmly believe that learning about topics outside a core domain of knowledge can improve our work and make us more well-rounded consultants. It’s one of the reasons why, when joining Atomic Object, I liked that they talked about employees as ‘makers.’ It seems simple, but the idea that we are a group of people who enjoy making things, agnostic of any specific domain, is a powerful message. It implies a willingness to allow people to be curious and learn for the good of the work.

In this instance, learning about horticulture has reminded me about some of the key areas of value delivered by solid, diligent upfront strategy as well as putting a twist on some time-tested principles. Here are a few examples.

Choose the right plant and the right place.

This is a simple but critical approach to identifying plants for your space. It reinforces the fact that numerous outside forces impact how well, if at all, the plant will perform in your garden. So, much to my chagrin, I can’t just choose plants I really like the look of.

Rember that to build successful software, we must understand the desired outcomes so we can pick the right problem to solve and, within the given constraints, the best solution. You might even say, “Right problem, right solution”

Surviving doesn’t mean thriving.

When adding plants or vegetables to your garden, there’s a difference between surviving and thriving. In many cases, you can plant something and it will survive if it gets some water and light. But if you haven’t considered all the environmental factors, then it might live but not produce flowers, or fruit. It might grow, but it will stretch and flop over. Plants are parts of a complex network of things, and so not understanding their needs will directly affect how well they perform.

All software is complex, and understanding the combination of interconnected elements and forces is the only way for a project to thrive. It’s easy to build software that survives, but you must be intentional to build something that thrives.

A garden is never done.

Gardens are an ever-evolving experiment. They aren’t something you plant and then walk away from. Horticulture is an investment of time and resources and requires maintenance and adjustments over time. Some plants are only around for a year or two. The soil quality should consistently be improved and maintained. And, you’ll need to add and remove plants every year to keep it performing.

Sounds familiar right? It’s important to remember that software is an investment and if we want it to be successful we need to build it sustainability and monitor its performance. You can always improve a digital experience. Creating success metrics and testing for them is the key path to creating an outcome we can be proud of and that stands the test of time.


Join the conversation

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