agile dependency management

35
Agile Dependency Management November 2 nd 2011

Upload: kmanthei

Post on 28-Nov-2014

3.343 views

Category:

Technology


2 download

DESCRIPTION

Joe Z - Agile East 2011

TRANSCRIPT

Page 1: Agile Dependency Management

Agile Dependency Management

November 2nd 2011

Page 2: Agile Dependency Management

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    

Page 3: Agile Dependency Management

Blockers – Argh!!

Page 4: Agile Dependency Management

Goals For Today

!   Awareness of potential gotchas related to dependencies !   Maybe relieve some frustrations !   Walk away with some practical advice

Page 5: Agile Dependency Management

One of Our Favorite Agile Acronyms

Independent

Negotiable

Valuable

Estimatable

Small

Testable

Basically,  NO  dependencies  

Page 6: Agile Dependency Management

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

Page 7: Agile Dependency Management

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  

Page 8: Agile Dependency Management

UI Visioning

!   Some feature sets need to be envisioned as a group

!   Could require numerous iterations !   Could involve collecting external

feedback

Page 9: Agile Dependency Management

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  

Page 10: Agile Dependency Management

Really Rolling

Page 11: Agile Dependency Management

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

Page 12: Agile Dependency Management

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  

Page 13: Agile Dependency Management

Dependencies Gone Wild

!   The more dependencies you have, the more planning nonsense you will have to put up with

Page 14: Agile Dependency Management

Impact on Planning

Page 15: Agile Dependency Management

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  

Page 16: Agile Dependency Management

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)  

?

Page 17: Agile Dependency Management

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  

Page 18: Agile Dependency Management

External Dependencies

Page 19: Agile Dependency Management

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

Page 20: Agile Dependency Management

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  

Page 21: Agile Dependency Management

Is Separation Necessary?

Java

C++

India

C++

Page 22: Agile Dependency Management

Combine the Teams

Page 23: Agile Dependency Management
Page 24: Agile Dependency Management

Other Team is Not Agile

!  Beg them to change! !  Force the issue

Page 25: Agile Dependency Management

Potential to Change Behavior

Product Vendor

3rd Party Partner

Project Program

OurTeam

Team 3

Team 2

Page 26: Agile Dependency Management

Agile/Waterfall Mismatch WATERFALL PREDICTIVE PLANNING

Iteration

ADAPTIVE PLANNING

Timeline

Iteration

Iteration

Iteration

Iteration

Iteration

Iteration

Iteration

Req & planning Design

UAT Integrate

Code

Deploy

Page 27: Agile Dependency Management

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

Page 28: Agile Dependency Management

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

Page 29: Agile Dependency Management

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

Page 30: Agile Dependency Management

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?

Page 31: Agile Dependency Management

Face It, Some Stuff is Waterfall-ish !   Hardware !   Network !   Training !   User documentation

Page 32: Agile Dependency Management

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

Page 33: Agile Dependency Management

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

Page 34: Agile Dependency Management

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

Page 35: Agile Dependency Management

Questions?

[email protected]