In an agile managed project, a major part of the scrum master’s roles is to manage and help resolve roadblocks the scrum team identifies. Roadblocks are anything that thwarts a team member from working to full capacity.
Roadblocks may be local, tactical issues such as
A manager trying to pull away a team member to work on a “priority” sales report.
The development team needs additional hardware or software.
A development team member doesn't understand a user story and says the product owner isn't available to help.
Roadblocks can be organizational impediments such as
An overall resistance to agile techniques, especially when the company established and maintained prior processes at significant cost.
Managers not in touch with the work on the ground. Technologies, development practices, and project management practices are always progressing.
External departments unamiliar with scrum needs and pace of development when using agile techniques.
Organizational policies that don’t make sense for agile project teams. Centralized tools, budget restrictions, and standardized processes that don’t align with agile processes can all cause issues for agile teams.
The most important trait a scrum master can have is organizational clout, which gives the scrum master the ability to have difficult conversations and make the small and large changes necessary for the scrum team to be successful.
Beyond the primary focus of creating shippable functionality, other things happen during the day on an agile project. Many of these tasks fall to the scrum master. The table shows potential roadblocks and the action that the scrum master can take to remove the impediments.
Roadblock | Action |
---|---|
The development team needs simulation software for a range of mobile devices so that it can test the user interface and code. | Do some research to estimate the cost of the software, prepare a summary of that for the product owner, and have a discussion about funding. Process the purchase through procurement, and deliver the software to the development team. |
Management wants to borrow a development team member to write a couple of reports. All your development team members are fully occupied. | Tell the requesting manager that person is not available, and is not likely to be for the duration of the project. Suggest alternative ways the manager could get what he or she needs. You may also have to justify why you cannot pull the person off the project, even for half a day. |
A development team member cannot move forward on a user story because he or she does not fully understand the story. The product owner is out of the office for the day on a personal emergency. | Work with the development team member to determine if any work can happen around this user story while waiting on an answer. Help locate another person who could answer the question. Failing that, ask the development team to review upcoming tasks (not related to this stopped one) and move things around to keep productivity up. |
A user story has grown in complexity and now appears to be too large for the sprint length. | Have the development team work with the product owner to break the user story down so that some demonstrable value can be completed in the current sprint and the rest can be put back into the product backlog. The goal is to ensure this sprint ends with completion, even if that is a smaller user story, rather than an incomplete user story. |