Culture of maintenance
In most product-based companies, there’s an inherent bias on focusing on churning out features out the door as fast as possible. There’s this notion that the time to market for new features is everything. While this can be true for companies which are exploring their market fit, or attempting to expand their products in an attempt to increase their market share, there’s a huge “middle ground”, for companies who have a decent client portfolio and are stable enough that they can grow their products in a more methodical and controlled manner, where having this culture of simply pushing the technical boundaries of the product and churn out new features is not the only thing that matters.
Besides keeping the product growing and expanding with new features, these companies face the challenge of finding time to tend to the codebase both from a maintenance perspective as well as a future growth perspective. The best way to do this is by embracing a culture of maintenance.
A culture of maintenance
A culture of maintenance is what I like to think of as a culture where reducing technical debt is as integral for the company as shipping new features. It’s a culture of understanding that without an intent for reducing technical debt, future work will be harder and will only lead to cruft and re-work. That, in itself, is a good enough reason to try and promote a culture of maintenance across your company, because, very directly, it can. impact your capacity of producing value, thus showing that it is important to consider maintenance as an integral aspect of your culture.
Embrace it by fostering some initiatives at your company that can help with it:
-
bug squashing;
-
maintenance sprints;
-
multiple code reviewers;
-
cross-team collaboration;
-
blameless culture;
If you can foster even some of these initatives at your company, you will be in a good position to create a culture where maintenance is regarded as a first class citizen and, maybe, with some time, celebrated.
Remember, it’s all about empowering developers, managers, product teams and product owners to understand the true value in maintaining a “clean house” so it can grow and expand in a predictable, sustainable pace, which is the best driver to foster innovation and keep developers engaged and motivated to do their best work.