We have entered a critical time in the life cycle of many companies around the world. The world has shifted away from a period of immense growth, and as many struggle to meet revenue expectations, companies and their leaders face a ton of pressure both internally and externally.
While this is an existential threat for businesses to be sure, it can also be an opportunity for engineering organizations to help the broader organization help itself, and accelerate out of the bad times: this can be a time when engineering leaders can make the tough decisions that couldn’t be made before, and ultimately to come out of this hardship even stronger.
As an engineering leader, how well does this scenario resonate? The business is looking for areas of growth and decides to develop a new product or feature it can sell to customers. The company is to rally around this new effort, but as new product versions are rolled out, the customer success team refuses to migrate certain existing customers. “It will mess up their work flow.”
“The new version doesn’t have a feature that my customer still uses.” “My customers want to wait until the new product is more stable.”
Place your reason for not migrating here. And so the engineering team continues to support both legacy products, versions, or features and the new ones in which it’s more recently invested.
Over time, the product gets bloated. It’s expensive to carry these things, and the engineering team knows this, but the rest of the business doesn’t understand or care about the expense of technical debt, infrastructure burden, and maintenance.
We hear this story all the time. And the reality is that in times of growth, this operating state may not be any significant problem for the business. Getting rid of things isn’t easy when customers still use the old, or commitments have been made. More companies than not are loath to make decisions to cut things.
But in times of uncertainty, and when resources tighten, many businesses move from growth mode to efficiency mode. That means they can’t do everything anymore. With a limited resource pool, executives must decide what are the things that are most important to the company and invest only in those. For engineering leaders, that may be just the opportunity you need to help the company make the decisions that it should have made all along: to deprecate or de-fund older product lines and legacy features. In times of limited resources, engineering leaders should be trying to figure out:
The question we should all be working through is, given our new economic reality, how can we set up our company to accelerate out of this bad time. Maybe now is finally the right time to delete old code that has gone untouched for too long. Perhaps now is the right time to finally open source some or all of your code.
After considering all the questions, can you make the decisions now that you couldn’t before to choose the new and sacrifice the old? Or vice versa should you abandon the new work in order to maintain our customers and invest in what you already have?
For some companies, this could be a time to re-invent themselves and their product lines completely. No matter what type of company you work for, behaviors are changing in very real and very impactful ways. People are buying things differently, operating differently, and depending on different things for their personal and work lives. Maybe now is the right time to force the pivot.
Limiting resources gives us a rare chance to pose some really important questions and to make some hard decisions. At Jellyfish, a Software Engineering Management Startup, we’ve been working with our customers to help them foster alignment on the executive team, use data to inform these tough decisions, and prepare their business for the future.
We’re all in this challenging time together, let’s emerge from it stronger than ever.
Previously published at https://blog.jellyfish.co/insights/tough-engineering-decisions