Thursday, January 4, 2018

Who is the worst enemy of an Agile implementation | Supreme Agile

You have selected your new scrum masters, and they are ready to do their job as key stakeholders in your scrum teams. The project starts and everything looking great, the ceremonies are happening, the team works as a single unit, the velocity increase per iteration, so we can say that the team performs at the highest level. Then, without an early notice, the impediments are starting to raise and affect the team ability to keep the same performance as they succeed to do until now. Well, what can we do...? It is the Scrum Master time to step up and help the team to remove those impediments that affecting their work; this is probably the highest priority of a scrum master that need to ensure that the team can perform at the highest level.

“A manager's most important work is helping the people doing the work. Give them a goal and let them work. Remove any impediments that get in their way. Do anything that may make them more effective or productive. Then the organization can capitalize on the fruits of their work.” KEN SCHWABER

Impediments, what does it means?

Prior to reviewing the different types of impediments that may arise during an agile project, we first need to understand what an impediment is. The dictionary value of “impediment” described as “something that makes progress, movement, or achieving something difficult or impossible:”

And if we want to see how the formal definition is related to agile, we can use these specific definitions (There are more, just run a quick search on google :) ):

  • "A hindrance or obstruction to doing something. Frequently used to describe some issue or blocker that is preventing a team or organization from performing Scrum in an effective way."
  •  “An impediment in Scrum is a factor that blocks the Development Team in its creation of a valuable piece of software in a Sprint, or that restricts the team in achieving its intrinsic level of progress.”

Knowledge is power

In scrum, impediments can come from different areas and in all shapes and sizes, therefore, there is a Huge importance that the scrum master which responsible to remove them will have the relevant knowledge and familiarity to handle them.

Let us review some of the most common impediments that arise in almost any project:

Unstable builds

The scenario goes something like this, the team created a great sprint backlog and they are ready to conquer the world, the progress is great and suddenly the build is corrupted due to 1000 reasons, what should they do now? Well, you guess it right; the scrum master should ensure that the team would get a working build by promoting it with the CI team as the highest priority. 

Process Issues

In some scenarios, the team should work when the process is not fully implemented or implemented inappropriately.  The impediments in that area related to all issues that related to the process and affect team able to do their job. Examples:
  • Integration between teams not defined, and cause bottlenecks in the day-to-day work.
  • Missing ceremonies or technical knowledge to perform them.
  • Scrum masters/Product Owners that do not know how their role.
  • Key Stakeholders are not contributing to the process as they supposed to do.
  • The team does not know how to estimate that work prior to taking their commitments. 

Blockers for a user story

User stories are planned and committed at the start of the iteration, but they cannot predict which problems may arise once they start to work on it (Risk Assessment is one way to increase the percentage to try to predict it). Blockers can arise from both external and internal locations; the scrum master responsibility is to ensure that those blockers removed to allow the team to continue their work.

Lack of technical knowledge

In some cases, the team needs to deliver stories that they just do not have neither the experience nor technical knowledge to handle them. The scrum master responsibility is to ensure that the team will get the missing knowledge that they will need to handle similar challenges. Few Examples:
  1. Ensure that an expert will attend the planning meeting to share his knowledge with the team.
  2. Add another member to the team that can balance the necessary knowledge and experience needed to handle similar stories.
  3. Provide technical training for the team in areas that they do not have the necessary knowledge.

The process is not enforced

There are just too many examples of impediments that arise from this area; the scrum master responsibility is to ensure that the organization will follow both the scrum process and its spirit.

Technical debt

I hate this one, technical debt is a situation where the team cannot take new stories until they succeed to remove the technical debt that they allocated until now. A great scrum master will analyze the reasons that led to this situation and will make the necessary actions to reduce this debt and in some cases even to remove it completely (Automation, Automation, and automation!).

Negative Approach

There is always that person who thinks he knows everything and based on his knowledge, agile is a complete waste of time, and therefore he is not willing to be committed to the process. Now, because agile based on self-Organized teams that work together to achieve a common goal, such team members that possess a negative approach may affect other team members similar to a bad apple in a basket. 

Sickness of a team member

You base the team commitments based on two major factors, the first one it the team velocity and the second one is the team capacity. Now, you know these two factors at the start of the iteration, but you cannot predict how the capacity would change once you start the sprint and one of your team members will not arrive to work for one, two or maybe an entire week.

Now, there is nothing that you can do here, sickness of a team member is not something that you can forecast, but a good scrum master will become aware of this impediment and will help the team overcome it by involving the PO and the team regarding the work that they may unable to deliver as they intend to do at the start of the sprint. 

The physical working Place

The physical working Place should allow the team to perform at the highest level, if that’s not the case, it is the scrum master responsibility to ensure that the team will get the most suitable physical working Place that will help the team to maximize their abilities.

Unstable working environment

Working environment includes impediments that arrive from the hardware, software, and tools that the team needs to use to perform their work. it’s the scrum master responsibility to ensure that such impediments will remove soon as possible due to the massive impact that they may have on team progress.

External interruptions  

The team performs a daily meeting and suddenly a manager of another team arrives and start to interfere with the meeting agenda, sounds familiar? Therefore, in that case, it is the scrum master responsibility to ensure that the team will not suffer from unwanted interruptions that come from external resources.

Common questions regarding impediments

Question: Can the team start a sprint with impediments?
Answer: Yes, as long that there are no critical impediments that entirely blocks the team. 

Question: What do the team should do in the case that there are many impediments?
Answer: Continue to work on other user stories until the impediments removed by the SM, in any case, that the team cannot show a real progress, they can set a meeting with the PO to review current progress and expected deliverables.

Question: Who should fix an impediment?
Answer:  The most suitable stakeholders (Engineer, Product Owner Etc.) that can remove the impediment as quickly as possible.

Question: Can an impediment stop the sprint
Answer: In rear cases yes it does, for example, The sprint based on an external supplier that does not available for the team and therefore the team cannot proceed. 

Question: What is the SM responsibility regarding impediments?
Answer: I already explained it, but the SM should summarize, tack and ensure that the relevant impediments removed. He can do it by using other stakeholders or do it directly (Pending is own set of skills).

Question: Who responsible to determine the prioritization?
Answer: The team has the best knowledge about which impediments are more crucial for them and therefore should have the responsibility to share it with the team SM. The SM has the responsibility to ensure that the team will do the ordering and the reporting. 

Question: What are the main factors used in the prioritization process?
Answer: The basic factors that I love to use are as follows;
  1. The Amount of risk by Removing/Not-removing the impediment
  2. Effect on the iteration goal
  3. Impact on team motivation
  4. Impact on velocity

Questions to consider prior to handling impediments

So, as the servant leader of the team, the scrum master should be responsible to remove any impediments that affecting the development team’s progress. Now that we say the obvious, let’s remember that the scrum master as another critical responsibility to create a self-organized, cross-functional and committed team, by removing impediments that the team can resolve themselves the scrum master can actually create more damage than a real benefit.

Therefore, now that we understand these two major responsibilities, we need to understand how the scrum master should react to impediments that arise from the team and what are the questions he should answer prior to automatically mitigate them.

My suggestion is to follow these set of 10 questions:
  1. Is the described impediment is the symptom of a bigger problem?
  2. Is this impediment describe the real problem? Is it contains all the relevant data?
  3. How this impediment affect team progress?
  4. Is this impediment must be removed at current sprint compared to other impediments?
  5. Do we really need to resolve this impediment?
  6. What is the Risk of not removing this impediment?
  7. Can the team resolve this impediment without the help of the SM?
  8. Can we use this impediment as a guiding example for the team?
  9. Is this impediment relevant to an internal conflict between team members?  
  10. Is it really an impediment…? 

What tactics can the SM use for removing impediments?

There are some basic tactics that the scrum master can use to handle impediments, let’s review some of the most commonly used tactics: 

Keep the Active approach

In most cases, the impediments raised during the daily scrum meetings as a key part of the meeting agenda; this is good enough in most cases, but sometimes it can be too late. An active approach of an SM can find these impediments even prior to the meeting. Remember that the scrum master is part of the team and therefore can see impediments that affect team performance without the need for the team to report it.

Ask the right questions

Not all the reported impediments indicate for a real problem; sometimes team members can raise an issue as an impediment without even trying to resolve it. Therefore, once the SM understands it, he should ask the team a set of questions that will allow them to understand what they can do to resolve this issue by their own and without waiting for him to do it for them.

Impediments as an advantage for improvement

For me, this is what differentiates great scrum master from the mediocre once; a great SM can take impediments and use them as an advantage for educating and promoting team knowledge.

Give the Tools instead of a quick solution

The scrum master should provide the team with the necessary tools to handle the same future impediments without the need to wait for him, once he succeeds; team members can resolve their own problems and reduce the bottlenecks through the sprint. 

Mitigate the Root Cause

This is similar to any other RCA process where the investigator should not resolve the symptoms but instead should drive to find the real root cause that led to this symptom. Remember that resolving a symptom without resolving the real Root Cause will most likely not prevent from the same impediment to rise again in future iterations. 

Increase transparency and continues improvement

There is a major benefit in showing what, where the impediment that affect team performance throughout the iteration, therefore the scrum master should document the number of impediments that were raised, how they affect the progress and what was done to remove them.

Prioritize first

I think that anyone that was part of a scrum team will agree that in most cases there are many impediments that arise per iteration and especially in new teams and large complex projects. Due to this reason, there is a major importance of the scrum master to prioritize the impediments prior to run and resolve them. My suggestion is to consult with the team regarding which items are more important and always compare it to the iteration goal (High priority is given for impediments that affect the team’s ability to meet it). 

No comments:

Post a Comment

My Presentations