Agile coaching and consulting - Lesson plan
I received so many requests for assistance in helping others to achieve the same successes that I've enjoyed that I formalized a training plan for initiating an agile revolution in your company. If you are interested, please contact me and we'll see if I can help.
Agile Principles and processes
- Agile Manifesto
- Underling principles of agile development
- The thirteen principles
- Major agile schools of thought
- Extreme Programming
- Core agile practice overview
- timeboxed development
- feature-driven development
- test-driven development
- self-tasking teams
- continuous refactoring
- continuous integration
- Co-located teams
- Onsite customer (or proxy customer)
Goal: understand the history and principles behind agile development.
Project Intake Process
- The vision - build the box first
- The customer role
- Forming the team
Goal: Refine intake process to build strong, self-directing teams with a clear understanding of project goals.
Agile Estimating and Planning
- Product backlog - user stories and use cases
- There are many users (Don't just use "the user"). User's don't have to be roles. They can be people with different goals or perspectives.
- Write stories from the user's point of view
- The format I like: USER is able to DO SOMETHING in order to ACCOMPLISH A GOAL
- A good story is Independent, Negotiable, Valuable, Estimatable, Sized appropriately, Testable (INVEST) - Bill Wake and Mike Cohn
- Turning client requests into user stories
- Ron Jeffries' 3Cs - Card (the story), Conversation (the details), Confirmation (run acceptance tests)
- The conversation can spawn substories
- What is a use case?
- Has title, actor, main success scenario, and extensions.
- The difference between a use case and a user story: A use case documents an agreement about a feature between the customer and developers. A user story is simply a promise to have a conversation about the feature.
- Why user stories? A conversation is more likely to lead to a satisfactory product than a documented requirement.
- Estimating Stories
- Ideal time
- PERT (Best + 4xExpected + Worst)
- Story Points
- Planning Poker
- Story prioritization
- 1, 2, 3
- Low, Medium, High
- Release planning
- Iteration backlog
Goal: learn to effectively and efficiently determine deliverables, priorities, and reasonable timelines.
- Burndown charts
- Project tracker
- Daily Scrum
- Pigs and Chickens
- Tracking tools
Goal: learn to implement agile tools for rapid feedback on team performance.
Agile Quality Control
- Code reviews
- Pair programming
- The tester/programmer relationship
- Test driven development
- Automated testing tools
Goal: learn agile methods for maintaining code quality for enhanced product stability and reduced maintenance costs.
- How to run an agile retrospective and turn observations into action items.
- Structure of the retrospective
Goal: learn to learn. A process for continual improvement.
Agile Training and Consulting
Paul Klipp has helped teams around the world improve their performance through agile methodologies. Whether you need advice, training, or coaching, Paul can get your team on the road to success with Scrum.