A 2-day experience-based course
view expanded PDF description
Overview
This 2-day experience-based workshop teaches participants how to apply Agile principles to increase speed of delivery.
The course begins with an overview of Agile values, practices, and methods. We bust common misconceptions about Agile, such as the "no documentation" and "no QA" myths. And we define Agility in terms of the key characteristics that Agile teams all share, regardless of the "brand name" of their methodology.
Participants then practice increasing Agility on a simulated project in which they create and sell a product entirely on paper (no programming skills required). Each participant chooses a role on the team: product manager, developer, tester, or observer. In a series of iterations, the team attempts to deliver a product that the customer is willing to buy. Each successful delivery generates revenue for the company. But as with real projects, producing a working product on a tight schedule can be challenging. After each iteration, participants reflect on key events, then adjust their team practices to increase their productivity for the next iteration. As a result of the simulation, participants learn to apply the principles of visibility, feedback, communication, and collaboration to increase their rate of delivery.
After the simulation, we explore how participants can adopt Agile practices on their real projects with real schedules, real budgets, and real pressures. We demonstrate how open source tools for testing and continuous integration help Agile teams to deliver the right product at the right time.
By the end of the workshop, participants will understand how to translate core Agile values into real world practices.
Outline
-
1. Introduction
- Agile values, methods, practices, and terminology defined
- Agile distilled: visibility, feedback, communication, collaboration, focus on value, rapid delivery, reduced waste
- No silver bullets: Agility vs. Agile Lip Service
- The Agile Simulation
- Choosing roles
- Executing iterations to deliver products and generate revenue
- "Reflect and Adjust" mini-retrospectives
- Lessons Learned: From Simulation to Reality
- Distilling lessons learned from the simulation
- Applying insights from the simulation to projects in the real world
- "One Small Thing": the art of making incremental changes
- Creating and maintaining working agreements
- How existing skills fit into Agile projects
- Agile Team Practices
- Integrating efforts across roles and across teams
- Lightweight documentation
- Automated developer testing and acceptance testing
- Demonstrations of open source tools
- Wrap-up
- Summary
- Next steps
