In this crazy year that has been 2020, people are spending a lot more time at home. One of the things that has become more popular this year again is gardening. My wife and I have planted a garden for the last several years, so it’s business as usual for us this year.
Planting, maintaining, and harvesting a garden is quite a bit of work. But, it can be fun and a cheap way to eat the freshest food you’ve ever had in your life. If you freeze or can part of your harvest, you can also enjoy that food throughout the next year.
Like I said, gardening is quite a bit of work. There are a few bigger things you need to do, such as tilling the soil and planting. However the vast majority of the work is spread out over the spring, summer, and early fall (depending on where you live). Gardens are something that require diligent maintenance, and can become a huge pain if you ignore them for too long.
By far, the biggest pain for us is weeding. Weeding is fairly easy while the ground is still soft from tilling, but as time passes and the rains fall, the ground slowly becomes harder to work and the weeds don’t stop.
Keeping your garden clean of weeds is something you probably need to work on weekly, just so the weeds don’t become too developed and that much harder to get rid of. Think about that for a second. Weekly maintenance for nearly half the year. That can be hard to do if you go on a vacation, or just get extra busy and don’t have the time.
As I was working in our garden this weekend, I realized that maintaining a garden is a lot like maintaining software. If you work on software, you know that it’s a lot like a living thing – requiring regular maintenance and upkeep.
Software maintenance isn’t too bad if you keep up with the bug fixes, vulnerability fixes, server updates, etc., etc., on a regular basis. If you change “priorities” for a time and let those things go, you are guaranteed to spend a lot of time dealing with the mess eventually – when you absolutely have to. In gardening terms, usually that means the weeds are thigh-high and you literally can’t see your bean plants.
Will your garden still survive and produce something, without weeding? Sure! But it will be a fraction of what it could have produced with better maintenance. So it is with software. If you aren’t constantly iterating, improving things, fixing bugs, addressing UX issues, and just keeping software up to date – you can still use the software, but it won’t blossom into the useful tool it should be if properly maintained.
Tend to your software garden.