Overview

This is an Agile course designed to enable delegates to take on one of the roles within a Scrum project. In particular it is aimed at individuals seeking to work in the Product Owner or Scrum Master roles. As such it is typically tailored based on the audience, with the topics listed covered in varying detail based on need.

The delivery first introduces the Scrum method, both in isolation and in derivative forms like Scrumban. It then walks you through the factors that are essential for these projects to succeed, before delving into each job role in detail. The different roles are discussed not just via individual responsibilities, but also in terms of how they can reinforce one another or (in troubled times) become adversarial.

By the end of the course delegates will understand what is necessary to make a Scrum project succeed and what their goals and responsibilities will be in their new role. They will also have a set of suggestions and strategies for making effective contributions and solving common problems. It should be noted however that since Scrum is an experience based (as opposed to a prescriptive) methodology each delegate will need to adapt the material to their own temperament and situation.

Outline

Introduction - Agile Revisited

  • Examining the Agile Manifesto point by point
  • The customers and developers ‘Bill Of Rights’ from XP
  • The role of up-front architecture in Agile methods
  • How Agile methods lead to productive and engaged developers
  • Challenges when managing a project organized using Agile
  • Agile methods, Software Craftsmanship and Technical Debt

An Overview of Scrum

  • Scrum as one instance of Agile methods
  • The different players within a Scrum project
  • Ceremonies and artifacts adopted by Scrum teams
  • Product / sprint backlogs, stories and velocity
  • Scrum is iterative, incremental and fully automated
  • How we ensure continuous progress by managing debt
  • How we ensure a viable product by customer engagement

Combining Scrum with Other Methods

  • Why Scrum does not mandate engineering practices
  • Techniques pioneering and often borrowed from XP
  • Lean Software movement and the Kanban method
  • The advantages of combining Scrum with Kanban
  • Domain Driven Design (DDD) and Event Storming
  • Integrating DDD / Event Storming into Scrum

Workflows Within a Scrum Project

  • What happens at a sprint planning meeting
  • Using Planning Poker to estimate stories
  • Eliciting requirements via Stories and BDD
  • Eliciting requirements via DDD and Event Storming
  • How the daily stand up meeting should proceed
  • Running a post sprint review meeting with the client
  • Conducting a post sprint retrospective with the team
  • How the focus changes between elaboration and transition
  • Maintaining and extending applications within Scrum

Signs You Are Using Scrum Correctly

  • The Scrum Master and Product Owner roles work
  • Everyone is busy whilst the sprint progresses
  • The entire organisation participates in Agile
  • Sprints have constant length and aren’t interrupted
  • Standups are not polluted by general discussion
  • Developers choose features and make estimates
  • The definition of done works and is adhered to
  • Team members can pair and switch pairs often
  • Team members switch between multiple roles
  • Learning occurs unprompted and via retrospectives
  • Team members understand business priorities
  • Processes and practices are continually refined
  • Managing technical dept is included in the process
  • Automation is introduced wherever it is possible

Promoting Best Practices Within the Team

  • Choosing languages and frameworks
  • Refactoring and coding standards
  • Test Driven Development and Mocking
  • Correctly estimating the size of Stories
  • Correctly estimating the scope of Sprints
  • Automating system and acceptance tests
  • Making use of DevOps and Cloud Computing

The Product Owner Role in Detail

  • What should be the skill set of the Product Owner?
  • Managing the expectations of the stakeholders
  • Understanding the technical implications of change
  • Finding a balance between short and long term goals
  • Remaining continuously engaged with all participants
  • Ensuring successful team-stakeholder interaction
  • Acting as gatekeeper for the product backlog
  • Grooming items within the product backlog
  • Enforcing a realistic pace via story points
  • Using Work In Progress (WIP) to control pace
  • Enabling honesty and realism within the team

The Scrum Master Role in Detail

  • What should be the skill set of the Scrum Master?
  • Facilitating the process and enforcing discipline
  • Helping choose between methods, tools and frameworks
  • Defining appropriate metrics and a definition of done
  • Acting as the champion for Scrum in difficult times
  • Controlling for flows of information across the project
  • Coping with teams where experience levels are uneven
  • Managing the balance between code quality and delivery
  • Working with the Product Owner to increase visibility
  • Organising talks, unconferences and retrospectives
  • Helping to identify, elucidate and slice stories
  • Ensuring the teams estimates remain realistic
  • Promoting recovery when things don’t go well
  • Sharing knowledge across teams and projects

Requirements

Delegates should have a minimum of two years experience working on software projects. The experience should be related to the role they intend to move into. For example, prospective Scrum Masters should have experience of coding and automated testing.