1 / 31

Distributed agile

Mark Rajpal. Distributed agile. Poll. Agenda. Collocation What is Distributed Agile? Is it really Agile? Why? What does it require? Challenges Overcoming challenges Distributed Scrum Avoidance Misconceptions Success Stories Final Thoughts Q & A. Collocation.

amara
Download Presentation

Distributed agile

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Mark Rajpal Distributed agile

  2. Poll

  3. Agenda • Collocation • What is Distributed Agile? • Is it really Agile? • Why? • What does it require? • Challenges • Overcoming challenges • Distributed Scrum • Avoidance • Misconceptions • Success Stories • Final Thoughts • Q & A

  4. Collocation • Alleviates communication issues when it comes to meetings, pair programming, etc. • Good fit for methodologies like Crystal Clear • Ideal, but not always possible

  5. What is Distributed Agile? • Teams or team members are not collocated • Do not necessarily have to be geographically dispersed

  6. What is Distributed Agile?

  7. Is it really Agile? • Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. • Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. • Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. • Business people and developers must work together daily throughout the project.

  8. Is it really Agile? • Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. • The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. • Working software is the primary measure of progress. • Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.

  9. Is it really Agile? • Continuous attention to technical excellence and good design enhances agility. • Simplicity--the art of maximizing the amount of work not done--is essential. • The best architectures, requirements, and designs emerge from self-organizing teams. • At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

  10. Why? • Complete software projects faster with improved quality • Deliver success • Save money • Reduce risk • Tap into a talent pool that is not available locally

  11. Why? • The problem is getting worse instead of better. • We have less success and more failure. STANDISH CHAOS REPORT

  12. What does it require? • Bring everyone together at the beginning • Experience • If you haven’t tried Distributed Agile, try Agile first. • Training & Certification • A trained individual should be responsible for coaching the rest of the team. • Business analysts may need to job shadow subject matter experts.

  13. What does it require? • Your existing tools can still be utilized but you may require additional ones. • e.g. IM, Video Conferencing, Webcams, etc. • CI is a must • Consider 3rd party services to host infrastructure to alleviate latency • May require a small team that is solely responsible for integration (depending on the size of the project).

  14. What does it require? • Iterations • Start with month long sprints and adjust accordingly • Strong Scrum of Scrums • Possibly a weekly meeting which must be attended in person • Travel preparations • Visas, passports • Immunizations

  15. Challenges • Communication • Misinterpretation • Delayed responses • Different languages • Coordination • Duplication of effort, re-work • Opposite time zones • Project and process management • Difficult to determine progress • Difficulty synchronizing work between sites

  16. Challenges • Technical • Incompatible data formats, standards, etc. • Domain knowledge • Product vision • Blame Game

  17. Overcoming challenges • Communication • Use simple language and slow down • Agree on Agile terms and practices • Take advantage of collaboration tools • Don’t rely on email alone • Dedicated rooms and equipment so team is able to meet on an ad-hoc basis • Coordination • Overlap working hours • Incorporate a team calendar • Project shutdown (everyone takes vacation)

  18. Overcoming challenges • Travel • Determine when it really is necessary

  19. Overcoming challenges • Comradery • Celebrate holidays, customs

  20. Distributed Scrum • 3 Models • Isolated Scrums • Distributed Scrum of Scrums • Totally Integrated Scrums

  21. Distributed Scrum • Isolated Scrums • Teams are isolated across geographies. In most cases off-shore teams are not cross-functional and may not be using the Scrum process. • Used by most outsourced development efforts. • Outsourced teams typically abandon Scrum and fall back to Waterfall.

  22. Distributed Scrum • Distributed Scrum of Scrums • Scrum teams are isolated across geographies and integrated by a Scrum of Scrums that meets regularly across geographies. • Promotes sub-team unity as opposed to team unity. • Best practice recommended by the Scrum Alliance.

  23. Distributed Scrum • Totally Integrated Scrums • Scrum teams are cross-functional with members distributed across geographies. • The project is integrated into a single whole. • Single code base. • Retain core knowledge. • Recommended for experienced Agile teams at multiple locations.

  24. Avoidance • Fixed Price Model • Non-Software Development projects • e.g. upgrades/migrations • Minimal User Involvement • Lengthy Internal Processes • Perfection • Large Dispersed Team • Older Technologies • Non-Agile Teams

  25. Misconceptions • By performing daily scrums we’re being Agile • Being Agile means you accept all changes • Agile does not require documentation • Agile/Scrum/Extreme Programming (XP) are synonymous • Distributed Agile is always the best approach

  26. Success Stories • Eclipse “Callisto” • Simultaneous release of 10 Eclipse toolsets • 262 committers • 12 countries • 72,000 resolved bugzilla entries • 6 million LOC

  27. Success Stories • BMC software • 7 teams, 135 people in 4 cities (Texas, Calif., Pune India) • 4X faster time to market • 4.5 months for 600 stories & 596K LOC • team was 2X larger than average study team • same defect rate for level of effort • individual team productivity up 20-50%

  28. Success Stories • Jeff Sutherland – Xebia • Teams of peers split between Netherlands and India • Brought entire Indian team to Netherlands for 2 iterations • Rotating travel schedule between sites • Pair-programming across continents • Heavy use of video conferencing • Full XP practices, high quality (95% defects found in iteration) • 15 function pts/dev/month vs. Cohn‟s reported 6-person colocated • team results of 16 function pts/dev/month • Conclusion: fully distributed Scrum more valuable than localized

  29. Final Thoughts • Maximize face time • Travel when necessary • Distributed Agile is not a good fit for all organizations • Re-evaluate and take corrective action at the end of each sprint • DASD is not simply an extension of Agile, but rather a complex undertaking that involves Agile

  30. Final Thoughts • Distributed Agile is gaining worldwide acceptance. • Many success stories • It was addressed in a few sessions at Agile Alliance 2011. • Distributed Scrum: Why some teams make it work well and others don't • Distributed 3d Conference Ready Rooms

  31. Q & A

More Related