Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

When Offshore Meet Agile


Published on

This lecture is describing how to overcome the inherent contradictions between distributed development and agile development to create an effective distributed agile development methodology.

Published in: Technology, Business
  • Be the first to comment

When Offshore Meet Agile

  1. 1. When Offshore Meet Agile Aviram Eisenberg, CEO, Ignite
  2. 2. Why Agile & Offshore? Imagine a construction project executed in India for an American customer The project was estimated and priced by Indian contractor before the blue prints where completed The customer never visited the site Weekly Weekl phone call with the Indian contractor – ith no problem! Builders don’t know what is the building intended for Ceiling technology was switched from Asbestos to Pal-Kal
  3. 3. Why Agile & Offshore? Would you buy an apartment (or shop) in this project??? Agile shortens the gaps inherent to distributed development Agile creates visibility Agile b ild A il builds confidence fid Agile enhances business understanding Agile reduces overhead
  4. 4. Ignite - Who We Are A Software Development Management company Delivery Arm Onsite-Offshore model Development Centers in Eastern Europe Turn-key, T&M, ODC, BOT Consulting Arm Expertise in SW Development methodologies & tools Expertise in Global Delivery models Distributed development Certifications and Trainings Tools D l T l Development Arm tA Cloud-based Project Management Platform – LightSpeed Workflow based Workflow-based Test Automation framework – ATest
  5. 5. Globalization & Agile Globalization & Agile together are not easy The Agile Manifesto was written in 2001 before global development teams where so popular Globalization 1.0: Driven b countries Gl b li ti 1 0 D i by ti Globalization 2.0: Driven by multi national y companies Globalization 3 0: Crowd-Sourcing? Cloud 3.0: Crowd Sourcing? Sourcing?
  6. 6. Face-to-Face communication Agile promotes face-to-face communication Logistically L i ti ll problematic bl ti Not cost-effective Ambassador exchange program People that know each other well communicate better when they are apart Bring the team to onsite training on project launch Send the product owner to the offshore location once a quarter Bring the scrum master on major deliveries to the g j customer Locate the team in similar time zone
  7. 7. It’s ALL about communication 1 Email Don’t be D ’ b tempted to think E d hi k E-mail il communication is enough E-mails are good as a complementary aid to E il d l id summarize meetings but Wiki is better Instant Messaging i Tempting to use - too accessible Only 16% of data is correctly comprehended No indexed-data The presence feature is very important to encourage team cohesiveness g
  8. 8. It’s ALL about communication 2 Skype vs VOIP Skype is easy, accessible and free easy VOIP has QOS VOIP is scalable VOIP provide better interoperability Use both, but don’t think Skype is sufficient Hands-free h d t H d f handsets – good practice d ti Web-Conference P t a distributed team on the same page during th d i Puts di t ib t d t planning games A must have tool in every design meeting or y g g architecture discussion
  9. 9. It’s ALL about communication 3 Wiki Loosely structured data L l dd Highly customizable Very good match to the nature of documentation in Agile project Best B t practice of offshore development as well to create ti f ff h d l t ll t t a common knowledge base Vid Conferencing i Video C f Makes it harder to disengage during meetings Cost-Effective solution exist today C ff i l i i d
  10. 10. Colocated Waterfall Product Marketing g Graphic Design Product Management g Copyright/ Marketing writing Usability R&D Manager g R&D T Teams R&D Teams R&D Teams R&D Teams Test T T Teams Test Teams Test Teams Architect
  11. 11. Colocated Scrum Product Marketing Product Owner Copyright/ Marketing writing Graphic Design Usability R&D Teams R&D Teams R&D Teams Scrum T S Teams
  12. 12. Distributed Scrum A Keep onsite-offshore interface simple HL Architect Onsite Marketing writing Graphic Design Offshore Product Marketing Product Owner Scrum Master Scrum Master Scrum Master Scrum Team Scrum Team Scrum Team Usability
  13. 13. Distributed Scrum B Keep onsite-offshore interface simple HL Architect Marketing writing Graphic Design Product Marketing Product Owner Usability Location B Scrum Master Scrum Master Scrum Master Scrum Team Scrum Team S Scrum Team Scrum Master Scrum Master Scrum Master Scrum Team S Scrum Team Scrum Team
  14. 14. The Scrum Challenge Scrum promotes Scrum… Offshore b practice – h ff h best i have as simple i l onsite-offshore interfaces as possible Distributed Agile best practices: In planning game – everyone participates In standup meetings – only the offshore Scrum Master Scrum Muster does assume some of the traditional team leader roles Product owner “hides” the rest of the stake holders or SMEs in the day-to-day day to day
  15. 15. The Scrum Challenge Distributed Scrum teams should be avoided Dependant Scrum teams working in more d ki i than a single location should be avoided
  16. 16. Work Distribution Agile promotes user stories as opposed to component features tf t Offshore best practice – give the team ownership of component(s) Alternative 1 : Invest in a distributed configuration management Invest in a distributed integration system g y Invest in knowledge transfer and training Alternative 2: Give offshore teams component responsibility Do Agile in the micro level
  17. 17. Work Distribution Alternative 3 Most M teams own components/modules / d l Some teams can work on cross-component stories Some product owners have system-wide view
  18. 18. Sprint Length Agile promotes the use of 2-4 weeks sprints Distributed Agile best practice: use 2 weeks sprints If possible – even single week iterations! Fail fast strategy – detecting an offshore mistake cost more… Offshore Agile team feels more convenient this way as it gets better understanding and sense of the customer and its needs
  19. 19. Agile Testing Agile promotes testing as part of the development cycle l Offshore creates poor visibility and control of testing processes Alternative 1 – place additional testers onsite Alternative 2 – invest in test control Distributed build system Emphasis on acceptance tests FitNesse: a Wiki enhanced for testing purposes Twist: Similar to FitnNesse. Designed for web apps
  20. 20. Documentation Agile promotes just enough documentation Offshore best practice – formalized and detailed documentation Did I mention Wiki??? User stories Planning games Standup meetings Load user stories to Wiki prior to planning game
  21. 21. Knowledge Transfer Two-folds challenge Train offshore teams on existing code base Train onsite staff on deliverables Offshore training g Do the first sprints co-located Next sprints should be for bug fixing Onsite training Product demonstrations during deliveries O it training by Scrum master before release t b f l Onsite t i i b S Two-way Wiki User stories are loaded by the onsite product owner Tests, design decisions, planning is loaded by offshore team
  22. 22. Distributed Agile Articles ore.html h l /4/a/44a2cebd-63fb-4379-898d9cf24822c6cc/distributed_agile_developme 9cf24822c6cc/distributed agile developme nt_at_microsoft_patterns_and_practices.pdf
  23. 23. Q&A Aviram Eisenberg Ignite I it g