Scaling Agile
Askhat Urazbaev
Agile Coach
ScrumTrek
Askhat Urazbaev
• ScrumTrek
• Agile Coach
• CEO
• In the past
• Programmer, manager, process
architect
Structure Practices Culture
STRUCTURE
Front End
Back End
Testers
Architect
OPS
6 ppl
8 ppl
4 ppl
Boss
Front End
Back End
Testers
Architect
OPS
6 ppl
8 ppl
4 ppl
BossToo long!
Why so long?
Product
Queue here Queue here
Product
Input > output
No life here
Feature team
• Mutual help
• Early integration
• Fast defect fixing
• No beurocracy
• Минимум
бюрократии
Size: 7±2
Boss
Feature Team 1 Feature Team 2 Feature Team 3
Architect
Poor
quality!
I cannot control
everything
Boss
Feature Team 1 Feature Team 2 Feature Team 3
Architect
Virtual Team
• Members of different teams
• Meet around problem
– Architecture, infrastructure, testing …
• Typically
– PO sync
– SM/TL sync
Spotify
http://agilerussia.ru/practices/spotifyscaling/
Flow
Design
Web
Core Lib
Backend
Video Encoding
iOS AndroidWinPhone
Testing
Same feature, different teams
Feature Team Stack
Android
iOS
C++
Obj C
Video
Java
JavaScript
HTML/CSS
Ruby/Pyth
on
Feature Team would be…
• Too large
• Hard to help each other
• Hard to deliver in a
sprint
Where’s
bottleneck?
Design
Web
Core Lib
Backend
Video Encoding
iOS AndroidWinPhone
Testing
Bottleneck
Bottleneck
Capacity
problem
Rework
problem
Fixing bottleneck
~throughput
Fixing bottleneck
Theory of constraint
• Identify the constraint
• Exploit the constraint
• Subordinate & synchronize to the
constraint
• Elevate the performance of the constraint
Identify
Type I
• Fast response
• Hardwork &
Overtimes
• No time for quality
Type II
• Waiting for result
• Long queue of
requests from
other teams
Exploit
• Transfer all possible
work to other teams
• Get rid of
unnecessary
meetings
• Get help for
administrative work
Subordinate
• Decrease plans to constraint
Team board
Elevate
• Hire and educate
Rework
“Integration” team
• Cross-component
team
• Where rework is
maximum
• SWAT-team
Size: 7±2
Backlog structure
Integration features
~ 30% of backlog
Team 1
Team 2
Team 3
Managing delivery team
structure
• Split into value streams
• Find bottleneck
• Cross-system and cross-component team
where rework is maximum
• Focus on the next constraint
PRACTICES FOR MANAGING
DEPENDENCIES
Backlog dependency
Team А Team B
Client and service teams
Product
Value
User story, CR, Bug, Feature
(but not task)
ServiceClient
Impact Mapping/Feature
Injection
Impact Mapping/Feature
Injection
http://www.slideshare.net/sgreene/dependency-management-in-a-large-agile-environment-presentation
Pairing story: Get From/Give To
• Client: GetFrom
• Service: GiveTo
• Use acceptance
criteria
• Don’t use inside of
team
• Sync by dates and
sprintshttp://blog.ciber.com/2013/planning-and-managing-dependencies-and-risks-in-agile/
As a Systems Engineer,
I want to get a
performance report
from Vendors A,B, and
C, so that I can
determine if their
software’s UI response
time will meet our .5
second threshold.
PI Planning
You are Agile Coach.
Team B have commited new
feature and broke team А’s
functionality
You can visit one retro. Which
team retro would you visit first?
A. Team A
B. Team B
C. Joint retro of А & B
“Self-defense”
It is team
responsibility to
cover its own
code with tests
CULTURE
In the middle of the
sprint people from
another teams bring in
new urgent tasks. You
could help but it will
broke your own
commitment.
What would you do?
A. Help immediately
B. Move task to the
next sprint
service
client
сервис
клиент
Managing urgent work in scrum
• Don’t care. It just lows
down your velocity
• Allocate a budget
• Have a person on duty
Policy
• Request is #1 priority
• Request is get fixed by
members of both
teams in 1 sprint
• Request is considered
as done if it is
integrated, tested, all
bugs are fixed and
closed
4 “keystone habits” (by Ahmed
Sidky)
1. Communicating and
collaborating
2. Deliver in evolutionary slices
3. Integrate as early as
possible
4. Gather feedback from
multiple levels as early as
possible “Decentralized Control”
Askhat
Urazbaev
askhat@scrumtrek.r
u
askhat.urazbaev
@zibsun
askhatu

Scaling agile