This document discusses various types of dependencies that can impact agile planning and development if not properly managed. It begins by covering dependencies related to requirements preparation, UI design, and inter-story dependencies that can delay development if not addressed in advance. It then discusses external dependencies on other teams, vendors, or systems that may not follow agile practices. The document provides recommendations for minimizing the impact of dependencies, such as advanced planning, cross-team coordination, and determining if dependencies are truly necessary or if workarounds are possible. The overall message is that dependencies require extra planning efforts to avoid blocking development work or impacting velocity.
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