Sunday, February 18, 2018

Top 10 Challenges faced by the scrum master | Supreme Agile

תמונה קשורה
The Role of the Scrum Master (SM) is very challenging. SM responsibilities include Coaching, Training and facilitating both Agile practices and Spirits.  In this article, I will review some of the challenges faced by the Scrum Master during his day-to-day activities.


Challenge 1 – No Authority


The first thing that we need to remember is that the SM is the facilitator of the team. However, with that being said, the SM does not have any authority as we would expect to see for such important role. In fact, the Scrum Master can be any member of the team. He is a person who has a good understanding of the Scrum Framework and is a good facilitator.

Challenge 2 – Time-Boxing


I think that any SM will agree, keeping the Scrum activities under a defined time limit is just one of those annoying tasks that no one likes to do. As the team SM, it is our job to ensure that the specific Scrum activates timing is kept. We need to limit the time slippage to a minimum.  

Challenge 3 – Role Definition


There is a Hugh challenge explaining the role of the Scrum Master (incl. scope expectations, activities, and responsibilities). I often see lots of misunderstands that arise. This is because some stakeholders in the process do not really understand what they can expect from this role, its importance within the organization and particularly to the team.

Challenge 4 – Management Expectations


There is always a gap between management expectations (relies on old management habits) and new practices that come from an Agile transition.
This makes the life of the Scrum Master really challenging as he needs to protect the team (Especially in the earlier phases of the implementation), while at the same time allowing senior management to take part in the process. 

Challenge 5 – Managing Conflicts

The Scrum Master has the responsibility of managing internal conflicts within the Scrum team and sometimes external conflicts that arise from external stakeholders. It is expected that the SM also have the skill to deal and resolve personal issues that may occur.  

Challenge 6 – Building the team

One of the main Objectives of the Scrum Master is to assist his team to become “Self-Organized/sufficient”. This can be the difference between a successful team and a complete failure. So how challenging is this task? Well, extremely, just think about a group of people that sometimes have personal issues with one another. It is the Scrum Master’s responsibility to assist them to become a coherent, dedicated, goal-oriented team. 


Challenge 7 – Collaboration

As part of the day-to-day activities, the Scrum Master needs to ensure that there is a productive collaboration among the relevant stakeholders. This is especially important between the team and the product owner. This can become increasingly challenging when the Product Owner (PO) is not responsive to the team questions or when decisions are made by the PO without consulting the team. 


Challenge 8 – Leader of change

When it comes to Agile transitions, the Scrum Master is the change agent in the organization and should take the lead role in making the change a reality. This is a massive challenge, especially when the organization is still not ready to embrace the change and to adopt the new practices.  Remember: making a small change is hard enough, but changing the way of work, state of mind and culture of an organization is a completely different story.  


Challenge 9 – Continues Growth

I think that it is a positive challenge that I love to use as an example in my lectures regarding why the SM role is so challenging. This role possesses the responsibility to always learn new ways to improve the personal skills that will be reflected in more efficient and productive way for the organization. For me, more studies that involve both theoretical and practical practices is the key to grow within this role. 


Challenge 10 – Gaining Respect

To be able to be a real servant leader of the team and to be able to lead without authority the Scrum Master has one major challenge and that’s to gain the respect of the teammates. This is the main reason that the best Scrum Masters are the ones chosen by the team and not by the organization. 

Sunday, February 11, 2018

How to Choose A True Great Scrum Master? | Supreme Agile

תמונה קשורה

In Scrum, the scrum master owns the responsibility for the process, during his day-to-day activities, the Scrum master must ensure that the team is following the scrum spirit, process, and the different practices.

Selecting a scrum team’s scrum master can be the difference between success or failure of the team’s ability in adopting scrum, therefore, there is a huge importance to ensure that the selected Scrum Master has the Qualities, Skills and the right characteristics to help the team to adapt to the different challenges they will face while adapting this framework.

To help you determine who is the most suitable person to be approved as the scrum master, I prepared this list of Characteristics, Skills, and qualities that may help you to take the decision of who should be your next scrum master.

Humble

A scrum master main responsibility is to help the team to become better, there is no room for personal glory that can arouse antagonism from the team members. Another point related to the scrum master responsibility as the process enforcer, a true great scrum master, will make sure that they enforce the process with full collaboration with the team rather than enforcing their agenda of how the team should work.

Problem Solving Skills

One of the main activities of a scrum master is to remove impediments from the team. The scrum master should have the relevant skills, knowledge, and experience to remove any obstacles from the team during the Day-to-Day activities. 

A Great Educator  

The scrum master should have the ability to educate people to be able to work in the Scrum framework. This education is not only for the team, the scrum master should provide education for many other roles in the organizations that support the process and want to learn what agile means and what is scrum in particular. 

Have the time to do is job 

As part of its Day-to-Day work, the scrum master should observe how the team is performing based on his areas of responsibilities that include Communication (inside the team (Between team members) and outside (PO)), providing the environmental artifacts that will allow the team to grow, Enforcement of the process and many more.

This is just a partial list of the SM activities, but based on it, we can understand that the SM must be there for the team on a day-to-day basis, there are simply no magic solutions, the scrum master should invest is time on the team and for the team.

Focus on the team instead of technical solutions

The scrum master is not responsible to provide technical solutions; therefore, there is no real sense that the scrum master will be the most technical person on the team. The main reason for that is that highly technical people that are the team specialists will find it relatively difficult to focus on the process and the team, which is the main work, related to their role. 

Mastering is Role

I think that it is obvious that a scrum master should be an expert in his field. A great scrum master will always search for new ways to improve his skills, knowledge, and practices that will help him handle the different challenges of its role. 

Familiar with the organization


The scrum master should understand the organization hierarchy, complexity, culture and who are the key people that can help him to promote the agile agenda. A scrum master that controls these four organization aspects will have more tools to become more efficient in his work, simple as that. 

Can Influence Others

It’s very easy, a scrum master that cannot influence his team will fail even before he starts, scrum masters do not have an authority to tell people what they need to do and therefore should have the ability to influence them based on charisma, leadership, respect, and trust. 

Has a Coaching Personality

The main role of the scrum master is to coach the team and any other stakeholders (Product Owner, Tl’s Etc.) with Agile. A great scrum master has the personality to work with others and coaching them with pleasure and in a way that should help them to grow throughout the process, (the team success should be more important for him than his own success).

Committed to Both the Team and Process

The scrum master represents both the team and the process; it is his job to ensure that the team can work at the highest level and that the scrum process is enforced. A scrum master that he’s not fully committed to both the team and process will simply fail to be the leader as expected of him.

Organized

It is very simple. A great scrum master must be organized in order for him to handle all of its responsibilities and day-to-day activities that are crucial to the success of the team to perform at the highest level.

Responsible

Scrum masters have some great responsibilities as the process enforcers, the bigger issue here is that they need to do their job without real authority (By definition the Scrum Master is a leader without an authority). A great SM must understand it and always look for new ways (Practices, Tools Etc.) that can improve the team and their chances to succeed with the project goals. 

Self and Keen Learner

As an Educator, Coach or trainer, the scrum master should provide an example for others as a keen learner. That is the minimum expectation that we want to see in the person that has the responsibility to educate people across the organization and even more important the person. 

Familiar with the Human Nature

A Scrum master should be able to remove impediments from the team that affects the team performance, to be able to understand the true problems of the team, the scrum master should know how to read facial expressions and to read body language that will help him to uncover the real problem of the team.

Another aspect of this issue related to the ability of the SM to create good communications and relationships with his team and any other stockholders that can help him to promote both his personal goals as the process enforcer and to help the tea team to succeed with their work.

Know how to Handle Conflicts

Scrum master will have conflicts that just a simple fact that we cannot ignore. The main reason that different great scrum masters from others is the SM understanding that conflicts are a necessary part of the team growth (Scrum Master that understands this issue, will use conflicts to improve the team and not for showing is abilities). 

Familiar with the product

There is a great advantage in a scrum master that understand the product, let us just review some of the expected benefits:
  • The scrum master can share is experience with the team once they need to make the estimations and commitments.
  • The scrum master can ensure that the team will receive user stories that meet the INVEST standards. 
  • The scrum master will gain a better understanding of the complexity and challenges of the requirements.


Possess a Single Role

The scrum master is a full-time job and therefore need to be treated with the appropriate respect. To be able to do its job with the expected standards; it is highly recommended that the chosen SM will focus on only doing its role without wearing any other hats (A classic example of this issue is a team member that facilitates as both the SM and PO). 

A facilitator

A scrum master must be a great facilitator; as the owner of the process, the SM should support the team to perform in the highest level and to create the environmental variables that will help them to do so. Knowing scrum is not enough, the scrum master should have the skills to resolve a problem that arises in the day-to-day activities and the ability to innovate new ways to help the team to increase their knowledge, practices, and efficiency. 

A Servant leader

The scrum master should serve the team, PO, the organization, and not himself. He should lead by example (and not by title) and to sticks with the team during bad and good times. In the agile manifesto, we have a specific principle that can describe the real purpose of all idea behind the “Servant” leader:

"Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done"

As the servant leader, the scrum master is responsible for many aspects such as:
  • Coaching, teaching and mentoring the organization with Scrum.
  • Promoting self-organized teams and genuine team ownership.
  • Helping others to perform at the highest level.
  • Ensure that the scrum process is enforced.
  • Lead by example and not by authority.
  • Remove impediments from the team.
  • Increase visibility and transparency.  

Monday, February 5, 2018

The Scrum Estimation Meeting | Supreme Agile

תוצאת תמונה עבור ‪scrum estimates‬‏

I will start with one simple clarification about this meeting and will say that it is NOT an official scrum event, now that it’s on the table, we can move forward and explain why this meeting can be a great addition to your team.

So, what is the meaning of the "Estimation" meeting…? Well, this meeting is created to fulfills some major goals that will allow the team to increase the effectiveness of the planning meeting, these goals are:
  1. The team members will gain an earlier familiarity with the user stories of the next sprint.
  2. The team members will acquire the necessary information about the scale of the expected work.
  3. The team members will get the chance to assess the range of activity and effort that is needed to deliver the list of stories.
  4. The team members will have the chance to reduce the amount of time spent during the planning meeting of breaking down the stories.
  5. Based on the tea inputs, New Stories can be added, modified and large stories will break down into smaller items.

Who should participate? 

The meeting stakeholders are the product owner (PO), the Scrum Master (SM) and the team. 

Time-boxing

Same as any other meeting in the scrum, this meeting is also timeboxed for a specific amount of time. based on my experience this meeting should be restricted to 60 minutes to really allow the team to become familiar with the stories and for the product owner to make the adjustment in the product backlog

The Frequency and When 

In two weeks iteration, we will schedule this meeting once at the end of the first week (Usually day after the refinement meeting) and once again in the following week. Now, this suggestion can be modified based on the maturity of the team and the readiness of the product backlog. 

Procedure

You can run this meeting with the different steps that may change between one team to another, but the bassline that always worked for me is as follows: 
  1. The scrum master will schedule the meeting and invite the relevant participants, the invitation will include the meeting agenda, location, and goals.
  2. Once everyone has arrived, the product owner (PO) will review the TOP prioritized stories that represent the candidates of the next iteration which need to be estimated by the team.
  3. The team will ask the product owner the necessary questions to retrieve the missing information that will help them to estimate the stories
  4. Once the team gains the necessary knowledge, they will start to estimate the stories (Relative or Absolute estimations based on what is more suitable for the team).
  5. Based on the team inputs, the product owner will update the product backlog accordingly. 

Action Items 

As I already described in the paragraphs above, there are some great outputs that we can generate by running this meeting:
  1. The product backlog has a better prioritization.
  2. User Stories are created, modified and removed.
  3. User stories that contain a rough estimation.
  4. User stories with written tasks (Not Estimated!). 

Thursday, February 1, 2018

Timeboxing in Agile | Supreme Agile

תמונה קשורה 

An agile project depends on a repeatable period of time called "Timeboxing", A timebox is an agreed and limited box of time that is used by a person/team to perform a dedicated activity. Now it's easy as its sound, once the Timeboxing is agreed and set, the team/person will work to complete a goal within this time, once the time limit Is reached the work is stopped (The team is not allowed to continue and the work is stopped) and evaluated against what was accomplished until now. 

To understand the real meaning of a timebox, we must first see the full picture of an agile project that is based on less upfront planning which makes is more adaptive but very not predictive. Now, to get a high level of productivity, an agile project needs to use a predictable schedule with small repeatable time-boxes. 

To demonstrate this point, let’s take an example of a project that has 100 units of work that the team need to deliver, now based on the team velocity (Average work units that the team can forecast to deliver per iteration) the team can handle 5 units per two weeks (Which is the timebox of the sprint). So, if the team can deliver 5 units per timebox of two weeks, we now can predict that the entire project should end after 20 sprints which allow the organization to increase the predictability of the project.


Types of time boxes

There are two important types of time boxes that can help us to understand what can be done when the team arrives at the end of a time box.

Soft Timbox


The first type called "Soft" time box, when a soft time box ends, there should be a conversation about rather the team can continue to work on a task until completion (sometimes it's worth it).

Hard Timbox


The second type called "hard" time box, when a hard time box ends, there is no room for any discussion and the team should stop their work without any coloration to the remaining work that needed to be done for completing an item.  

Timeboxing in Scrum

So, I already explained how we can use timeboxing to increase the predictability of a project based on the iteration length, but timeboxing is used in many other locations in scrum:

Daily Scrum meeting

This meeting is timeboxed to 15 minutes for each 24-hour period, during this meeting, the team can focus on the iteration goal, synchronize, and talk about the impediments that should be handled.

Sprint Planning

The sprint planning meeting is timeboxed at 2 hours for a one-week sprint and may go to 8 hours for a one-month sprint. During this meeting, that team will set the sprint backlog and spring goal.

Sprint Review

The sprint review meeting is timeboxed at 1 hour for a one-week sprint and may go to 4 hours for a one-month sprint. During this meeting, the team will demonstrate the completed work and will get feedback for the quality of their work and to update the PB accordingly.

Sprint Retrospective

The sprint planning meeting is timeboxed at 45 minutes for a one-week sprint and may go to 3 hours for a one-month sprint. During this meeting, the team will identify the areas that need to be changed to allow the team to perform at the highest level.


Timeboxing and its benefits

Motivates the team

Timeboxing is a great mechanism to improve team motivation, the idea of providing the team a hard deadline that specifies the end date of each ceremony/sprint will help the team to concentrate and focus on the main goal instead of a reduced sense of urgency regarding the completion of the work.

Improves predictability

Timeboxing improves the organization's ability to predict what will be the expected results at the end of the sprint based on current team progress for a specific time. This will not allow the organization to get clear and accurate results each time but can provide a good idea of what can we expect to receive at the end of the working cycle. 

 

Increase focus

Timeboxing will help the team to remain in focus regarding what they need to do to achieve the iteration goal. Because the iteration is limited in time, the team knows that there is no time to waste on some unnecessary activities that may affect their ability to deliver their commitments on time.

Protect the team

How can timeboxing actually benefit the team? Well, it’s simple, timeboxing allow the team to take the amount of work that they can actually deliver at the end of each iteration without taking over commitments that can affect their ability to succeed.

Clarification of Time

Timeboxing is a great method for both the team and organization with clarification of time remaining and time that is already spent per iteration.

Clarifies progress


We can use timeboxing to determine the work progress of the team throughout the iteration, this is simple, all we need to do is to see the work done until specific moment and compare it to the preliminary expectations. 

My Presentations