The Guardrails for creating business agility (the quick realization of business value predictably, sustainably and with high quality) are a set of agreements different roles in the organization make with each other to facilitate working together. The guardrail system helps people in an organization work together towards their common goals. They also provide a series of questions that people can use to ensure they are keeping their agreements.
Companies should be a big team, working towards a common goal. A set of agreements on how they align is necessary for this. While each company will have their own goals and strategies to achieve their vision, we’ve seen these six “guardrails” to be essential in creating alignment across an organization. How they are manifested, however, is different at the different levels of work.
These guardrails are not specific to either Scrum or Kanban. We will therefore use the team “Agile coach” to mean either a Scrum Master or Kanban coach. They supplement the description of each guardrail at the team level with checklists for the Agile coach of the team. These checklists are useful to use at retrospections to help focus team members on following the guardrails.
Promise: Create psychological safety
One of the Agile Team Coach’s role is to create a safe environment. If it is not present they need to talk to management and/or leadership to create it.
Promise: Accelerate value realization
Typically it is the product owner specifying this. But it important to be aware of how this guardrail interacts with the ‘Keep the work throughout the value stream within capacity’. Significant value occurs when items get finished. This means what is started is determined by the product owner but all developers should also be focused on what can be finished.
Agile coach checklist
- Are developers pulling work items consistent with what the product owner is requesting? Developers should not be pulling from items not on the sprint backlog because they are related to ones that are.
Promise: Collaborate proactively
Although we’re not suggesting mob-programming, it is important for team members to work with each other both in their team and with other teams. It is very easy to get focused on one’s own work. The converse is true as well, don’t interrupt others without regard to the affect that interruption will have on them.
Agile coach checklist
- Are developers pulling work items consistent with what the product owner is requesting? Developers should not be pulling from items not on the sprint backlog because they are related to ones that are.
Promise: Make all work and workflow visible
The best way to create visibility is with the use of Visual Controls. Visibility at the team level, however, means more than that. People outside the team should be able to see:
- What the team is working on
- What the team has promised to complete by the end of the sprint or the next cadence point
- What the team’s capacity is (e.g., velocity)
- What functional dependencies the team has on others as well as what services they will need from shared services and ops.
Agile coach checklist
- Were we unable to get needed support from other teams because we didn’t realize how overloaded they already were?
- Are we making interruptions we’re getting visible to management? This can be done by having a special class of work that is restricted to interruptions. If many small interruptions occur, one story can represent the total work caused by interruptions during the sprint. It is often worth having one story for the cost of the interruptions themselves and another for the side effect cost the switching to the new work caused (this impact is often as large or even bigger).
Promise: Increase predictability
While we can’t predict everything there are a lot of ways to decrease unpredictability. Many of these are technical in nature, such as decreasing tech-debt and automating testing. But many of them are process related. The team should focus on the technical issues but the Agile coach should focus on the process oriented ones.
Agile coach checklist
What are the greatest causes of unpredictability are in your team?
- Have you had a conversation with your team about what causes unpredictability?
- When things come up during daily standups that reflected unpredictably, make a note of them to bring up at the next retrospection.
Promise: Keep workloads within capacity
A common problem with teams new to Agile is overloading themselves with work. This occurs in several ways:
- Taking on more work than their velocity calls for
- Not leaving any room for maintenance items which are sure to come up
- Starting too many stories
- Not having a focus on finishing
- Allowing for interruptions
Agile coach checklist
- Ask the team about what is causing them to be overloaded? How much of it is self-induced? How much of it comes from the outside?
- Do you have an agreement on how to start new work? Read Create a Focus on Finishing and share it with your team.
- How would the team start work if you acted as if the sprint could end at any time?
- If you have lots of interruptions, how would things improve if you had fewer items in play? Discuss with your team.
Promise: Improve Continuously
You are either improving or you are declining. One role of the Agile coach is to keep the team improving. The daily stand up and sprint retrospections are intended to both pivot and improve how the team works. If that’s not happening then they need to be improved. Make the team clear that during the retrospections in particular they are “working on” the business – meaning they are looking to see how to improve things.
Agile coach checklist
Remember your job is to help the team improve.
- What improvements do you see that the team doesn’t?
- Try different types of retrospections – download and read After Action Review
- Read the Iteration Retrospective – Facilitate