Upload
kmanthei
View
3.345
Download
2
Embed Size (px)
DESCRIPTION
Joe Z - Agile East 2011
Citation preview
Agile Dependency Management
November 2nd 2011
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
Blockers – Argh!!
Goals For Today
! Awareness of potential gotchas related to dependencies ! Maybe relieve some frustrations ! Walk away with some practical advice
One of Our Favorite Agile Acronyms
Independent
Negotiable
Valuable
Estimatable
Small
Testable
Basically, NO dependencies
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
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
Dev Iteration n
Analysis for IteraNon n
Planning MeeNng
IteraNon Kickoff
Itera&on Zero
Dev Iteration n - 1
IteraNon Kickoff
UI Visioning
! Some feature sets need to be envisioned as a group
! Could require numerous iterations ! Could involve collecting external
feedback
UI Visioning
! Goal: Refine vision well ahead of iteration planning
Dev Iteration n
Analysis for IteraNon n
Planning MeeNng
IteraNon Kickoff
Workshop Estimation
Rolling Release Planning
Really Rolling
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
UI Comps
! Goal: Have stories ready for development on the first day of the iteration
Dev Iteration n
Analysis for IteraNon n
Planning MeeNng
IteraNon Kickoff
Workshop Estimation
Rolling Release Planning
UI Comps
Dependencies Gone Wild
! The more dependencies you have, the more planning nonsense you will have to put up with
Impact on Planning
Velocity Impacts
! The more dependencies you have, the more developer overhead you will have, and the less velocity
Dev Iteration n
Analysis for IteraNon n
Planning MeeNng
IteraNon Kickoff
Workshop Estimation
UI Comps
Velocity Impacts
Story 3 (3)
Story 2 (8)
Story 4 (3)
3
Story 5 (8)
11
Story 2 (8)
Story 3 (3)
Story 4 (3)
?
Inter-Story Dependency Planning
Total Story Points / Raw Velocity Per Itera5on = Rough Number of IteraNons?
Story 1
Story 5
Story 2
Story 3
Story 4
External Dependencies
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
Cross-Team Dependencies
! Goal: Have dependencies ready by the time we want our team to work on stories
Dev Iteration n
Cross–Planning
IteraNon Kickoff
Rolling Release Planning
Other Dev IteraNon Analysis for IteraNon n
IteraNon Planning
Is Separation Necessary?
Java
C++
India
C++
Combine the Teams
Other Team is Not Agile
! Beg them to change! ! Force the issue
Potential to Change Behavior
Product Vendor
3rd Party Partner
Project Program
OurTeam
Team 3
Team 2
Agile/Waterfall Mismatch WATERFALL PREDICTIVE PLANNING
Iteration
ADAPTIVE PLANNING
Timeline
Iteration
Iteration
Iteration
Iteration
Iteration
Iteration
Iteration
Req & planning Design
UAT Integrate
Code
Deploy
What Can You Do?
Req & planning
Design
UAT Integrate
Code
Deploy
WATERFALL PREDICTIVE PLANNING
Iteration
ADAPTIVE PLANNING
Timeline
Req & planning
Design
UAT Integrate
Code
Deploy
Iteration
Iteration
Iteration
Analysis
Development
Iteration
Iteration
Iteration
Iteration
Estimates
Testing
Velocity
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
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
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?
Face It, Some Stuff is Waterfall-ish ! Hardware ! Network ! Training ! User documentation
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
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
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
Questions?