1. Why Agile?
We will explore as a class what problems plague software development so that we can recognize how Agile is an answer to real world problems.
2. Becoming Agile
- Agile Mental Models
- Agile Manifesto
- Agile Principles
- Agile Practices
Teams will engage in a fun exercise that will reinforce the importance of, and power behind, self-organizing teams. As with sports teams, individual roles are important, but even more important is the need to work toward a common goal together. At times that means blurring the lines of traditional roles. Great teams will not define themselves by their individual roles.
3. Building an Agile Team
We will discuss as a class what makes a great team based on teams we’ve participated in that were great.
4. Agile Project Planning
- User Roles and Personas
Teams will practice turning User Roles into full fleshed personas.
5. Backlog Planning
- Writing User Stories
Each team will conduct a brainstorming session for creating a product backlog in the form of user stories. Each team will present some of their user stories and the instructor will lead discussion about where teams hit the mark and areas for improvement. After some feedback and sharing, each team will take a second pass at creating some user stories.
Teams are tasked with assigning a priority to their user stories at the appropriate level of detail.
Teams are tasked with assigning story point estimates to enough user stories to extend at least a few iterations into the future. The methods for determining the story point estimates will be Planning Poker and Affinity estimating. Teams will be given enough time to begin to see some consistency in their team and triangulate relative sizing of their stories. Teams are then asked to estimate their team’s velocity.
6. Release Planning
Teams are tasked with building a release plan by incorporating priority, story point estimates, team velocity and customer/product owner input to assign stories to iterations for the desired release.
7. Story Review
8. Iteration Planning
Teams are tasked with discussing the details of the stories that, based on the estimated team velocity, may be completed in the first iteration. As the details are discussed, the tasks will be identified that would be needed to achieve the desired result. Next, with all of the tasks identified, teams assign actual time estimates to the tasks identified. Finally, the team will revisit the sizing of the iteration to determine if they have the appropriate time and resources to meet their commitment.
9. Iteration Execution
- The Daily Scrum
- Visual Management
- Agile Metrics
Taskboards are an invaluable communication tool during each iteration. Each team is tasked with coming up with their taskboard that communicates clearly their commitments for the iteration and progress against those commitments.
10. Inspect and Adapt
- The Iteration Review
- The Demo
- The Retrospective
Teams will discuss what things they can do the day after class ends to take what they’ve learned and implement it immediately so that they don’t lose what they’ve learned.