Kick-off Brainstorm: Why be Agile?
We introduce the class by discussing the class members’ shared experiences with predictions. Why is it so hard to do, and what impact does that have on our ability to plan projects?
Module 1: Run a Sprint, Release a Product increment
We begin by experiencing day-to-day work on an Agile project
1. Role-Play: Sprinting and Daily Scrums – After brief instruction about key concepts, you will participate or watch as an Agile team holds a Sprint’s-worth of Daily Scrums, then engage in a class-wide discussion of these topics:
· Agile Team Dynamics
· Iterative work
· Daily Status, plan & corrective actions
· Using a Task Board & Buren Down Chart to understand progress
· Team sharing work with each other
· Scrum Master:
· Facilitating interaction
· Removing impediments
· Product Owner:
· Real-time validation & feedback
· Adapting to change
· … when un-planned-for tasks are discovered
· … when tasks take more or less time than expected
· Agile quality management
· Using automated testing to get immediate feedback
· Using Test-Driven Development to ensure the goodness of what you build
· Using Continuous Integration to catch and correct inconsistencies right away
2. Role-Play: End of Sprint Ceremonies – After brief instruction about key concepts, you will participate or watch as an Agile team holds the end-of-Sprint ceremonies, then engage in a class-wide discussion of these topics:
· Holding a Sprint Review
· Effectively a Milestone-Review at the end of each Sprint
· Using a Release Burn-Down chart to visualize project progress
· Dealing with project issues
· Obtaining stakeholder concurrence on project progress
· Making release decisions
· Demonstrating what was built in the Sprint
· Getting feedback from stakeholders
· Identifying new User Stories
· Holding a team retrospective
· Agreeing what is working well, not working well, and possible improvements
· Deciding to make improvements to the team’s practices, rules & norms
· Releasing a Product Increment
· Minimum Viable Product (MVP)
· Early Acceptance Testing
· Quality Management – Integrating work with other teams’ work
Module 2: Plan a Sprint
We look at how a Sprint Backlog is built
1. Role-Play: Story Refinement – After brief instruction about key concepts, you will participate or watch as an Agile team refines their understanding of the User Stories for the up-coming Sprint, then engage in a class-wide discussion of these topics:
· Collaborating to define requirements details
· Capturing Product Owner guidance
· Asking clarifying questions of the Product Owner
2. Role-Play: Sprint Planning – After brief instruction about key concepts, you will participate or watch as an Agile team plans a Sprint, producing a Sprint Backlog, then engage in a class-wide discussion of these topics:
· Identifying the tasks required to complete each User Story
· Using the team’s Definition of Done as a guide
· Team members signing up for tasks
· Estimating task effort
· Ensuring the Sprint Plan is realistic
· Committing to the Sprint Plan
Module 3: Adapt to Change
Next, we see how changes to the Product Backlog are handled
1. Role-Play: Changes to the Product Backlog – After brief instruction about key concepts, you will participate or watch as an Agile team incorporates new User Stories into their Product Backlog, then engage in a class-wide discussion of these topics:
· Product Backlog changes come from many sources
· Product Owner acting as the gatekeeper to the Product Backlog
· Deciding what’s in or out
· Prioritizing against existing User Stories
· Team members estimate new User Stories in Story Points
2. Role-Play: Changes to the Release Plan – After brief instruction about key concepts, you will participate or watch as an Agile team updates their Release Plan to accommodate additions to the Product Backlog, then engage in a class-wide discussion of these topics:
· Determining if changes impact Release Dates
· Using the Team Velocity and Story Point estimates
· Product Owner deciding if the Release Plan change is OK
· Based on knowledge of project constraints
· Communicating the change to project stakeholders
3. Role-Play: Product Discovery – After brief instruction about key concepts, you will participate or watch as an Agile team updates their product concept and Product Backlog as a result of feedback from users, then engage in a class-wide discussion of these topics:
· The value of an early first release is to get early feedback from users
· Evolving the product concept in response to user feedback
· Using experimentation to validate understanding of users’ needs & preferences
Module 4: Elaborate Stories and Plan a Release
Now we extend the Release Plan further into the future
1. Role-Play: Elaborate Stories in the Product Backlog – After brief instruction about key concepts, you will participate or watch as an Agile team adds key information to the User Stories in their Product Backlog, then engage in a class-wide discussion of these topics:
· Product Owner adjusting prioritization of the Product Backlog
· Product Owner articulating Acceptance Criteria for User Stories
· Team asking clarifying questions about Acceptance Criteria
2. Role-Play: Story Point Estimation – After brief instruction about key concepts, you will participate or watch as an Agile team uses Planning Poker to estimate User Stories in Story Points, then engage in a class-wide discussion of these topics:
· Estimating in Story Points
· What Story Points mean and don’t mean
· How to play Planning Poker
· Resolving differences in estimates
· The role of discussion in coming to a consensus on estimates
· The Product Owner’s role in clarifying User Stories during estimation
3. Role-Play: Release Planning – After brief instruction about key concepts, you will participate or watch as an Agile team plans a release, then engage in a class-wide discussion of these topics:
· Using Team Velocity
· What is Velocity
· When does a team’s Velocity change?
· Mapping User Stories into Sprints
· Using Priorities to guide order
· Using Story Point estimates and team Velocity to limit capacity
· Determining release date using number of Sprints and Sprint length
Module 5: Begin an Agile Project
Having role-played or discussed all of the key Agile activities, we will now turn to how Agile projects are kicked off.
1. Collaborating with the Product Owner on a Product Vision
· Identifying all user roles
· Writing a Persona
· Choosing user roles that need a Persona
· Visualizing the Customer Journey
· Normal journey for a user
· Alternative journeys
· Breaking large customer activities into smaller steps
· Translating Journey Steps into Epics
· Using the “As a {} I need {} so that {}” format
· Breaking Epics down into User Stories
· Using the “As a {} I need {} so that {}” format
· Prioritizing releasing early and often
· Value delivered to Customer
· Feedback from users
· Defining Minimum Viable Product (MVP) – First Release
· Minimum time and effort for maximum value
· Defining other releases
· Deliver in Priority Order
2. Discussion: Beginning an Agile Project
Module 6: Agile Team & Mindset
Now that we have experienced all of the Agile practices, we will turn our attention to the team that makes it all happen.
1. Discussion: Team Roles
· Scrum Master
· Product Owner
· Small, cross-functional team
2. Discussion: Self-Organizing Team Dynamics – After brief instruction and a video about key concepts, you will engage in a class-wide discussion of these topics:
· What it means to be a Self-Organizing team
· Collaborating to establish team rules and norms
· Collaborating to plan and manage the project
· Interpersonal dynamics on a high-performance team
Module 7: Core Agile Concepts
We end the class by pulling together all of the ideas we have experienced and drawing the big picture Agile concepts.
1. Discussion: Agile Manifesto – You will engage in a class-wide discussion of these topics:
· The 4 Agile Values
· The 12 Agile Principles
2. Discussion: Variety of Agile Methods – After brief instruction about them, you will engage in a class-wide discussion of these topics:
· Agile is not a single method
· All Agile methods are Lean
· How Scrum differs from Kanban
· Why you would choose Scrum vs. Kanban
· Scaling Agile to large projects and bigger contexts
· Scrum of Scrums
· SAFe®
· DevOps
3. Discussion: The Agile Mindset – After brief instruction about them, you will engage in a class-wide discussion of these topics:
· Agile mindset enables Agile methods & practices
· Key elements to Agile success
· And what if any is missing