Rachel Davies
GROWING AGILE PRACTICE
Please raise your hand to help me see your knowledge of agile methods
• Who is new to Agile / Scrum?
Your Background
• Brief Agile History• Evolution of Agile Practices
• Retrospectives
• User Stories
• Mock Objects
• New Practices
• Mob programming
• Multi-product backlog
• Testing in production
• Sharing Agile Practices
Overview
Problems with Waterfall
XP = Continuous Delivery
_
Brief Agile History
My Experience
Traditional Waterfall11 years
XP3 years
XP5years
Agile/Scrum9 years
_
Evolution of Agile Practices
Extreme Programming in 2000
Lots of strange new practices to learn
We needed time for reflection
How do we do 12 practices of XP?
What did we do well?
What have we learned?
What can we do better?
What puzzles us?
Project Retrospective Questions
Author: Norman Kerth, retrospectives.com
3 days off-site meetingat the end of a project
to identify lesions for future projects
XP Teams Simplified Project Retrospectives
Compressed, 1 hour every 2 weeks
Experimenting with our practices to incorporate learning during project
Heartbeat Retrospectives
Retrospective Meetings became an official Agile practice
Modern XP: Retrospective
Team diary board, print for retrospective
Learning to Write Stories
Stories are part of Planning in XP
Stories should be written on cards
What do we write on these cards?
Connextra Story TemplateQuestions to ask Who? What? Why?
Bad Stories
Adding “As a user” to every story is pointless
Better Stories
Focus on value delivered
Modern XP: Developers write stories
Focus on value delivered
Modern XP: Developers write stories
Focus on value delivered
Modern XP: Full Spectrum Developers
Developers involved end-to-end
Learning to Test Drive Design
Tests help us shape design in XP
Driving Design with Tests
How do we test a unit without breaking encapsulation?
Mocks Isolate Code Under Test
Isolating class under test with Mock Objects
Outside-In
Add behaviour from the outside
Inspired Dependency Injection
Passing in dependencies
_
New Agile Practices
Pair Programming
2 developers. 1 switches out next day
Mob Programming
Woody Zuill at Hunter Industries
Mob Programming
Woody Zuill at Hunter Industries
Our Mob Experiment
2 screens. 1 keyboard. 1 driver
Mini Mobs
3-4 developers in a mob
Multi-Product Backlog
A backlog spanning all our products
Multi-Product Backlog
A backlog spanning all our products
Product News “Strand-up”
Cross-team meeting, sharing product research news
Testing in Production
Run product in live environment without staging
Team Monitor Live Services
Team see peaks in traffic and deployments
Scheduled Chaos Monkey Testing
Inspired by Netflix
Feature Toggles
Hide features from users until ready
_
Sharing Agile Practice
Focus on flow
How do we improve?
Visit Your Agile Community
How do we spread new practices?
Wait for Agile to Grow
New practices take time to grow. Be patient!
@rachelcdavies
Thank You