Agile Project Management - Facing the Challenges of Distributed Development using Agile   -  Mayank Gupta
Time for Introduction <ul><li>Working w ith GlobalLogic India </li></ul><ul><li>Practicing Agile  for last 3 years </li></...
Agenda <ul><li>Food for thought </li></ul><ul><li>Agile – Does it work? </li></ul><ul><li>Distributed Agile – Issues and s...
Food for thought <ul><li>The question isn’t whether Agile can be applied to Distributed projects or not </li></ul><ul><li>...
Agile – Does it work? <ul><li>Everybody says that Agile works for ideal scenario </li></ul><ul><li>Small teams </li></ul><...
Distributed Agile <ul><li>Large/distributed projects are very high risk </li></ul><ul><li>Standish chaos report   </li></u...
Issues in Distributed development <ul><li>Strategic – resource management, best practices </li></ul><ul><li>Project and pr...
Success Factors – Distributed Agile <ul><li>Success of Distributed agile substantially depends on real-time collaboration ...
Success Factors – Distributed Agile (cont…) <ul><li>Robust and Scalable engineering platform to enable: </li></ul><ul><ul>...
Distributed Scrum Styles <ul><li>Type A: Isolated Scrums </li></ul><ul><li>Type B: Distributed Scrum of Scrums </li></ul><...
How to keep the Rhythm <ul><li>Daily Scrum Meeting </li></ul><ul><ul><li>Adjust meeting time to meet all time zones </li><...
How to keep the Rhythm (cont…) <ul><li>Release/Sprint planning </li></ul><ul><ul><li>Fly key people to one place (Release)...
It is all about planning <ul><li>Team Structure </li></ul><ul><ul><li>Key challenge: process management, work synchronizat...
It is all about planning (Cont…) <ul><li>Identifying dependencies </li></ul><ul><ul><li>After each sprint planning </li></...
Work Organization: Sample success pattern
Creating an Integrated Tracker  <ul><li>Ability to properly derive test cases from raw requirements  </li></ul><ul><li>All...
Processes - Continuous Integration <ul><li>It is essential that code repository is centralized and unified tools are used ...
Sprint health check <ul><li>Reference -  Distributed Scrum: Agile Project Management with Outsourced Development Teams -  ...
High Visibility on Project Status - Metrics Test Cases Test Cases - Status
Product Dashboard as Information Radiator <ul><li>Distributed Agile needs a common view assembling product engineering pro...
Video Conference <ul><li>Biggest contributing factor in distributed development </li></ul><ul><li>Brings meaningful and ef...
Daily Scrum Meeting Audio  Or/And   Video Conference
Case Studies <ul><li>IDX (now GE Healthcare) – 567 developers, many locations </li></ul><ul><li>IDX Web Team Scrum 1996-20...
GlobalLogic Case Study <ul><li>The purpose of the project was to develop a framework for a company in digital audio produc...
Continuous Integration
Continuous Integration
Project Dashboard Project Dashboard view, containing Defect aging report Burn down chart  Defect mean time to resolve Defe...
Conclusion <ul><li>Agile would help you to actually address the problems created by the distance instead of making them wo...
References <ul><li>Distributed Scrum: Agile Project Management with Outsourced Development Teams </li></ul><ul><ul><li>At ...
[email_address]
Upcoming SlideShare
Loading in …5
×

Agile NCR 2009\Agile Project Management - Facing the Challenges of Distributed Development using Agile

1,798 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,798
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
59
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Agile NCR 2009\Agile Project Management - Facing the Challenges of Distributed Development using Agile

  1. 1. Agile Project Management - Facing the Challenges of Distributed Development using Agile - Mayank Gupta
  2. 2. Time for Introduction <ul><li>Working w ith GlobalLogic India </li></ul><ul><li>Practicing Agile for last 3 years </li></ul><ul><li>Certified CSM, CSP, OCP and ISTQB professional </li></ul><ul><li>Published Articles in Scrum Alliance & CM Journal </li></ul><ul><li>Blog - http://thought-reader.blogspot.com/ </li></ul>
  3. 3. Agenda <ul><li>Food for thought </li></ul><ul><li>Agile – Does it work? </li></ul><ul><li>Distributed Agile – Issues and success factors </li></ul><ul><li>Distributed Scrum styles </li></ul><ul><li>How to keep the rhythm </li></ul><ul><li>Engineering solutions </li></ul><ul><li>Examples and case studies </li></ul><ul><li>Questions </li></ul>
  4. 4. Food for thought <ul><li>The question isn’t whether Agile can be applied to Distributed projects or not </li></ul><ul><li>It’s more! </li></ul><ul><li>Can Distributed projects afford not to apply Agile practices? </li></ul>
  5. 5. Agile – Does it work? <ul><li>Everybody says that Agile works for ideal scenario </li></ul><ul><li>Small teams </li></ul><ul><li>Collocated teams </li></ul><ul><li>When customer is available to team all the time </li></ul><ul><li>What about real scenario? </li></ul><ul><li>Big teams </li></ul><ul><li>Globally distributed teams </li></ul><ul><li>Large projects </li></ul><ul><li>When real customer is not available to the team </li></ul>
  6. 6. Distributed Agile <ul><li>Large/distributed projects are very high risk </li></ul><ul><li>Standish chaos report </li></ul><ul><ul><li>31.1% projects get cancelled before they get completed </li></ul></ul><ul><ul><li>52.7% projects get completed but cost almost double of their original estimates </li></ul></ul><ul><ul><li>16.2% projects are completed on time on budget </li></ul></ul><ul><li>Today's prevailing trend – geographical </li></ul><ul><li> diversification </li></ul><ul><li>Exponential Demand for complex functionality along with ease of use, scalability, reliability, and maintainability </li></ul>
  7. 7. Issues in Distributed development <ul><li>Strategic – resource management, best practices </li></ul><ul><li>Project and process management – synchronizing work between all locations </li></ul><ul><li>Communication – Lack of effective communication mechanisms </li></ul><ul><li>Cultural – conflicting behavior, processes </li></ul><ul><li>Technical – Incompatible data formats, schemas etc </li></ul><ul><li>Security – Ensuring confidentiality and privacy </li></ul>It is a communication problem
  8. 8. Success Factors – Distributed Agile <ul><li>Success of Distributed agile substantially depends on real-time collaboration </li></ul><ul><ul><li>Avoid depending heavily on the use of E-mails for knowledge sharing! </li></ul></ul><ul><ul><li>Wiki and Collaboration systems gaining popularity </li></ul></ul><ul><ul><li>IM tools, NetMeeting, and video conferencing enable effective collaboration </li></ul></ul>
  9. 9. Success Factors – Distributed Agile (cont…) <ul><li>Robust and Scalable engineering platform to enable: </li></ul><ul><ul><li>Real-time Collaboration and transparency </li></ul></ul><ul><ul><li>Re-usability and Refactoring </li></ul></ul><ul><ul><li>Collective Code Ownership </li></ul></ul><ul><ul><li>Continuous Integration </li></ul></ul><ul><ul><li>……… .etc. </li></ul></ul>
  10. 10. Distributed Scrum Styles <ul><li>Type A: Isolated Scrums </li></ul><ul><li>Type B: Distributed Scrum of Scrums </li></ul><ul><li>Type C: Totally Integrated Scrums </li></ul><ul><li>Reference - Distributed Scrum: Agile Project Management with Outsourced Development Teams - By Jeff Sutherland, Anton Viktorov, Jack Blount </li></ul>
  11. 11. How to keep the Rhythm <ul><li>Daily Scrum Meeting </li></ul><ul><ul><li>Adjust meeting time to meet all time zones </li></ul></ul><ul><ul><li>Overcome language issues </li></ul></ul><ul><ul><ul><li>Write the answer of three scrum questions and distribute the answers by email before the Scrum meeting </li></ul></ul></ul><ul><ul><li>Local teams can have their separate standup meetings as well </li></ul></ul><ul><ul><li>Publish audio recording of meetings </li></ul></ul><ul><ul><li>Video conference </li></ul></ul>
  12. 12. How to keep the Rhythm (cont…) <ul><li>Release/Sprint planning </li></ul><ul><ul><li>Fly key people to one place (Release) </li></ul></ul><ul><ul><li>Share pictures of planning charts (Sprint) </li></ul></ul><ul><ul><li>All team members participating </li></ul></ul><ul><ul><li>Video conference between sites (Sprint) </li></ul></ul><ul><li>Release/Sprint Review </li></ul><ul><ul><li>One session for all teams </li></ul></ul><ul><ul><li>Web Conferencing </li></ul></ul><ul><ul><li>All team members participating </li></ul></ul><ul><ul><li>Video conference </li></ul></ul>
  13. 13. It is all about planning <ul><li>Team Structure </li></ul><ul><ul><li>Key challenge: process management, work synchronization </li></ul></ul><ul><ul><li>Cross functional teams at all locations </li></ul></ul><ul><ul><li>Scrum masters at all locations </li></ul></ul><ul><ul><li>Use Scrum of Scrum (SoS) </li></ul></ul><ul><ul><li>use Scrum of Scrum of Scrum (SoSoS ) </li></ul></ul><ul><ul><li>Scrum Masters reporting daily to SoS and to SoSoS </li></ul></ul><ul><li>Proxy product owners </li></ul><ul><ul><li>Architects as proxy product owners </li></ul></ul><ul><ul><li>Link between product owner and delivery team </li></ul></ul><ul><ul><li>Break down User story into requirements </li></ul></ul>
  14. 14. It is all about planning (Cont…) <ul><li>Identifying dependencies </li></ul><ul><ul><li>After each sprint planning </li></ul></ul><ul><ul><li>Scrum masters meeting to resolve dependencies </li></ul></ul><ul><li>New distributed scrum teams </li></ul><ul><ul><li>New scrum teams for </li></ul></ul><ul><ul><ul><li>Documentation, </li></ul></ul></ul><ul><ul><ul><li>Integration </li></ul></ul></ul><ul><ul><ul><li>Validation </li></ul></ul></ul><ul><ul><li>Documentation team participation in all planning meetings </li></ul></ul><ul><ul><li>Integration scrum team responsible for nightly build, auto deployment </li></ul></ul><ul><ul><li>Scrum team “validation” taking care of the user scenarios & engaging real customer in validation process </li></ul></ul>
  15. 15. Work Organization: Sample success pattern
  16. 16. Creating an Integrated Tracker <ul><li>Ability to properly derive test cases from raw requirements </li></ul><ul><li>All tasks need to be mapped, inter-linked, and driven by its priority </li></ul><ul><ul><li>Writing use cases, test cases, code reviews, etc. </li></ul></ul><ul><li>Requirement mapping also necessary for test results, defects, and code changes </li></ul>
  17. 17. Processes - Continuous Integration <ul><li>It is essential that code repository is centralized and unified tools are used </li></ul><ul><li>Automated Schedule builds – preferably daily </li></ul><ul><li>Traceability to requirements to builds </li></ul>
  18. 18. Sprint health check <ul><li>Reference - Distributed Scrum: Agile Project Management with Outsourced Development Teams - By Jeff Sutherland, Anton Viktorov, Jack Blount </li></ul>
  19. 19. High Visibility on Project Status - Metrics Test Cases Test Cases - Status
  20. 20. Product Dashboard as Information Radiator <ul><li>Distributed Agile needs a common view assembling product engineering processes together </li></ul><ul><li>A Product Dashboard provides a holistic view of lifecycle </li></ul><ul><ul><li>Reconciles information from requirement management, test case management, issue tracking system, etc. </li></ul></ul><ul><ul><li>No manual consolidation of information </li></ul></ul><ul><ul><li>Provides great transparency from all perspectives </li></ul></ul><ul><ul><li>Real-time visibility into the progress </li></ul></ul><ul><ul><li>Role-based dashboard boosts productivity of the distributed product teams </li></ul></ul>
  21. 21. Video Conference <ul><li>Biggest contributing factor in distributed development </li></ul><ul><li>Brings meaningful and effective communication </li></ul><ul><li>Better video conferencing tools would decrease the need of travelling </li></ul><ul><li>Use video conference for </li></ul><ul><ul><li>Daily scrum meetings </li></ul></ul><ul><ul><li>Release planning meeting </li></ul></ul><ul><ul><li>Iteration planning meeting </li></ul></ul><ul><ul><li>Sprint Review </li></ul></ul>
  22. 22. Daily Scrum Meeting Audio Or/And Video Conference
  23. 23. Case Studies <ul><li>IDX (now GE Healthcare) – 567 developers, many locations </li></ul><ul><li>IDX Web Team Scrum 1996-2000 </li></ul><ul><li>– Burlington, VT </li></ul><ul><li>– Boston </li></ul><ul><li>– Seattle </li></ul><ul><li>Factors accelerating the IDX hyperproductive Distributed Scrum </li></ul><ul><li>– Scrum organizational pattern </li></ul><ul><li>– Engineering practices </li></ul><ul><li>– Daily meeting of distributed team </li></ul><ul><li>– Tools (direct connection to Microsoft development) </li></ul><ul><li>SirsiDynix and StarSoft used Scrum in globally distributed environment </li></ul><ul><ul><li>developing a Java application with over 1,000,000 lines of code. </li></ul></ul><ul><ul><li>a distributed team of 56 Scrum developers working from Provo, Utah; Waterloo, Canada; and St. Petersburg </li></ul></ul><ul><ul><li>At 15.3 function points per developer/month, this is one of the most productive projects ever documented. </li></ul></ul>
  24. 24. GlobalLogic Case Study <ul><li>The purpose of the project was to develop a framework for a company in digital audio production (audio processing) </li></ul><ul><li>Started in April 2008 and still continuing </li></ul><ul><li>Distributed team working from various locations (in total 3) </li></ul><ul><ul><li>11 in Ukraine, 4 in US, 1 in UK </li></ul></ul><ul><li>How we did it? </li></ul><ul><li>ScrumMaster trained all members on agile practices, on estimation techniques, traveled in initiation phase </li></ul><ul><li>Daily Scrum meetings of all developers from multiple sites </li></ul><ul><li>A wiki page was created to document the impediments faced </li></ul><ul><li>Hourly automated builds from one central repository </li></ul><ul><li>Centralized Information radiator (dashboard) depicting burn down chart, value chart, and other pie chart reports </li></ul>
  25. 25. Continuous Integration
  26. 26. Continuous Integration
  27. 27. Project Dashboard Project Dashboard view, containing Defect aging report Burn down chart Defect mean time to resolve Defect Turn around time Post release defects trend report
  28. 28. Conclusion <ul><li>Agile would help you to actually address the problems created by the distance instead of making them worse </li></ul><ul><li>Meaningful communication and collaboration are the key factors </li></ul><ul><li>One Scrum meeting a day is necessary which should include all team members across geographies. </li></ul><ul><li>This would improve productivity, reduce project risk, and enhance software quality. </li></ul>
  29. 29. References <ul><li>Distributed Scrum: Agile Project Management with Outsourced Development Teams </li></ul><ul><ul><li>At Agile 2006 International conference </li></ul></ul><ul><ul><li>By Jeff Sutherland, Anton Viktorov, Jack Blount </li></ul></ul>
  30. 30. [email_address]

×