Tuesday, July 26, 2011

The ScrumMaster's Notebook

The ScrumMaster's skill set differs from those of roles outside the Scrum framework.  While project managers have the majority of the skills, the ScrumMaster needs more knowledge and current practical experience on the application development side (analysis, implementation, etc.) to help with the lower level of day-to-day details involved with the role.  While application developers and analysts can have the majority of the skills as well, the ScrumMaster needs more knowledge and practical experience in the Scrum framework, influence, agile and lean techniques and principles.

The following describes those topics a ScrumMaster should track and evolve in a notebook for quick reference and continuous improvement. 

The Scrum Framework
While Scrum is only a framework for projects (and not a prescribed methodology), it is important for the ScrumMaster to know how to incorporate agile, lean, and development practices and principles into the framework.  Knowing where the framework stops, and the team's practices begin can help the ScrumMaster pull the team together in times of misunderstanding and in times of value stream optimization.

Notes on good practices for the daily meeting (stand up meeting) can help as a reference when the meetings run long or when the value of the meeting starts to decrease.

Keeping a list of alternative approaches to the retrospective is valuable.  Switching retrospective techniques can help invite new opportunities for team member participation and bring out new ideas not thought of in the previous retro's approach.

The ScrumMaster should also be able to articulate the team's velocity and recent burndown (or hours remaining).  A page should be dedicated to creating a burndown (perhaps even a project burndown to show senior management the team trends).

Scrum Team
Information on the Scrum team should be kept in mind to assist with the team's effectiveness.  Information on the best size of a team, the ability for the team to be cross functional, and how the team works with management can prove valuable when issues, organizational changes, or team questions arise.

It is important to control the team size and to be able to articulate the importance of the team size.  If team members are pulled away or added, then current relationships, velocity, and team effectiveness is affected.

The team should remain cross functional.  As a team moves away from new development and transitions to a maintenance phase, for example, it is common for the team to see organizational changes.  The ScrumMaster must be able to refer to the fundamental principle for cross functional teams and ensure the team is able to maintain the previous effectiveness.

ScrumMasters should understand how management can work for the team.  When to escalate to management, and when to shield the team from management are important things to keep in mind. 

Agile
A ScrumMaster should be well versed in agile principles and practices.  The benefits of the agile manifesto, and how those benefits map to business value are important to keep readily available.  Prioritizing can sometimes be helped with information on why things are done the way they are done, or why the process needs to change. 

Specific examples for ScrumMasters to note include story maps, the roles of team members, how to handle debt, and the benefits of information radiators and team boards (physical task boards vs. virtual task boards).

There are lots of development frameworks out there, and the ScrumMaster needs to know when to evolve the current team's framework.

Lean
Just as agile principles and practices are important, lean principles are also important.  While Scrum doesn't technically require a knowledge of lean principles, a ScrumMaster can shape its team's effectiveness by incorporating lean principles (such as optimization, limiting waste, making small changes at a time, limiting debt, continuous improvement, visual control, simple technology, using just in time, etc.).

Impediment Removal
ScrumMasters have a responsibility to foresee and remove impediments to the team.  However, ScrumMasters should coach the team to proactively remove impediments themselves, so that the ScrumMaster can focus on removing the real impediments.

Pull vs. Push
The ScrumMaster should have an appreciation for the differences between pulling work and pushing work.  The team that pulls work is empowered to produce a quality product and innovate.  The team that has work pushed to them has less opportunity to do so.

Continuous Delivery
Knowledge of and reference to the benefits of continuous integration and delivery is valuable to a ScrumMaster in situations where the Product Owner needs explanation for the priority of work toward these practices.  Mapping the components of automated continuous delivery to business needs is a key skill for a ScrumMaster.  The Scrum team benefits from automation, but the entire organization may need to be influenced to see the benefits.

Engineering Practices
The Scrum framework does not prescribe engineering practices, so the ScrumMaster must ensure the team does not lose sight of good practices.  Notes on these practices and when to utilize them can assist the ScrumMaster in determining if the definition of done is complete, if the right tasks are considered during planning, and if junior team members are collaborating with senior team members for the right reasons.

Technical Skills
A ScrumMaster should acquire at least a minimum skillset in the technologies used by the team.  A background in the team's technologies, processes, and techniques will assist the ScrumMaster in removing impediments, and ensuring team members are working effectively.  A reference to these items can help make quick decisions or improve the effectiveness of the decisions made by the ScrumMaster.

Functional or Domain Knowledge and Skills
The ScrumMaster should also acquire at least a minimum level of knowledge or skills in the business domain or functionality of the product.  Referring to this information will assist the ScrumMaster in leading the team's planning and prioritization.

System Quality Attributes
Occasionally the team identifies areas of difficiency or debt that the product owner or customer has not realized.  The ScrumMaster should be able to assist the team with relaying the relevance of the debt to the product owner.  A tactic to improve the product owner's understanding of the problem is to map the problem to one of the standard system quality attributes (or non functional requirements).  Refrence information on these quality attributes can make this process more effective.

Feedback
The ScrumMaster is sometimes called upon to resolve conflicts or deal with difficult situations.  Readily-available notes on how to deal with these situations, and how to give proper feedback are useful.  Sometimes these situations come up unexpectedly and a quick resolution may be required.

Reinvigorating Your Scrum Team
The Scrum team can sometimes get into a rut.  Repetitive types of backlog items, or periods of uninteresting work may take away some of the team's excitement.  The ScrumMaster should have a list of approaches available to apply during these periods to keep the team engaged. 

Leadership
The ScrumMaster is a leadership position.  The team has more interaction with the ScrumMaster than with management.  Therefore, the ScrumMaster should have a set of leadership skills to match the team's needs and information on how to best use these skills.

Optimizing Value
A team's backlog contains items of varying priority, value, and complexity.  The ScrumMaster should understand and have access to the benefits of acting on these items in the way that best optimizes the value added to the product.  The Product Owner owns the priority, but the ScrumMaster can influence priority from the team's perspective.  For example, consider acting on high value with low complexity items first.  When those items are complete, assess the remaining items to determine their remaining value. 

Facilitation & Project Management
The ScrumMaster facilitates the Scrum rituals and various meetings with the team and stakeholders.  Additionally, standard project management skills are used daily to run the development team. Additionally, ScrumMasters need to guide their team and a program if working within a program following a different methodology (see considerations for agile inside waterfall.)

The ScrumMaster also needs to think quickly about each card on the team board during the daily stand up meeting.  Consider the WATCH The Board technique.

While the needs of a ScrumMaster will change with the particular team, notes on the topics identified here will help the ScrumMaster empower and effectively lead the team.

No comments:

Post a Comment