Retrospectives
The hardest, most important agile practice
Retrospectives (retros)
The obvious part
Look at what happened
Figure out how to do better
Retrospectives
Why they don't work
Gut feelings
"Our codebase sucks!"
Misdirected focus
"Attendance at swarms sucks!"
Blame
"That's the third time you've broken the app!"
Aspirational proposals
"Ensure all important requirements identified"
Cures worse than the disease
"Everyone who is late pays a buck per minute."
"All code has to be reviewed by all team members before committing to master."
Useless metrics
"Tardiness is down 20%"
"Lines of code written is up 25%"
Continual Product Development
Continual Team Development
Retrospectives
Key components
Focus on metrics that matter.
Productivity, value delivered, morale
Measure the actual problem (baseline).
Analyze the actual causes (hard!!).
5 why's root cause analysis
Find a simple change for a fixable root cause.
Not an immediate cause
Not an external cause, e.g., client behavior
Identify change dangers.
Other metrics that matter (not target) that the change might hurt
E.g., fewer bugs, but reduced productivity
Set tradeoff: maximum cost, minimum benefit.
"At most 15 minutes per meeting, at least 20% decrease in defects released"
Track and review at future retros.
Example causal analysis
Start with an issue
Link to a metric that matters
What Kniberg calls "visible damage."
Identify the causes
Propose a change
What are good changes to propose?
Common Agile Changes
Acceptance tests
Backlogs
Burnup / burndown charts
Continuous deployment
Continuous integration
Daily stand-up
DTSTTCPW
Feature teams
Four-panel Storyboards
Information Radiators
Iterations
Niko-niko charts
Parking lot
Plan B
Post-It notes
Refactoring
Retrospectives
Scenarios
Story points
Swarming and pairing
Taskboards
TDD
Technical spike
Timebox
Transparency
User stories
Velocity
Vertical slices
Wideband polling
YAGNI
Agile Alliance Subway Map to Agile Practices
Anti-Agile Techniques
BDUF
Distributed teams
Extensive mockups and wireframe sequences
Scheduled milestones
Silos
Waterfall
Weekly task assignments
Underlying Agile Themes
Deliver value early
Define by story
Fail fast
Timebox
Defer commitment
Slice
Make it visible
Make it testable
Minimize work in progress
Minimize non-production
Thanks to Hakim El Hattab for
the slide template