Monday, February 26, 2018

Expectations of Scrum Masters – knowing what important | Supreme Agile




The Scrum Master (SM) is one of the most important roles in the Scrum framework. This framework is created to support the Agile values and principles for delivering high-quality products, while putting the customer at the top of the pyramid. Now, if you have previous experience in this role, you already aware that the Scrum Master is a member of a team. The SM has no formal authority, but it is expected that he will succeed in fulfilling the role.

The SM responsibility is critical to the success of the team in delivering high-quality releases that meet the customer requirements. The responsibility of SM includes: creating a safe working environment for the team, adaption of Scrum practices by the team, removal of any impediments and finally promoting the agenda of Self-Organized cross-functional teams. 

Expectations of Scrum Masters 

Although the Scrum Master performs critical role in the Scrum framework, one still needs to remember the SM needs to perform his responsibilities without formal authority. So the question is...what can we expect from this role..? 


Continues improvement of the process



  • Determine KPI's to measure process improvements (Velocity, Quality Etc.).
  • Continually searching for new ways to improve the process.
  • Continue the Scrum process no matter the challenges.
  • Enable various stakeholders to share their knowledge with the Scrum team to increase the effectiveness of the process. 
  • Assist in to setting global standards for “Definition of Done” (DoD) and “Definition of Ready” (DoR) across teams. 
  • Ensure there is continues improvement in the Scrum team so they can deliver more product with higher quality.
  • Assist stakeholders understand the Scrum process and how its link to product development. 
  • Collaborate with other Scrum Masters’ to improve communication among the different teams.

The Product Backlog 

  • Help the product owner to understand deep technical aspects of the technology/product.
  • Create a template to create stories and tasks that will establish a common language.
  • Innovate with new techniques that will help the PO to manage the product backlog.
  • Help the team to write new user stories (Non-Functional stories in particular).
  • Help the Product Owner to prioritize the backlog stories to maximize the ROI. 
  • Help the team and the Product Owner to prioritize the product backlog.
  • Help the team and The Product Owner to split large stories. 
  • Help the team with the release planning. 
  • Help the Product Owner to understand the technical aspects of the product (Design, Technology, and Dependencies).
  • Help the Product Owner to understand the importance of clear, self-explained, testable, non-ambiguous user stories. 

See The Big Picture 

  • Create a center of knowledge throughout the company (Center of Excellence).
  • Collaborate with every stakeholder on a regular basis, if it can help the team.  
  • Looking for any hidden problems and solving them in the best possible way.
  • Participate in "Scrum of Scrums" meetings to remove impediments.
  • Act as the knowledge center for any stakeholder who requires it. 
  • Help people from different teams to work together, if required.
  • Help the organization to scale scrum with common practices.
  • Guide the team to report to senior management. 
  • Guide the team to avoid pitfalls of other teams.
  • Assist the team to interact with other teams.
  • Ensure there is “power balance” among the different stakeholders (Team, PO and senior management).
  • Help the organization to gain knowledge in Agile through dedicated training and workshops. 

Help the team to grow

  • Being familiar with the teamwork and technical challenges (It's a huge benefit!).
  • Enforces meeting time-boxes while conducting the different scrum ceremonies.
  • Help the team to maintain their tools (Burn-Down chart, Sprint Backlog Etc.).
  • Assist the team to deliver quality deliverables as defined in the DoD. 
  • Reflecting issues to the team through silent observations.
  • Asking the right questions to will help the team to grow. 
  • Provide valuable constructive feedback to the team.
  • Promote the agenda of Self-Organized teams.
  • Help the team to work in a safe environment. 
  • Protect the team to allow continued growth. 
  • Help the team to implement agile practices.
  • Keeping morale high by reflecting success.
  • Help the team to resolve internal conflicts.
  • Remove obstacles that affecting the team. 
  • Coaching Team Members (1:1 coaching).
  • Promote continues improvement process.
  • Helps the team to achieve iteration goals.
  • Educate the team with an agile mindset. 
  • Facilitating scrum events (Start to End).
  • Helping the team to keep their focus. 
  • Promote continues learning process.

Develop an Agile Mindset

  • Promote the agile values (Clarity, transparency, commitment Etc.).
  • Help the team to understand the agile principles and values. 
  • Responsible to train the organization with agile practices. 
  • Promote the agile mindset throughout the organization. 
  • Support organizations and Teams decision-making.
  • Lead with agile innovations.
  • Set personal example.

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 (SM) owns the responsibility for the process. During his day-to-day activities, the Scrum Master must ensure the team is following the Scrum Spirit, process, and the different practices of this the scrum framework.  

Selecting a Scrum team’s Scrum Master can be the difference between success or failure of the team’s ability in adopting scrum. Therefore, it is highly important to ensure the selected Scrum Master has the current qualities, Skills, and characteristics. This will assist the team to adapt to the different challenges they will face while adapting the Scrum framework.


In order to assist one to determine the most suitable person lead the team as the Scrum Master, I have prepared a list of Characteristics, Skills, and qualities that a good Scrum Master should have in his armory:

Humble

A Scrum Master main responsibility is to assist the team to become better. There is no room for personal glory. This can lead to antagonism from the team members. In addition, he should ensure the enforcement of the process is done with the collaboration of the team. This is the preferred method, rather than enforcing his agenda of how the team should be working.


Problem Solving Skills

One of the main activities of an SM is to remove impediments from the team. The SM 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 SM should have the ability to educate people to be able to work in the Scrum framework. This is not only for the team, but the SM should be proactive and educate many personnel in the organizations. This personnel can be those who either support the process or alternatively want to learn about Agile and in particular Scrum. 


Have the time to do is job 

As part of his Day-to-Day work, the SM needs to observe the team’s performance based on his areas of responsibilities. This includes Communication within the team and outside (PO), providing the environmental artifacts allowing the team to grow, enforcement of the Scrum process, etc.

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 no magical solutions, the role demands a lot of investment (both within the team and externally)

Focus on the team instead of technical solutions

The SM is not responsible to provide technical solutions. Thus, he does not have to be the most technical person on the team. The main reason is that highly technical people are the team specialists. They will find it relatively difficult to focus on the process and the team. This is the main responsibility related to this role. 


Mastering is Role

I think 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. This will help him handle different challenges that will a raise during the Sprints.  

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 who controls these four organization aspects will become more efficient and effective 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. Even though an SM might not have an authority to tell people what to do, he should still 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 SM represents both the team and the process. It is his job to ensure the team can work at the highest level and that the Scrum process is enforced. An SM that is not fully committed to both the team and process will simply fail to be the leader as is expected of him.


Organized

It is very simple. A great SM must be a well-organized person. This will allow him to handle all responsibilities and day-to-day activities that are crucial to the success of the team. It will enable them to perform their activities at the highest level.


Responsible

SMs have some important responsibilities as the process enforcers. The bigger challenge is that they need to perform this function 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 SM should set 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, even more than himself. 


Familiar with Human Nature

An SM should be able to remove impediments from the team that affects the team performance. In order to be able to understand the true problems of the team, the SM should know how to read facial expressions, body language. This will assist him to uncover the real problem of the team. Therefore, one of the important skills is the ability of the SM have good communications and relationships (both within the team and externally). This will assist him to promote both personal goals and the team to succeed in performing their work.

Know how to Handle Conflicts

The SM will have conflicts, it comes with the job. This is a key differentiator of a great SM from another other position. The SM understanding conflicts are a necessary part of the team growth. He will, therefore, 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 SM should serve the team, PO, the organization, and not himself. He should lead by example (and not by title) and stick with the team during bad and good times. In the agile manifesto, we have a specific principle to describe the idea behind the “Servant” leader:
 "Build projects around motivated individuals. Provide them an environment that supports their needs and trust them to get the job done"

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