Mission Possible: ScrumMaster and Technical Contributor

[article]

In a Scrum project, the person in the ScrumMaster role is responsible for keeping the project following the Scrum process. Classically, the ScrumMaster isn't a (people) manager and isn't a technical contributor, because Scrum Master can be a full-time job. It's sometimes the case—especially with teams adopting Scrum organically— that it's difficult for teams to justify having a full-time ScrumMaster, so, for better or for worse, someone on the team needs to assume the role in addition to his other responsibilities.

The ScrumMaster

Facilitation roles such as ScrumMaster are often looked upon by organizations as having low value, even though coordination can enable a team to be more productive. On many projects—especially on small, dynamic teams that can benefit greatly from the low-overhead approach of Scrum—a ScrumMaster might be hard to justify. But, without someone fulfilling the role of "shepherd of the agile process," the team will quickly revert to old habits and not benefit from agile. This leaves two choices: hope that the team can adopt a new method organically without filling a ScrumMaster role, or fill the role with someone who already fills a coordination role in the team and who understands Scrum.

One option is to have a manager fill the role, since a manager’s role generally encompasses both the tracking and facilitation roles. Having a manager perform the role can be problematic, as people-management responsibility conflicts with the ScrumMaster's role of removing roadblocks to a team’s self-organizing, as Johanna Rothman has discussed.

Since the manager is often not the right person to fill the ScrumMaster role, another option is to use a technical leader or contributor. Mixing technical contributor and ScrumMaster roles, while a challenge and contrary to good practice, can work and can even work well if you are aware of and address the issues of this mixed-role structure.The Challenge

Mixing the roles of ScrumMaster and technical contributor goes against conventional wisdom for a variety of reasons:

The roles are different. A ScrumMaster's role is to facilitate the Scrum process. This includes making sure that all of the lifecycle activities in Scrum happen and are effective. Facilitating meetings such as a daily scrum, sprint planning, sprint reviews and sprint retrospectives is part of this. A technical contributor's role is to work with the other team members to figure out how to get the work done and to do it.

It's hard to do a good job when you are multitasking. In particular, it might be hard to justify doing ScrumMaster work when the team needs coding done to meet a sprint goal. Or, you might simply have too many context switches to be productive.

There’s only so much time. Given limited time to learn and enhance your skills, it's hard to learn how to be a better project and people manager while still keeping current on technical skills.

The roles have conflicting aspects. A technical contributor might tend to be “the person with the answers" rather than facilitating self-organizing teams.

The mixed roles may not produce what is perceived as direct value. For the ScrumMaster to be effective at removing impediments to the team's productivity, particularly in an organization new to agile software development, he may need to spend a considerable amount of time educating the team and others in the organization.Why Combine Roles?

Agile adoption has two components: project management practices and technical practices. While Scrum is a project management methodology, the technical practices that the team uses every day, such as unit testing and continuous integration, are what enable lightweight project management overhead, as the technical practices enable more flexible code and quicker feedback on the status of the project.

Adopting new technical practices can be challenging. It's not always obvious how to unit test effectively or how to organize your coding in a way that allows for incremental delivery. Leading by example can be a very effective way to introduce change. This argues that someone in a technical leadership role might be a good person to help the team understand how to apply technical practices and how the technical practices interact with project management practices.

In many cases, the impediments teams adopting agile face are technical and organizational. A technical contributor can more readily address technical issues, ranging from questions about how the continuous integration system works to facilitating discussions.

In teams where there is some resistance to agile adoption, the presence of a technical contributor driving the process change adds credibility to the process changes.

Making the dual role work can be a challenge for the ScrumMaster, his manager, and the team.

Finding a Balance

A technical leader filling this dual role can have trouble balancing the project management, technical coaching, and contribution aspects of his role. The project management aspects may languish given pressure to spend more time and energy on the coding tasks, which are perceived as having higher value even though enabling the rest of the team adds more value.

Someone with technical skills might tell team members how to approach a problem rather than providing guidance and input. He wants to be able to share his experience to help the team avoid pitfalls, but he also wants everyone to understand that his technical advice is not dictating a choice of action, as making all of these decisions can ruin the dynamic of self-organizing teams. The other extreme of avoiding technical discussions when he can help a team resolve an issue is equally risky, as he no longer is filling his role as a technical contributor.

There are no easy answers to finding and keeping this balance, but there are helpful technical facilitation techniques, such as ensuring that teams consider three options and find three problems with each option before agreeing to proceed with it. Gerald Weinberg provides more guidance on finding this balance in Secrets of Consulting [1] and Becoming a Technical Leader [2].

Tips to Balance the Roles

When you are in this dual role, consider the following:

  • Whoever manages the ScrumMaster should agree with the balance between the essential project tasks.
  • The ScrumMaster should not be in a position of handling many critical-path tasks so that he can work on removing technical or organizational impediments.
  • This works better with smaller teams, where the coordination and training effort within the team can be smaller and the effects of leading by example can be greater.
  • The manger of the team needs to support this effort and be willing to work on the larger organizational impediments. And, the technical contributor’s manager should be careful to set consistent expectations on the priority of the ScrumMaster activities, so that the technical contributor knows that he will be measured on team output, not individual output.
  • The person in this role needs to be aware of facilitation and collaboration techniques to streamline both project and technical meetings. [3]
  • Most importantly, the technical contributor who assumes this role has to want it. It's too easy to fall into the comfort zone of solving the technical problem instead of the organizational one. In some respects, project and organizational problems are the most challenging and interesting systems engineering problems.

This hybrid role isn't easy, but it can be rewarding. And, as teams understand and embrace Scrum principles, the project management overhead can be minimal.

Conclusion

Perhaps it will become more popular to value project management tasks for their ability to enable the team to be more productive. Management and project management roles should result in increased output, or they aren't being done right. But, it's still possible to have a successful Scrum adoption experience by leveraging the experience to key technical contributors who also understand Scrum.

It's risky to mix ScrumMaster and people manager roles, but some teams have had success with this. [4] Successful agile adoption requires a mix of technical and project management change, so having a good technical person who embraces agile values and enjoys the project management aspects of the role can be a big win.


References

  1. Weinberg, G. M. (1985). The Secrets of Consulting: A Guide to Giving and Getting Advice Successfully. New York, N.Y., Dorset House Pub.
  2. Weinberg, G. M. (1986). Becoming a Technical Leader. New York, NY, Dorset House.
  3. Tabaka, J. (2006). Collaboration Explained: Facilitation Skills for Software Project Leaders. Upper Saddle River, NJ, Addison-Wesley.
  4. Berczuk, S. and Y. Lv (2010). “We're All in This Together.” IEEE Software, IEEE. 27: 15-18.

About the author

StickyMinds is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.