Agile '05 conference, part 4
Jeff Sutherland on Advanced Scrum
"Better, faster, cooler." If this is interesting, see Jeff's paper. I made very quick notes but it's an interesting extension of the Scrum work and I plan to give it more study.
Scrum is out of development and into the whole company. This approach is for experienced ScrumMasters/developers only. See Lawrence Leach: "Eight Secrets to Supercharge Project Performance", Adv. Project, Inc.
Productivity is measured as "features/$100K"
How can we (agile?) win?
One study shows outsourcing cuts costs by only 20% - significant, but not quite the same as cutting 80% or more of costs as some have promised.
The new approach: anticipatory, requires accurate analysis of process and automatic monitoring.
Type A, B, and C Scrum - A: isolated cycles (breaks between sprints), B: overlapping iterations (no handoffs), C: all at once.
Consider the sprint level.
Need to do pre-staging work for the next iteration inside this one (or else we'll be tempted to fall back to type A).
Advanced scrum has multiple simultaneous concurrent sprints. All sprints release live software.
- MetaScrum for release planning
- Variable-length sprints
- Overlapping sprints for one team
- Pre-stage product backlog
- Daily scrum of scrums
- Integrate product backlog and sprint backlog
- Paperless project management and realtime reporting
- Administrative overhead of 60 seconds/day/developer and 10 minutes/day/ScrumMaster.
One of the big challenges is having items in the backlog be ready. In their case, that means "intuitive for a doctor" - usable within one hour. This means stories need enough detail, and must have been prototyped with doctors. It forces the product owners to work with the developers to prototype things.
MetaScrum: weekly meeting of stakeholders. Led by the Product Owner. Use the three questions. All product decisions are made here. Release status. All decisions are communicated that day. Damage control plans are executed in the same day.
Iterations: three-month - major product releases (eliminate bugs from portfolio); 1-month sprint for new customer/upgrades (eliminate high-priority bugs); one-week sprint for critical issues. This gives them 45 production releases a year. "Assumes good practices. They're using one code base, working at the tip.
Pre-staging: Overlap sprints, with no break between them. Work only on product backlog that is ready to go the sprint. Pre-staging can double throughput in sprints.
Prioritizing sprints. Constraint theory tells us we must have slack. This lets you optimize multiple overlapping sprints. The backlog is fully automated, with priority levels for the different length sprints (week, month, quarter). Developers focus on one task at a time in priority order. Completing weekly/monthly tasks let them get to the "fun" quarterly tasks.
Sprint backlog: Set to embrace change. Every sprint releases. Customer satisfaction is the top priority. Can restart - a MetaScrum decision.
Automated backlog: Via a bug tracking tool. For each task, the developer is asked: 1. For tasks touched today, how much time is invested in the task? 2. What percent is done? This provides enough data for management "micro-accounting".