2. About
the
Speaker
! Principal
Consultant
at
ThoughtWorks,
Inc
! 13+
years
at
ThoughtWorks
! 10
years
at
GE
Capital
! Developer
-‐>
Project
Manager,
Delivery
Assurance,
Program
Manager,
Coach,
Entertainer,
etc,
etc
! Leasing,
banking,
medical,
insurance,
hotel,
etc
4. Goals For Today
! Awareness of potential gotchas related to dependencies
! Maybe relieve some frustrations
! Walk away with some practical advice
5. One of Our Favorite Agile Acronyms
Independent Basically,
NO
dependencies
Negotiable
Valuable
Estimatable
Small
Testable
6. First Speedbump
! Card as a placeholder for conversation
! 1st day of 1st iteration - textbook IPM is conducted
! Developers want to commit to stories
! Requirements not fully thought out
! Result?
• Development delayed
• Product owner becomes a bottleneck
• Efficiency is diminished
• Velocity impeded
7. Requirements Preparation
! Goal: Have stories ready for development on the first day of the
iteration
• One iteration ahead planning
• Product Owners have a full iteration to prepare stories
Planning
MeeNng
Analysis
for
IteraNon
n
IteraNon
Kickoff
IteraNon
Kickoff
Dev Iteration n - 1
Dev Iteration n
Itera&on
Zero
8. UI Visioning
! Some feature sets need to be envisioned
as a group
! Could require numerous iterations
! Could involve collecting external
feedback
9. UI Visioning
! Goal: Refine vision well ahead of iteration planning
Rolling
Release
Planning
Workshop
Estimation
Planning
MeeNng
Analysis
for
IteraNon
n
IteraNon
Kickoff
Dev Iteration n
11. UI Comps
! Developers don’t always have the skill or
patience to create the final look and feel
! UI team may need to create the “comp”
prior to development
12. UI Comps
! Goal: Have stories ready for development on the first day of the
iteration
Rolling
Release
Planning
Workshop
Estimation
Planning
MeeNng
Analysis
for
IteraNon
n
IteraNon
Kickoff
UI
Comps
Dev Iteration n
13. Dependencies Gone Wild
! The more dependencies you have, the more planning nonsense you
will have to put up with
15. Velocity Impacts
! The more dependencies you have, the more developer overhead you
will have, and the less velocity
Workshop
Estimation
Planning
MeeNng
Analysis
for
IteraNon
n
IteraNon
Kickoff
UI
Comps
Dev Iteration n
16. Velocity Impacts
Story
2
(8)
Story
3
(3)
Story
4
(3)
Story
3
(3)
Story
2
(8)
Story
4
(3)
Story
5
(8)
3 11 ?
19. Best Case – Both Teams Agile
! Align iteration/release schedules
! Cross-team planning
! “Scrum of Scrums” to keep on top of issues (or standup visitors)
! Shared codebase?
! Cross-team retrospectives (or partial attendance)
! Shared tech huddles
20. Cross-Team Dependencies
! Goal: Have dependencies ready by the time we want our team to
work on stories
Rolling
Release
Planning
Cross–Planning
IteraNon
Planning
Other
Dev
IteraNon n
Analysis
for
IteraNon
IteraNon
Kickoff
Dev Iteration n
27. What Can You Do?
WATERFALL PREDICTIVE PLANNING
Req &
planning Req &
Design planning
Code Design
Integrate Code
UAT Integrate
Deploy UAT
Deploy
Timeline
ADAPTIVE PLANNING
Estimates
Iteration Iteration
Velocity
Iteration Iteration
Iteration Testing Iteration
Iteration Iteration
Analysis
Development
28. Not Negotiable
! Frequent communication
• Participation in planning meetings
• Participation in retrospectives
• Illustrate the blockers/pain to management
• Standups? Probably not likely
Manage the risks associated with lack of communication
29. Stealth Method
! Mocks or stub out interfaces, real integration later
! “Preview” or “Alpha” versions
! Absorb into team
! In-Team Pilot
! Separate code branch
Chip away at the resistance
30. Is The Dependency Worth It?
! Does the benefit of using the interface outweigh the cost of doing
it yourself (ex: accessing the data)?
! Does the separation of teams justify the overhead?
31. Face It, Some Stuff is Waterfall-ish
! Hardware
! Network
! Training
! User documentation
32. Tracking Dependencies
! Predecessors on cards
! Blocked stickers on cards, or blocked status on card in tracking tool
! Expose in planning meetings, standups
! Visibility in metrics
! Plan level visibility
33. Why Independence is Important
! Dependencies limit flexibility in planning
! Dependencies cause overhead
! Dependencies may ultimately increase your cost
! Dependencies can mess up your velocity
! Dependencies can mess up your plan
! Dependencies can cause rework
! Dependencies can make you want to quit software development
34. Work Towards These Goals
! Have stories ready for development on the first day of the iteration
! Refine vision well ahead of iteration planning
! Have dependencies ready by the time we want our team to work on
stories
! Revisit your release plan frequently
! Be ever vigilant of things which will block progress