5 responsibilities of an agile software development manager

To gain all the benefits from agile, successful software development managers must be part translator, part motivator, and part task master

5 responsibilities of an agile software development manager
PeopleImages / Getty Images

I recently participated in an #IDGTECHTalk, a Twitter chat held Thursdays at 12 pm ET that focused on the topic of “The Current and Future State of Coding.” Many of the questions and tweets were about coding languages and frameworks; I elected to focus on the role of software development management in ensuring teams meet objectives, follow best practices, and collaborate on solutions.

Many organizations empower self-organizing teams to commit every sprint and deliver reliable application releases. They expect code that is high quality, low defect, secure, and maintainable, that also meets business objectives and reduces technical debt. Large organizations that have multiple agile teams and strive to balance standards with self-organizing principles must consider the roles and responsibilities of management and key team members.

That’s where the software development manager’s role needs to be defined. Agile development has specific guidelines for the role of scrum masters, product owners, and teams, but most practices and frameworks have little to say about the software development manager. I consider the job a mix of helping teammates excel at their roles, balancing standardized processes with agile principles, and delivering great technology based on frameworks and best practices.

Here are five specific responsibilities of the agile software development manager.

1. Discuss implementation tradeoffs with product owners

Features and user stories should define the what, why, and for whom so that teams gain a shared understanding of the requirements and acceptance criteria. Ideally, they shouldn’t be overly prescriptive on how the feature or story should be implemented, although many product owners elect to define user stories with implementation details.

If the feature or story is overly prescriptive, then it locks development teams into specific implementations that might be expensive to implement or difficult to scale. When there are too few details, then development teams may not know the best implementation options that meet end-user needs and business requirements.

When requirements are overly prescriptive, software development managers should identify and then explain multiple implementation options with product owners. Each option likely has benefits and tradeoffs, and the discussion often yields better solutions.

Moreover, when user stories are ill defined, the software development manager should prevent teams from committing to them and then consult with the product owner on the level of detail required.

2. Translate best practices and standards to team members

Defining and sharing best practices and standards is a hard task for architects, but getting teams to understand and utilize them appropriately can be daunting for large software organizations.

Teams might have experts who want to do things differently than what standards recommend. Teams could also have less-experienced developers who might not fully understand a best practice or how to apply it in their coding challenges.

The software development manager needs to understand the skills and mindset of each person on the team. She should review implementations from a stadium view and identify which best practices and standards may be applicable. She can then translate them to the team and share questions or challenges with the architects.

3. Challenge backlogs that don’t address innovation and technical debt

Product owners work with many stakeholders and customers to determine product visions, roadmaps, and feature priorities. They face significant pressure to get more features done and make more stakeholders happy with their choice of priorities.

The pressure often leads to an imbalanced agile backlog that is overloaded with features and lacks sufficient capacity to experiment, innovate, and more importantly, address technical debt.

The imbalance is often needed for some sprints and releases when business-critical functionality has to be delivered in rapid timeframes. However, at some point, teams have to return to an equilibrium where features, innovation, and technical debt priorities are balanced.

Developing dashboards on the agile backlog is one way to make the priorities more transparent. Some teams introduce additional governance and processes to manage technical debt. However, there’s no substitute for having a leader on the front line who is actively pursuing this governance.

The software development manager is that person. He can sense when teams are frustrated and need additional time to address technical debt. He also knows when teams are struggling to implement more complex solutions and need  time to experiment and innovate.

4. Deliver high-quality releases on a defined schedule

Probably the most important responsibility of the agile software development manager is to ensure that high-quality releases are delivered on schedule. Teams and squads who have poor execution or are deemed unreliable, inconsistent, or irresponsible as to quality and timelines put their organization and their jobs at risk.

When there are symptoms of these issues, it’s the agile software development manager’s job to identify causes and address them. As I speak to many software development managers, the common knee-jerk reactions to these problems include:

  • Blaming the product owner for overloading the backlog with too many complex priorities.
  • Identifying other teams or outside dependencies that block or slow progress.
  • Calling out the lack of training, skills, or knowledge on the team.
  • Pointing at technical debt, the lack of standards, or the need for new architectures.
  • Specifying additional investment in testing, CI/CD (continuous integration/continuous delivery) automation, and other implementations that improve quality or reduce overhead.

Chances are, all of these apply to some degree, but these are not the answers leadership wants to hear if the team is underperforming. Software development managers need to consider what actions they will take—and to a larger extent, what is within their control—to get the team back on track. Some of these options may include:

  • Discussing the issues at retrospectives so that teams recognize the problems and partner on addressing them.
  • Reviewing and collecting more data around defects escaping to production and identifying requirements and testing gaps.
  • Reviewing story acceptance criteria to make sure teams fully understand quality expectations.
  • Planning and communicating earlier in the release and sprint cycles when work requires input from outside teams.
  • Committing to a slower velocity and smaller scope until teams get back on track.

5. Drive diverse thinking and problem solving

Successful agile teams learn how to collaborate and work together as a team. Rituals such as standups, demos, and retrospectives help bring teams together to understand requirements, estimate solutions, work out blocks, and improve their process. These rituals create the basis for collaboration. Software development managers have to decide how to get ideas and active contribution from all participants.

Teammates have different personalities and expertise. Some may be introverted and have a hard time contributing to the conversation; others may be Type A personalities who dominate the room. Similarly, more-experienced developers may control problem-solving sessions or take on more advanced work, discouraging the more junior developers from sharing their ideas or taking on tasks that help them grow.

Scrum masters should take an active role during meetings to ensure that everyone contributes and there is diverse thinking. Software development managers need to take this one step further and make sure the team is behaving like a team, respecting everyone’s opinions, sharing ideas, and enabling everyone to participate and learn.

Now isn’t that what management is all about?

Copyright © 2019 IDG Communications, Inc.

How to choose a low-code development platform