160 likes | 171 Views
Explore how Synerzip offers agile offshore software development solutions with a focus on small/mid-sized technology companies, reducing risks and costs while providing long-term flexibility.
E N D
Agile and Offshore – Contradictory or Synergistic A Practitioner’s Viewpoint November 7, 2007 www.synerzip.com
About Us (Synerzip in a Nut-shell) • Offshore software development partner for small/mid-sized technology companies • Focus: A/B round funded technology start-ups • Deep experience in product development and testing • Full software development life cycle • Engagement flexibility: Fixed-Price OR Dedicated-Team • Actually reduces risk of development/delivery • Experienced management team • Light-weight but robust Agile process • Reduces cost – dual shore team providing 50% cost advantage • Offers long term flexibility – allows (facilitates) taking offshore team captive Confidential
Experienced Team Team of seasoned professionals with extensive experience in offshore software Product Development • Hemant Elhence, Chief Executive Officer • Co-founder & COO of ECMi, venture funded software product company • Product-line VP at i2 – managed product portfolio with multiple offshore teams • Manager at McKinsey & Co, Consultant at TRG • Software engineer at Digital Equipment Corporation • BSEE IIT Delhi, MSEE Univ. of Massachusetts, MBA Univ. of Chicago • Vinayak Joglekar, EVP & Chief Technology Officer • Co-founder & CTO of ECMi, lead offshore (India) development center • 22+ years experience in software architecture design & product development, has built and mentored 100+ teams, hired 1000+ software professionals • Successfully delivered off-shore software projects for 20+ companies incl. Alfa-Laval, First Guarantty, Cyberdrawer, etc. • BSME IIT Bombay, MBA IIM Calcutta Confidential
Our Clients Confidential
What is Agile? • Agile development is the ability to develop software quickly, in the face of rapidly changing requirements • Agility is achieved by adhering to well understood practices, discipline, and feedback • Various flavors are practiced in the industry – SCRUM, Extreme Programming (XP), Adaptive Software Development, etc. • From Agile Manifesto of 2001: “Agile approach values… • Individuals and interactions over processes and tools • Working software over comprehensive documentation • Customer collaboration over contract negotiation • Responding to change over following a plan …that is, while there is value in the items on the right, items on the left are valued more” But, Agile is not an excuse to do maverick development without due attention to requirements analyses, thoughtful design, robust development & testing Confidential
Why Adopt Agile Approach? When done properly… • It is just more suitable for fast moving companies • Builds software which is more likely to delight customers • Embraces “changing requirements” as a positive, • Allows more innovation - relieves the product managers of the fear of committing to an irreversible change • Builds better quality, robust code • Provides better visibility and delivery predictability to management • It lends itself well for working effectively with offshore/ distributed development teams • Quick release cycles (Sprint) and scrum make the efforts put in by the offshore team more visible leading to trust • Requires less onerous documentation around requirements, thereby main bottleneck in leveraging offshore is dramatically reduced Over 70% of large & small companies have plans to adopt one or more of the agile practices this year Confidential
Agile in Practice Today • Core practices, widely adopted • Small, collaborative teams, 5 to 8 team members • Frequent and intense communication – in-person, IM Chat, email, conf-call/skype, video-conf, etc. • Delivering working software in short iterations (Sprints) ~ 2 weeks, time-boxed, demo & customer feedback • Initial requirements captured as “user stories”, welcome changing requirements • Continuous integration • Other practices, with limited following • Test driven development • Pair programming Confidential
Agile with Offshore Team? • Inherent limitations • Customer-Vendor “contractual” relationship • Face-to-face communication with “customer” limited/non-existent • Geographical boundaries • Conf-calls limited due to time-zone and connection quality issues • Business context difference may make requirements difficult to understand, requiring more detailed docs • Developer skill/experience level tends to be low • Inherent advantages • Geographical dispersion forces requirements to be written, elaborated, and in that process analyzed upfront • Forces good development processes – bug tracking, version control, daily builds, automated testing, wiki, etc. • More focused teams, less likely to be distracted by news-du-jour • Cost advantage allows proper staffing to handle the Agile discipline – TDD, test automation, etc. Confidential
Dual-shore Agile Leveraging Offshore Advantage Agile Model, All On-shore High - “Evolving/ Emerging” Requirements Need for Flexibility Low - “Known/ Given” Requirements Waterfall Model, All Offshore Low High Need for Dev Speed(for given $$ budget) Confidential
Product Lead/ Customer Scrum Master India Location US Location Agile Team #1 Agile Team #2 Dual Shore Agile in Practice US Location Agile Team #1 Agile Team #2 Confidential
Dual-shore Agile in Practice (Contd) • Don’t split an Agile team across continents, rather have a full unit of Agile team offshore • Offshore team follows the SCRUM and other processes locally • Daily SCRUM over phone, across the ocean doesn’t work • Ensure that there is a designated owner in US client team for the offshore team • Designate an on-site Product Lead, a representative of offshore team • Participates in requirements gathering and planning phase with US “customer” • Participates in both scrums – US team’s as well as offshore team’s • Hold offshore team to same standards • Assign equally complex/challenging work • Expect working software demos at the end of each iteration • Encourage and facilitate high degree of communication • Emails, IM Chat, Skype calls, conf-calls, video conf-calls • Periodic in-person visits by team members to allow “face-time” • Flat, developer-to-developer communication • Ensure proper dev process and infrastructure – common source code control, bug tracking, wiki, etc. Confidential
Offshore Offshore Dual Shore Agile – What Works? Intense and frequent communication across the teams X+Y ABC ABC! X & AB X! ABC! X - OK X ABC Onshore Highly dynamic, interactive and communicative working environment locally – affects the communication between the teams X+Y ABC & D ABC! X+Y! ABC! D! X+Y! X+Y! XYZ OK X? And D? D? D! X ABC Onshore Confidential
Dual Shore Agile – What Works? Direct, developer-to-developer connection Project managers Communication bottlenecks Reasons: Control? Language & comfort zone Project coaches Direct communication Less information loss Less waiting Challenge: Asian hierarchical orientation, Language Confidential
Deployment- and test environment Onshore Offshore Code-base Development environment Application code External System 1 External System 2 Dual Shore Agile – What Works? Common development code-base, development- and test environment Sending code, deploys, etc back and forth via email because some can not ABC and others can only XYZ is a living nigtmare Confidential
Agile-Offshore Synergy- Summary • While Agile is a sound approach, it is often misunderstood and abused in practice • Agile is not an excuse for no documentation, no requirements analyses, no planning, etc. • US teams are often short-staffed – can’t handle TDD, etc. • Offshore location of dev team forces a “appropriate discipline” striking effective balance • Lack of “face-time” forces written, albeit informal, communications – which forces clarity and minimizes misunderstanding • Offshore team allows cost effective resource augmentation, to handle the Agile discipline Dual-shore Agile allows the flexibility of Agile process, with cost/speed advantage of offshore, while guarding against the common pitfalls Confidential
Contact Information • Hemant Elhence (Dallas based) • hemant@synerzip.com • Office Phone: 469.322.0349 • Cell Phone: 214.762.4873 • www.synerzip.com Confidential