Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
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     Basically,	
  NO	
  dependencies	
  

      Negotiable

      Valuable
      Estimatable

      Small
      Testable
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
          Planning	
  MeeNng	
  

      Analysis	
  for	
  IteraNon	
  n	
  

           IteraNon	
  Kickoff	
  
                                              IteraNon	
  Kickoff	
  
     Dev Iteration n - 1
                                             Dev Iteration n
        Itera&on	
  Zero	
  
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




   Rolling	
  Release	
  Planning	
  

    Workshop	
           Estimation
                                            Planning	
  MeeNng	
  

                                        Analysis	
  for	
  IteraNon	
  n	
  
                                                                                IteraNon	
  Kickoff	
  

                                                                               Dev Iteration n
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



  Rolling	
  Release	
  Planning	
  

   Workshop	
           Estimation
                                           Planning	
  MeeNng	
  

                                       Analysis	
  for	
  IteraNon	
  n	
  
                                                                               IteraNon	
  Kickoff	
  
                                                UI	
  Comps
                                                          	
  
                                                                              Dev Iteration n
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




    Workshop	
     Estimation
                                    Planning	
  MeeNng	
  

                                Analysis	
  for	
  IteraNon	
  n	
  
                                                                        IteraNon	
  Kickoff	
  
                                         UI	
  Comps
                                                   	
  
                                                                       Dev Iteration n
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                           ?
Inter-Story Dependency Planning


Total	
  Story	
  Points	
  /	
  Raw	
  Velocity	
  Per	
  Itera5on	
  =	
  Rough	
  Number	
  of	
  IteraNons?	
  


         Story	
  1	
  

         Story	
  2	
  
                            Story	
  3	
  
                                              Story	
  4	
  
         Story	
  5	
  
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



  Rolling	
  Release	
  Planning	
  



                                           Cross–Planning	
  
                                          IteraNon	
  Planning	
  

                                       Other	
  Dev	
  IteraNon n	
  
                                        Analysis	
  for	
  IteraNon	
  
                                                                   	
      IteraNon	
  Kickoff	
  

                                                                          Dev Iteration n
Is Separation Necessary?


          Java             C++




        C++

India
Combine the Teams
Agile Dependency Management
Other Team is Not Agile
                    !  Beg them to change!
                    !  Force the issue
Potential to Change Behavior
  Program
  Project
     OurTeam
      Team 2
                               3rd Party   Product
                                Partner    Vendor
     Team 3
Agile/Waterfall Mismatch
WATERFALL PREDICTIVE PLANNING

        Req & planning
                                       Design
                                                           Code
                                                                          Integrate
                                                                                                  UAT
                                                                                                                Deploy


                                                       Timeline
ADAPTIVE PLANNING
  Iteration                                                 Iteration

               Iteration                                                Iteration

                           Iteration                                                  Iteration

                                           Iteration                                                Iteration
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
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?

joez@thoughtworks.com

More Related Content

Agile Dependency Management

  • 1. Agile Dependency Management November 2nd 2011
  • 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 ?
  • 17. Inter-Story Dependency Planning Total  Story  Points  /  Raw  Velocity  Per  Itera5on  =  Rough  Number  of  IteraNons?   Story  1   Story  2   Story  3   Story  4   Story  5  
  • 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
  • 21. Is Separation Necessary? Java C++ C++ India
  • 24. Other Team is Not Agile !  Beg them to change! !  Force the issue
  • 25. Potential to Change Behavior Program Project OurTeam Team 2 3rd Party Product Partner Vendor Team 3
  • 26. Agile/Waterfall Mismatch WATERFALL PREDICTIVE PLANNING Req & planning Design Code Integrate UAT Deploy Timeline ADAPTIVE PLANNING Iteration Iteration Iteration Iteration Iteration Iteration Iteration Iteration
  • 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