Engineering Managers (EMs) have their sights focused on execution and people. They are working to ensure their team is achieving its goals and that their reports are on the right growth path. And that is plenty. Keeping a team running smoothly while creating a fulfilling environment for its members can be a full-time job.
Unfortunately, it’s often also not enough. In reality, fulfilling the short-term work within a team will keep the team afloat but not improve its current condition. It also might not keep things stable in the usual ever-changing environment in the technology industry.
That’s because every team, even the high-performing ones, will have a series of slow-burning issues that could become a problem if not addressed. That could be either because the team has yet to deal with them or because the context around it is changing, with more software complexity, legacy technology, or evolving business needs.
How can engineering managers address these situations? How should they improve their team’s system in the short-, medium-, and long-term? In other words, what is their strategy?
Strategy With a small ‘S’
Before discussing how to approach it, it’s worth addressing the Strategy word. Strategy has become a big word in technology, often representing a bold and ambitious plan. If you research “how to write an Engineering Strategy,” you will likely find instructions to create a multi-quarter/year plan involving “the business,” multiple stakeholder alignment rounds, and a long time to get it agreed upon.
That is overwhelming. And also different than the usual type of challenge a manager needs to solve at the team level. A big and bold move is only one of many ways to think about strategy. If a team has a challenge, small or large, strategy is how they will overcome it.
“A strategy coordinates action to address a specific challenge.”― Richard Rumelt, Good Strategy, Bad Strategy
Demystifying strategy is essential because, in most cases, engineering managers will face issues in their teams that are within their scope of authority or influence and where they can act. Waiting for the organization to align on a five-year plan won’t help move forward in these cases.
On the other hand, becoming proficient at identifying a problem, aligning on a plan to solve it, and executing it successfully will. To clarify, let’s look at a few examples of these problems.
Problems, Problems Everywhere
One general truth about software engineering is that any team can continuously improve. There are plenty of areas that a team could focus on to become more effective.
In addition, the natural path is for things to get worse. With more code and features, complexity increases. As time passes, a more significant part of the product is considered legacy. That means keeping the lights on is insufficient, as team efficiency will have a negative trend unless they are constantly working against it.
That leads to the common situation where teams are treading water. One typical example of this happens when the amount of failure (i.e., issues, incidents, tech debt) keeps increasing to the point that it takes a significant amount of time to keep the product running.
Worse than that, if teams don’t improve, they risk going backward into a crisis as the environment changes. For example, an average-performing team can fall behind if one of its members decides to leave the company.
Because of that, being strategic as a manager means understanding their team’s context, focusing their effort on improving specific areas, and leading the team towards a positive path. Strategy is how their team will counteract the environment and become more effective.
Given they understand how their team works and where to focus, how can they take action? This is an extensive topic; every point below should be an article. But here is a high-level list of steps an EM should consider to execute a strategic improvement.
Understand business goals and needs
Getting buy-in into any initiative is easier if it aligns with the company’s needs. While engineering improvement can be tangential to business goals, the high-level direction must remain the same.
For example, when working in an early-stage startup, being reactive to business model changes could be very important and justify investment in simplifying the codebase. On the other hand, in a fast-growing company, investment in stability and quality could be more critical. Ultimately, the closer investments in engineering are to providing strategic business advantages, the better they will be received.
For example, in the past, I was hired to manage a team in a high-pressure and feature-driven startup where engineers had a historical challenge in getting buy-in for improvement initiatives. In that case, it was important for the company to deliver new ideas quickly, in a few days.
With that context in mind, I found space for investment by clarifying that the team needed to create high-quality software with a strong focus on automated testing to achieve that standard. Once the business was aligned on that idea, finding support for initiatives to improve our testing abilities became possible.
Define the plan
It seems obvious, but for a plan to exist, it needs to be defined. It is surprising how common it is to see engineering managers with great ideas that never move forward because they have never proposed a concrete plan. Beyond that, undefined ideas can be unclear even for those suggesting them, making it hard to get feedback and find alignment.
While there are multiple ways to go about it, and it will vary by company culture, it is hard to escape from writing a document proposing a plan in today’s remote world. Creating a written proposal also helps by being an artifact you can share with different people, get feedback, and iterate on it.
There are plenty of formats out there. However, a simple one I have used successfully is based on the A3 Template. In practice, it focuses the proposal on the following:
- Background and context — What must someone know about the current situation and problem?
- Proposed plan — What exactly is being proposed?
- Expected results — What should happen if this proposal is executed?
- How to measure it? — How will the results be measured?
- Next steps — What are the immediate next steps after approving this proposal?
A written plan is also a cornerstone for any initiative. In any organizational environment, it is common to see people disagreeing about the path forward because they are discussing high-level problems past each other, bringing biases to the conversation, and not understanding what each other mean in practice. Because of that, even if an idea is not fully defined, putting it on paper will give others a concrete proposal to agree or disagree with, allowing it to evolve.
Having a strategy means focusing on one area instead of focusing on others. A common mistake for teams is to judge initiatives based on them promising a positive outcome. Prioritization is not about separating good ideas from bad ideas. It is selecting the best idea given the current context.
A strategy is a tool to agree on that context. Engineering managers can use it to define the current situation and align the team in solving a specific problem. However, to do that, the strategy needs to be focused. Combining many goals and putting them together in a list is not a strategy. It’s wishful thinking.
Once a plan is written, it is time to find the alignment and buy-in to execute it. While the amount of buy-in needed will differ based on the proposal, a manager should consider their circle of authority and influence when defining where to act on. In general, proposing plans that affect only their team will be much easier to find alignment on than trying to influence other parts of the organization to change.
With that in mind, making sure the team has had a chance to give a perspective on any initiatives and also making sure their manager is on board with the idea will be the best path to get support in creating an initiative. Beyond that, it is helpful to understand the people who influence decisions, either formally based on the organizational structure or informally based on their experience and tenure in the company.
A common advice I give engineering managers is to keep their proposals within their circle of control and get individual buy-in from their team members as they have the initiative to propose. It will be much easier to align a group when the manager is accountable for that group and when they all feel like they have a real opportunity to influence it.
It’s only done when it’s done
The vital part of any plan is to get it done. And that is similar to strategic improvements. When there is alignment and buy-in for a project they proposed, engineering managers should follow up on their execution and lead them to a conclusion.
That is always harder than it seems. Most improvement initiatives will require constant follow-up while the team builds new habits. It will also often feel like the team is taking one step forward and two steps back, as it will inevitably struggle to implement the change.
Leaders should remember that in any change process, there will be a backward leaning trend when the situation gets worse before getting better. That is natural, given a new process/technique will take time to be learned by the team. In these situations, it is essential to keep the momentum forward to get to a new normal.
Don’t forget about the basics
During this process, it is imperative to remember that the team still needs to keep doing its work well and that the main goal continues to be to build an effective team. Support for change usually comes following the organization trusting that a manager can lead a team to deliver on its primary goal, and it is essential to keep doing that while layering different improvements on top of it.
That means that leaders need to keep a finger on the pulse and adapt their strategies depending on what is happening. Having some confusion while implementing a new QA process might be okay, but delivering a low-quality product because of it is not. And if the latter happens, it might be necessary to pause the initiative, regroup, then move forward later.
Having a Strategy is Worthwhile
Managing a team is a complex task, especially because, as time goes by, new complexities and challenges will make the team struggle to maintain its performance. Because of that, every EM needs to think about their team strategy or what initiatives they should invest in to be in a better place in the future.
While defining and implementing them is an abstract endeavor, having a constant perspective and effort on improvement is a critical tool to make the team effective in the long run.