Experiences of Fully Distributed Scrum Narinder Kumar www.xebiaindia.com
Linear Scalability of Production between San Francisco and India
Agenda Overview of Scrum Types of Scrum in Distributed Development Project Context Challenges & Solutions Agile Toolkit for Java Developer Discussion
Scrum process
Scrum Terms Roles Artifacts Scrum Master Product backlog Product owner Sprint backlog Team Impediment list Meetings Sprint Planning Daily Scrum Sprint Review Sprint Retrospective Burn-down chart
Plan Act - Study
Why Distributed Scrum? Reduced Costs Availability of Talent Scaling up/down with Knowledge Retention and without local layoffs We count this as successful only if quality and productivity match those locally
Agile and Distributed : Oil and Water? Good Hyperproductive Agile Teams are Co-located with Shared Ownership Shared Responsibility High Interaction
Typical Problems in Distribution Time-Zones Culture Language Different Standards No Shared Ownership Us - Them
Distributed Scrum Styles Isolated Scrums Distributed Scrum of Scrums Fully Distributed Scrums Jeff Sutherland 1993-2007
Isolated Scrums Works when you have local PO (Separate Project) May be doing Waterfall with an iterative development team Results in classic Integration problems and code ownership Still large degree of us / them Isolated Scrums
Scrum of Scrums Recommended by Scrum Alliance Recognizes the link Does not give us rich communication to close the gap Still accepts the problem of distance as Given!
Fully Distributed Scrum
Case Study : TBD.com Social Networking WebSite based out of SF, California Started Sep 2006, Live March 2007 April 2008 : Looking for an off-shore partner to increase development capacity Goal : Grow Member base and Create a niche in yet to be tapped market segment
Getting to Know Each Other software development done right
Technology Stack YUI Spring Web MVC JSP 2.0
Critical Success Factors Shared Resources Regular Communication Initial Co-location and Regular Travel Easy Access to Product Owner
Acknowledgement of Challenges
Kick-Off One week Co-location Product Owner and Scrum Master in India Knowledge Transfer and Set-Up Norming & Chartering Session Success Criterias Initial Distributed Team of 7 People
Norming & Chartering Session Common Code Base Common Backlog Shared Definition of Done Communication Modes
Success Criterias Productivity Knowledge Build-Up of India Team Quality General Team Dynamics 6 week pilot was initiated
Modified Scrum Sprint in Action Daily Scrum End of Day Status Updates Weekly Team Meetings
Modified Scrum Sprint in Action contd... Pre-Planning and Planning Meeting Sprint Review and Updates Retrospectives
Tools at Our help Skype Video/Audio Conference Adobe Acrobat Connect Pivotal Tracker Confluence, Jira, SVN, Staging Environment..
Results
One Team
Business Value Member Growth Monthly Visits Monthly Visits 80,000 50,000 April 40,000 June May July 30,000 August 20,000 250,000 250,000 200,000 200,000 June May July June August July 150,000 150,000 100,000 100,000 50,000 50,000 10,000 August 00 - Time January Number of page views March Number of Visits 60,000 6,000,000 January January February February March March April April May 300,000 300,000 February 5,000,000 February March 4,000,000 April May 3,000,000 June July 2,000,000 August 1,000,000 0 Time Time Time Monthly Page View per visit Number of page views per visit Total Members 350,000 350,000 January 70,000 Monthly Page Views 20.00 18.00 January 16.00 February March 14.00 April 12.00 May 10.00 June 8.00 July 6.00 August 4.00 2.00 0.00 Time
Productivity & Quality Improvements Average Per Person Velocity 12 Story Points 10 8 6 4 2 0 Iterations
Project Review in India by Mary & Tom Poppendieck
Collaboration Summary 8 Months Distributed project Team Extension in India 24/7 support by development team Because of Fully Distributed Scrum TBD.com got maximum benefits of off-shoring
Success Factors Same level of Talent on both sides Rich Experience in Agile Transparency on Business Drivers by TBD.com Evaluation System sets clear expectations
Difficulties Faced Limited Travel possible Distributed Demos Distributed Design Some work still remains local
Guiding Principles One Team Shared Goal and Ownership Shared Agile Value System
Agile Toolkit for Java Developer
Build Tools Easy Build Continuos Integration Maven / Ant (max 10 minutes) Bamboo / Cruise Control / Hudson Automated Quality Statistics Code Coverage (Clover / Cobertura) Code Quality (JDepend, PMD, CheckStyle)
Test Tools Unit Testing Frameworks JUnit DBUnit Mocking Frameworks HttpUnit Integration Testing Frameworks Fitnesse Selenium
? Narinder Kumar nkumar@xebia.com Linear Scalability of Production between San Francisco and India
References Articles and Presentations on Distributed Scrum with No time overlap http://www.agile2009.org//node/1528 http://blog.xebia.com/2009/08/26/fully-distributed-scrum-agile2009/ http://www.infoq.com/presentations/fully-distributed-scrum http://www.computer.org/portal/web/csdl/doi/10.1109/agile.2009.27 Articles and Presentations on Distributed Scrum with Time-Overlap http://submissions.agile2008.org/node/1442 http://blog.xebia.com/2008/08/21/agile2008-fully-distributed-scrum/ http://www.infoq.com/articles/dutch-railway-scrum General Articles about Java EE Technology and Agile Methodologies http://xebee.xebia.in http://blog.xebia.com