Sunday, May 25, 2014

Scrum Master and Non-Intrusive Team driven Task Board Management

Let’s begin with initial understanding of task board: Task board is tool to give a quick view of the status of each items of the sprint backlog.
Each task is represented by a card and area on the task board represents the status of the card like ‘To Do’, ’In-Process’ and ‘Done’.
Task board in combination with sprint backlog is an excellent information radiator where at a glance team can get a view of how they are moving collectively towards the sprint goal.
Now, a very important point is that sprint backlog is owned by the ‘Team’ and team need to be self-organize to complete the work of sprint backlog, And  Scrum master is responsible to create self organize team.
Scrum Master Plays the role of ‘Coach’ during the execution of sprint to ensure team is fully functional and productive and able to pull the work from sprint backlog with the help of task board. Task board helps the team take self-decision in pulling the work.
So in conclusion:
As sprint backlog is owned by the team, this conclusion automatically reciprocate that task board management responsibility lies with the Team and an intrusive management of task board from Scrum Master is not recommended.
A famous quote I would to mention here: “Responsibility comes from Authority” so if sprint backlog is owned by the team then only and only team members should be allowed to manage the current status of all the items of sprint backlog.
Scrum Master is just a passerby for the Task Board and never ever touches the task board until unless a particular team member requested to do so.
Task Board is the most important information radiator for the team that needs to be managed and need a Self-Organized team as a pre-requisite.
Task Board is a recommended artifact of Kanban, where there is no indication of iterations and work flows between stages and there is WIP i.e. ‘Work in Progress’ limit defined for each stage.
 In Scrum Methodology we can use variation of Task Board where a task board could be defined for each sprint, may be called as Scrum Board.
Task Board as an Information Radiator:
During the sprint, Task Board is a vital information radiator and helps the team to achieve their sprint goal.
An ideal team space always in need of a physical task board as it helps the passersby to have acquaintance about what is going on? It exposes current flow of work and a great tool for transparency that is necessary for Inspection and Adaptation of an empirical process.
Physical task board reflects vivid picture of the achievements of a team to the passerby, and a compelling picture of the challenges the team has undertaken.
When task board is clubbed with Product Vision, Sprint Goal, Burn Down Chart, Release Burn Down Chart, Sprint Backlog, and if all of these are possess the property of ‘Transient’ and ‘Current’, gives a complete quick picture of project and how team is moving towards the Sprint Goal and hence towards Product Vision, so ultimately it gives the how team is align with the product outcome.
It is like a self-organized team saying the world openly - Give us goal, compelling stories to get there, and we will sign up in a rhythm of stories and tasks. And you all are welcome to see our achievements and for that you are not in need to disturb us.
‘Dear Stakeholders,
We want to work towards sprint goal and we have an alternate arrangement to satisfy your need to see our achievements and challenges, kindly don’t disturb us during the sprint’
Task Board reflect the nature of work, so anybody walking to the workspace, information simply hit to their mind about what challenges team is undertaking like:
1.       Stories that team just have started stories that have been in progress and in relation to goal.
2.       Stories that need additional resources and assistance.
3.       Stories for which acceptance test have been developed and ready for code.
So task board make people want to work so it’s good to take time to make task board to tell a compelling story.
Task Board for Distributed Team
It is common problem when team members are not co-located then we need to search for a solution to get the necessary transparency in artifacts and for that an electronic task comes into picture.
Sometime team is co-located but we need an electronic task board as Customer is not co-located with the team and we need transparent system for all the stakeholders.
But few problems are identified with an electronic task board like:
Electronic task board is less transparent and sometime hiding of information introduced and makes the electronic task board that is not current, sometime team members sign up to the task without updating task board and they tend to update when they again sign-in later.
Physical task board encourage team member to work and when they move to update the current flow, sometime healthy interaction between team members may get initiated by visualizing challenges towards sprint goal and they collaborate in person to achieve the goal
Then what is the solution?
We can think a combination of physical task board and electronic one. It is not redundancy of work as our task board is simple and updating it just takes few seconds and benefits are huge.
It is Scrum Master duty to encourage the team to achieve a synchronization between electronic and physical task board. S/he can put a flag over physical task board to communicate that electronic task board is not updated and once updated this flag is removed.
Daily Scrum meeting also help to see any deviation in the synchronization and team can come out to maintain the synchronization and all it happen automatically when they do the daily scrum and they just feel the deviation. Daily Scrum is not a problem solving meeting.
Alternatively a technology could be introduced where a dedicated TV is installed at team work apace to radiate the information, so electronic task board reflect the benefits of physical task board. So an ideal team space should be with information radiators, if electronic can serve the purpose, then it is also an alternative.
Task Board Development Process:
A simplest task board could be like stories that have selected from the product backlog, task associated with stories and ideal hours remaining with each task, assigned team member to the task and any changes to this assignment.
Anytime when a engineering task is added, team create a card and put it on task board and area on the board represent status like “To-Do”, “In-Process”, “Test Ready” and “Done”
Other information radiator is clubbed with task board as described earlier to provide the complete transparency.
Different colours could be used for stories and tasks to differentiate, alternatively we can use different colour for ‘Must Have’ ‘Should Have” and ‘Could Have’ stories and associated task may have also the same colour. Low priority task could be moved around to help the team to balance the load when they need to give priority to time constraint tasks, for example there is a task which needs to be completed fast as lot of other tasks are dependent on that, physical task board is very helpful especially when all of the team members are standing around it, during daily scrum and synchronize their work using face to face conversation for next 24 hours.
Management of Task Board when team is not self organized
Task Board management is very difficult when team is not self-organized, in this case team is at ‘shu’ stage and it is the responsibility of Scrum Master to analyze the level of conflict and may use the ‘Reveal’ conflict resolution strategy to bring conflict level down to ‘Problem to Solve’ and get the problem resolved.
Task Board management is not possible without self-organizing team and first responsibility of Scrum Master is to create self-organizing team while adhering to agile values and principles and Scrum values and practices as well.


So in conclusion, task board is a tool to bring transparency in the system and owned by a self organized team, there should not be intrusive management of task board from the Scrum Master. S/he touches the task board only when any team members request due to any specific circumstance. If Scrum Master touches the task board, it is like snatching their pride of work and deteriorates the self-organization with the team.

Task Board is an important input for daily scrum meeting and helps the team to move towards sprint goal during the sprint.
If team is self-organized then team may also opt to choose to break the rule of kanban where task board is not defined iteration wise. It may be re-initiated for every sprint. If team is at ‘ha’ stage then team is mature enough to break the rule to maintain the rationale of goal.

Sunday, May 18, 2014

Responsibilities of Scrum Master


Scrum Master represents management to the team and has full time involvement for team size which may range between 5-9 people.

Let’s begin with brief description of Scrum Master responsibilities:

Scrum master is a facilitator, servant leader, guardian of product and process quality and involved to improve productivity of team in any way possible. He/she is a leader of a self-organized team; if team is not self organize then his/her first responsibility is to create self organize team. Scrum Master bulldozes the impediments, if anything coming in teams’ way and Scrum Master helps the Product Owner to maximise the Return on Investment.

Here, this brief description for the responsibilities of Scrum Master also giving a glimpse of responsibilities of Product Owner and Team:

Product Owner directly drives the development of product as a single authority for requirement clarification and prioritization and also takes responsibility to achieve financial value and that is in line with the outcome of product.

Team is accountable for each increment. Team does best during each sprint and take the responsibility for the increment developed.

So if Product Owner drives the product development and team takes the accountability for product increment developed during each sprint, in this case what does Scrum Master do whole day for 5-9 people?  Why not fractional assignment or more than one Scrum Team for a Scrum Master at a time?

So we need to have a detailed look of responsibilities of Scrum Master to justify full time involvement for a team of 5-9 people and in case of Scaling Scrum a hierarchy of Scrum Masters is recommended.

So let’s discuss the details behind above mentioned brief responsibilities of Scrum Master and with different perspectives.

1.     Scrum Master responsibilities for Agile and Scrum Framework:

Scrum is one of best known agile framework for product development and Scrum Master is a person who has good understanding of agile values and principles which come from agile manifesto. Agile values and principles are best implemented using Scrum Practices and if needed other practices are also used like XP practices.

So Scrum Master is responsible that Team and Product Owner do their work and that is in line with 4 agile values and 12 agile principles along with 5 Scrum values by the way of positive leadership.

Scrum Master ensures that agile values, agile principles, scrum values and scrum practices are well understood and in place, inside the team and outside the team.

Let’s discuss responsibilities played by Scrum Master for the Agile and Scrum Framework:

1.1.   Scrum Mater for Empirical Process:

Scrum Master spends good time in bringing transparency with the help of ceremonies and artifacts, all the artifacts developed using processes which are visible to all and these are developed using common standards so there is common understanding of what is being seen. These artifacts and progress are inspected toward a common goal and adapt as per the inspection findings. Ceremonies and transparency helps to inspect and adapt for processes and product development toward common goal. These efforts are co-related with agile value where we gives focus Adaption over confirming to plan.

1.2.   Scrum Master as a Guardian of Product and Process Quality:
During the sprint, Scrum Master helps the team for technical excellence by adapting engineering practices like TDD and refactoring the product to maintain long terms agility. All these efforts are related to agile principle of “Continuous Attention to technical Excellence”

Process Quality is ensured by practicing Scrum framework where Scrum Practices are used to implement agile values and principles.

1.3.    Scrum Master as a Facilitator
Scrum Master is a facilitator for all Scrum Ceremonies to encourage foreseen interaction between Team, Product Owner and Business Stakeholders. These ceremonies are visualized as practices to implement agile values and principles.

As a Facilitator Scrum Master get involved in preparing, moderation and postprocessing. Holding retrospective needs good facilitation skills compared to others because Inspect and adapt for processes are mainly come from the retrospective which is last ceremony of every sprint.

1.4.   Facilitate Communication in Team:
One of the agile values says we need to give focus to “Individual and Interaction over Processes and Tools”, So Scrum Master works to facilitate team communication by way of focusing on creating good team space using information radiators and osmotic communication. In regards to these tools, Scrum Master also helps the team to maintain their task board and backlogs to reflect current information. Scrum ceremonies facilitation also play good role to give focus on Individual and Interaction.

1.5.   Educate Business Stakeholders and Purchaser of Product about Agile Values and Principles

Stakeholders who are outside the team like Business Stakeholders interact with the Product Owner and the Team to develop the Product Vision, to develop understanding for the details behind user stories, and to provide feedback for each increment.

The one of main responsibility of Scrum Master is that Business Stakeholders and Purchaser understand process, values and principles so their interaction with the Product Owner and Team become helpful, not an obstacle and they also becomes contributor for sustainable pace and technical excellence and to balance stability with flexibility.

So any kind of interaction with business stakeholders and purchaser which is related to set up of environment for Product Owner and Team needed to work is performed by Scrum Master, and primarily during sprint 0. Yes, in other product related meetings Scrum Master work as a facilitator. If any kind of impediment to the team is coming from business stakeholders or purchaser; they work with them to resolve it.

1.6.   Scrum Master in contract development to facilitate collaborative communication with Team and Product Owner
Scrum Master works to encourage foreseen interactions between Business Stakeholders, Product Owner and Team for product development.  

So, In order to substantiate one of agile value where we need to give focus “Customer Collaboration over Contract Negotiation” Scrum Master may also be involved in development of contract during project selection process so that contract become a mechanism or tool to have customer or purchaser of product become part of collaborative team along with Product Owner. They work collectively for Product Vision and as a result all the efforts are in line with Product Vision and help the Product Owner in becoming responsible for the outcome.
Organization can use Scrum Master expertise to develop a contract as a tool of collaboration between Business Stakeholders, Purchaser, Product Owner and Team.

2.     Scrum Master responsibilities for Product Owner:
Product Owner is a single authority for those requirements that represent customer point of view. Requirements are implemented in prioritised manner directly influenced from Product Vision.

Product Owner is accountable for Product Outcome which is identified from benefits mentioned in Cost Benefit analysis in Business Case.

So Scrum Master helps the Product Owner for maximising financial values and hence Return on Investments by way of providing help in developing product vision, help in capturing requirements in user stories, epic and themes, disaggregation of epics, product  backlog development, help in release planning and being familiar with team’s work.

Here important point need to be noted that Scrum Master help in terms of coaching, for example if Product Owner don’t know how to prioritise the Product Backlog Items, Scrum Master can provide him coaching before he/she works with Team and other Business Stakeholders. Instead of, while facilitation of Product Backlog prioritisation meeting, where if something wrong interrupts them and say no, this is not the right way.

It is recommended that necessary coaching to Product Owner for product backlog development needs to perform prior to Product Backlog development meeting so Scrum Master just concentrate on facilitation of ceremony to make sure right amount of discussion between Product Owner, Team and Business stakeholders if they are involved.

If needed, Scrum Master also helps in development of release plan and to monitor output of each iteration for the purpose of adaption in release plan. At the end of each sprint Scrum Master help the Product Owner to evaluate Earn Value results.

3.     Scrum Master responsibilities  for Team
Scrum Master needs to be performing lot of responsibilities for the team so that team can have the environment necessary to get the job done. One of Scrum Principle Says “Build around motivated individuals” So how to develop a motivated team? Answers lies in responsibilities of Scrum Master which is related to team.

Following are the list of responsibilities of Scrum Master in respect to team:

3.1.   Create Self Organize Team

3.1.1. The foremost responsibility is to create a self-organized team and for that Scrum Master makes sure that team understood Product Vision with help of Product Owner, as Vision help to unite and concentrate team efforts for the vision.

3.1.2. For each iteration or sprint, a goal i.e. Sprint Goal is developed to make them focus for the efforts of particular sprint.

3.1.3. Make Work flow and external dependencies visible to everyone so team self-organize for self assignment of work after consideration of external dependencies inherent in tasks.

3.1.4. Every item is time boxed so team can get focus for how much time is available for the remaining work.

3.1.5. Coach team members to update ideal hours remaining for each item at the day end, so as a result, it helps to keep the Burn Down chart updated and that is visible to everyone. If any item is not burning down due to constant burn up in an item may due to any reason, team members can discuss issues informally and can self organize to find the solution.

3.1.6. Respect team members to provide freedom for the engineering activities of the Sprint Backlog as team knows best how to implement them.

3.1.7. Scrum Master also work to encourage co-ordination, collaboration and building high performance tools by having right people in team, providing environment to work, encouraging open and free communication, clarifying roles and responsibilities, work to create positive atmosphere. All these efforts contribute in having self organizing team.

So in conclusion, Scrum Master first train the team for desired skill set those are needed for a Scrum Team, then coach them if they are having any problem, it is need based coaching and enjoy seeing that team puling work themselves for sprint backlog items. Here Scrum Master need to keep eye open for team behaviour and in case they go down again in self-organization then it is his/her responsibility to bring them again. For example Scrum Master can do individual one-on-one coaching during the sprint if any particular team member is not self-organized.

When team is in self organize mode, the next responsibility is to sustain it. It is continuous process. Scrum Master has to keep motivation level of team members and can use various tools for the same like if team is using XP practises then Scrum Master has to rotate driver and navigator role within team members, a great indirect tool to sustain Self-Organization.

3.2.   Serving Team
Scrum Master works for the team by serving the team, bulldoze their impediments and demonstrate the behaviour of empathy and healing.

Scrum Master as a servant leader committed to develop high performance using encouraging co-ordination and collaboration.  He/she deep practise active listening, self-awareness about own and team emotions, commitment to team members and also change behaviour that is needed to serve the team.

Scrum Master also demonstrates persuasion, foresight, stewardship, and building community in order to help the team so that they can achieve their goal. So instead of ‘Command and Control’ Scrum Master works to serve the team as agile leadership encourage autonomy, mastery and purpose within team.

3.3.   Help to develop Ground rules:
Scrum Master helps the team to develop ground rules necessary for living together and also in self organizing for their enforcement.

3.4.   Help to  monitor iteration Plan:
Scrum Master also helps the team to inspect and adapt output of each day to review the progress towards sprint goal and for that iteration plan is created during spring planning meeting.

4.     Scrum Master responsibilities for Product Owner and Team
Scrum Master performs most of the responsibilities related to Product Owner and Team organically, which are in line with agile and Scrum framework dimension of responsibilities mentioned in this article. Here I am explaining few others which are not discussed yet:

4.1.   Scrum Master responsibilities for Conflict resolution:
Scrum Master needs to understand five levels of conflicts i.e. ‘Problem to Solve’, ‘Disagreement’, ‘Contest’, ‘Crusade’, and’ World War’.

Conflict resolution is performed using strategies like ‘Do Nothing’, ‘Analyze and Respond’, ‘Use Structure’ and ‘Reveal’. Reveal is most recommended and Analyze and respond is least recommended.

These strategies are used after understanding level of conflict as stated above and then efforts are performed to bring conflict level down to “Problem to Solve” and then team do healthy discussion to resolve the conflict.

4.1.1. Brief details about conflict resolution:

‘Do Nothing’ strategy is used when team is at level one i.e. ‘Problem to Solve’  as team is self organized so let them resolve, in case they need help, Scrum Master provides help if asked.

‘Use Structure’ conflict resolution is used where Scrum Master re-iterates agile values and principles, ceremonies, practices and roles. This is the way to help the team to bring their conflict level down and then team self-organize to resolve the conflict. 

‘Reveal’ when Scrum Master do group coaching to reveal the conflict model and ask where we are to achieve goals? What languages we are using?  By way of revealing the level of conflict, Scrum Master help the team to bring the conflict level down and then ultimately reach to level one and get the problem resolved.

‘Analyze and Respond’ conflict resolution is used when Scrum Master choose to analyze the conflict level and work with Team and Product Owner to resolve the conflict. Detailed strategy of this conflict resolution will be discussed in my upcoming articles.

4.2.   Help to define “Definition of Done”
Scrum Master helps the Product Owner and Team to define “Definition of Done” for the User stories selected for a sprint. In addition Scrum Master help to refine it during Sprint Retrospective ceremony.

5.     Scrum Master responsibilities for Governance:
Scrum Master communicate analysis of metrics those are responsible to review progress for collection of projects.

6.     Scrum Master responsibilities for Stakeholders
Scrum Master performs intensive communication and dialogue to fulfil their dreams and desires and expectations and develop relationship with them using understanding of their emotions.

7.     Scrum Master responsibilities for Scaling Scrum
In case of multiple teams, Chief Scrum Master facilitate ‘Scrum of Scrum’ meeting and it is recommended to have one Scrum Master for team as Scrum Master needs to manage his/her time for the Scrum Ceremonies and to bulldoze the impediments. In the scenario, where teams are new or the organization is first time adapting Scrum, combining of SM role for 2-3 Teams may become risky, teams should have been practicing agile for sufficiently larger duration. In that case all Scrum Masters also coordinate with each other in facilitation with Chief Scrum Master. The basic objective is to share experiences so that they can serve their team better.

8.     Scrum Master responsibilities for Continuous Improvement and Learning’s
Scrum Master help the Product Owner to use to Velocity Chart to continuously improve the release plan. 

Generally continuous improvement concept is used at organization level; in that case they may contribute to provide analysis of metrics held in retrospectives to be part of central project management information system where analysis for collection of projects is needed.

For learning’s, Scrum Master visit user groups, attend conferences, read books and also write blogs.

Inside the team, Scrum Master also work for learning’s while coaching and consult team if everything agile. In addition build community of Scrum Masters in or outside of organization to exchange ideas.

I hope all these details of Scrum Master responsibilities would help you to identify why a full time Scrum Master for one Scrum Team.

At last, I would like to brief needed skills to perform the role of Scrum Master which may include but not limited to: emotional Intelligence, working with people, system thinking and facilitate change. I will detail these skills in my upcoming articles.