"A to Z Dictionary" of SCRUM Master Responsibilities - Agile development - Utopia in Portfolio Management
What is Agile?
Agile came about as a “solution” to the disadvantages of the waterfall methodology. Instead of a sequential design process, the Agile methodology follows an incremental approach.
Developers start off with a simplistic project design, and then begin to work on small modules. The work on these modules is done in weekly or monthly sprints, and at the end of each sprint, project priorities are evaluated and tests are run. These sprints allow for bugs to be discovered, and customer feedback to be incorporated into the design before the next sprint is run.
The process, with its lack of initial design and steps, is often criticized for its collaborative nature that focuses on principles rather than process.
Great Reasons "To Do Agile Development"
1. Revenue
The iterative nature of agile development means features are delivered incrementally, enabling some benefits to be realized early as the product continues to develop.
2. Speed-to-market
Research suggests about 80% of all market leaders were first to market. As well as the higher revenue from incremental delivery, agile development philosophy also supports the notion of early and regular releases, and ‘perpetual beta’.
3. Quality
A key principle of agile development is that testing is integrated throughout the lifecycle, enabling regular inspection of the working product as it develops. This allows the product owner to make adjustments if necessary and gives the product team early sight of any quality issues.
4. Visibility
Agile development principles encourage active user involvement throughout the product’s development and a very cooperative collaborative approach. This provides excellent Visibility for key stakeholders, both of the project’s progress and of the product itself, which in turn helps to ensure that expectations are effectively managed.
5. Risk Management
Small incremental releases made visible to the product owner and product team through its development help to identify any issues early and make it easier to respond to change. The clear visibility in agile development helps to ensure that any necessary decisions can be taken at the earliest possible opportunity, while there’s still time to make a material difference to the outcome.
6. Flexibility / Agility
In traditional development projects, we write a big spec up-front and then tell business owners how expensive it is to change anything, particularly as the project goes on. In fear of scope creep and a never-ending project, we resist changes and put people through a change control committee to keep them to the essential minimum. Agile development principles are different. In agile development, change is accepted. In fact, it’s expected. Because the one thing that’s certain in life is change. Instead the timescale is fixed and requirements emerge and evolve as the product is developed. Of course for this to work, it’s imperative to have an actively involved stakeholder who understands this concept and makes the necessary trade-off decisions, trading existing scope for new.
7. Cost Control
The above approach of fixed timescales and evolving requirements enables a fixed budget. The scope of the product and its features are variable, rather than the cost.
8. Business Engagement/Customer Satisfaction
The active involvement of a user representative and/or product owner, the high visibility of the product and progress, and the flexibility to change when change is needed, create much better business engagement and customer satisfaction. This is an important benefit that can create much more positive and enduring working relationships.
9. Right Product
10. More Enjoyable!
The active involvement, cooperation and collaboration make agile development teams a much more enjoyable place for most people. Instead of big specs, we discuss requirements in workshops. Instead of lengthy status reports, we collaborate around a task-board discussing progress. Instead of long project plans and change management committees, they discuss what’s right for the product and project and the team is empowered to make decisions. Generally, this makes it a much more rewarding approach for everyone. In turn this helps to create highly motivated, high performance teams that are highly cooperative.
Scrum Master Skills
Here's a list of Scrum Master skills. Required skills may vary based on the job role & Skills sets.
A-G
- Achieve Sprint Goals
- Act as Liaison Between Project Owner and Development Team
- Adapt and Write Product Visions
- Address Team Needs Efficiently and Effectively
- Adhere to Project Timelines
- Agile Coach
- Build and Develop a High Performance Team
- Build Release Plan
- Coach Organization Into Scrum Adoption
- Continuously Improve Processes
- Detect Potential Problems
- Educate Project Owner, Team, Management and Company
- Encourage Project Organization
- Encourage Project Transparency
- Ensure Scrum Process is Running
- Ensure Team Follows the Values and Practices of Scrum
- Evangelize Agile Within Organization
- Facilitate Daily Standup Meetings
- Focus and Educate Team on Business Goals
- Foster Feedback
- Good conflict resolution skills
H - M
- Help Team Learn From Past Experiences
- Hold Retrospective Meetings
- Hold Team Members Responsible For Tasks
- Increase Productivity of Development Teams and Organization
- Jump to coach team/stakeholders in Agile, as per requirement
- Keep Team Focused on Current Sprint Requirements
- Learn Everything Agile
- Maintain a Proper Balance Between Project Owner, Scrum Team and Management
- Maintain Burnout chart
- Maintain Scrum Tools
- Moderate During Team Meetings
N - S
- Negotiation skills
- Organize Daily Planning Meetings
- Organize and Maintain Product Backlog
- Owner of Blocker Board
- Process Owner
- Promote Use of Agile Engineering Practices
- Promote Self-Help Within Development Teams
- Quality Control
- Robust collaboration skills
- Setup Sprint Review and Planning Sessions
- Shield Team From Interruptions During Sprints
- Solve and Remove Impediments
- Speak on Behalf of Development Team
- Support Team Building
T - Z
- Team Building
- Team Leader
- Troubleshoot Impediments and Blockers
- Up-to-Date On Industry Trends
- Utilize Skills and Abilities of Team
- Victory in "Win-Win" situation with Main Stakeholders
- Walk Project Owner Through User Stories
- Work with Project Owner
- Write User Stories
- Zeal to attain excellence