Inside every agile organization, there lurks an ever present dilemma. This dilemma never goes away. It will always be a source of struggle, either big or small. At times, it may only restrict ‘how agile you can be’. At other times, it may challenge the entire agile transformation itself and rock your organization to its very core. The dilemma I speak of is the role of an Engineering Manager.
The Scrum Guide, when it outlines the roles on a team, excludes the role of an Engineering Manager. The Scaled Agile Framework, with all of it’s documentation, outlines what Lean/Agile Leaders look like. Extreme Programming is also quiet on the role of an Engineering Manager.
And in a lot of ways, this would make sense. These agile frameworks aim to appeal to as large of audience as possible. If they take a stand on the role of an engineering manager, they risk alienating potential users of their framework. Discussing the role of the engineering manager gets into very dangerous territory - office politics.
And that is a shame, because your leaders, at ALL levels, can make or break your agile organization. If you have even 1 manager who doesn’t “get” agile and their role in it, it can have disasterous results. Especially if that behavior is inadvertently praised and rewarded.
So what is the role of an Engineering Manager? It is to mentor, coach, and manage the engineers in their charge. Junior engineers need to be mentored in a variety of areas of the craft of software engineering, including working on a team, reviewing code, validating a change, and of course, designing and writing code. These aren’t trivial skills that one picks up overnight, and a young engineer will need help as they learn to master these skills.
Those who have the basics down still need correction on various different points now and then. Here, the manager can coach his team members and help build them up on areas where they struggle. This can take the form of gentle encouragement, reading assigments, pairing with a peer on the subject, an open discussion, or even formal training. Here, the manager can get creative in the way they build up the skills of their team frther.
Finally, an Engineering Manager must manage those that report to him or her. This includes hiring, firing, promotions, reviews, and any other HR responsibilities. Depending on the organization, these responsibilities may vary, but most are universal to any management role.
Outside of the team, an Engineering Manager has a duty to the larger organization. Here, he or she must work with other leaders to foster a culture conductive to the goals of the organization. In an agile shop, this means working to foster a culture that supports the agile values and principles. Beyond this, perhaps an organization also wishes to foster innovation. In that case, they would do well to build a psychologically safe environment. Or, perhaps they need to reinforce accountability, in which case they could take inspiration from Chris Avery’s Responsibility Process or through books like The Oz Principle.
Before concluding, I’d be remiss if I didn’t share what 2 other agile thought leaders have considered on this topic. Sally Elatta, President of Agile Transformations, a company focussed on Agile training, coaching, and tools, wrote a great article stating that the role of a manager in agile shifts from being tactical to being strategic. With the team being empowered to self-organize around the work, a mature team needs little guidance in the tactical, day-to-day work.
While not discussed directly in the Scaled Agile Framework, this article regarding the evolving role managers from SAFe describes many responsibilities a manager in a SAFe implementation can and should take on to support the SAFe implementation. This too provides good guidance and includes good tidbits, such as working to build a DevOps infrastructure and culture, regardless of whether you follow SAFe or not.
In an agile world, the role of a manager is not easy. To support the fast pace of change, the manager must be as nimble as their team. Just as the role of engineers change as a company moves to agile, so to does the role of the manager. But I think the biggest challenge AND the biggest reward, is that the role of a manager will change as the team matures. As the team takes on more responsibility for themselves, the manager can broaden their role to take on other responsibilities. And it is here that the manager can turn a challenge into an opportunity for themselves and the organization.