agile ncr 2009\agile project management - facing the challenges of distributed development using...

30
© Copyright GlobalLogic 2008 Agile Project Management - Facing the Challenges of Distributed Development using Agile - Mayank Gupta

Post on 18-Oct-2014

2.149 views

Category:

Technology


1 download

DESCRIPTION

 

TRANSCRIPT

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

© Copyright GlobalLogic 2008

Agile Project Management - Facing the Challenges of

Distributed Development using

Agile - Mayank Gupta

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

© Copyright GlobalLogic 2008 2

Time for Introduction

• Working with GlobalLogic India

• Practicing Agile for last 3 years

• Certified CSM, CSP, OCP and ISTQB professional

• Published Articles in Scrum Alliance & CM Journal

• Blog - http://thought-reader.blogspot.com/

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

© Copyright GlobalLogic 2008 3

Agenda

• Food for thought• Agile – Does it work?• Distributed Agile – Issues and success factors• Distributed Scrum styles• How to keep the rhythm• Engineering solutions• Examples and case studies• Questions

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

© Copyright GlobalLogic 2008 4

Food for thought

The question isn’t whether Agile can be applied to Distributed projects or not

It’s more!

Can Distributed projects afford not to apply Agile practices?

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

© Copyright GlobalLogic 2008 5

Agile – Does it work?

Everybody says that Agile works for ideal scenario- Small teams- Collocated teams- When customer is available to team all the time

What about real scenario?- Big teams- Globally distributed teams- Large projects- When real customer is not available to the team

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

© Copyright GlobalLogic 2008 6

Distributed Agile

• Large/distributed projects are very high risk

• Standish chaos report – 31.1% projects get cancelled before they get

completed

– 52.7% projects get completed but cost almost double of their original estimates

– 16.2% projects are completed on time on budget

• Today's prevailing trend – geographical

diversification

• Exponential Demand for complex functionality along with ease of use, scalability, reliability, and maintainability

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

© Copyright GlobalLogic 2008 7

Issues in Distributed development

• Strategic – resource management, best practices

• Project and process management – synchronizing work between all locations

• Communication – Lack of effective communication mechanisms

• Cultural – conflicting behavior, processes

• Technical – Incompatible data formats, schemas etc

• Security – Ensuring confidentiality and privacy

It is a communicatio

n problem

It is a communicatio

n problem

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

© Copyright GlobalLogic 2008 8

Success Factors – Distributed Agile

• Success of Distributed agile substantially depends on real-time collaboration – Avoid depending heavily on the use of E-mails for knowledge

sharing!

– Wiki and Collaboration systems gaining popularity

– IM tools, NetMeeting, and video conferencing enable effective collaboration

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

© Copyright GlobalLogic 2008 9

Success Factors – Distributed Agile (cont…)

• Robust and Scalable engineering platform to enable:– Real-time Collaboration and transparency– Re-usability and Refactoring– Collective Code Ownership– Continuous Integration – ……….etc.

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

© Copyright GlobalLogic 2008 10

Distributed Scrum Styles

• Type A: Isolated Scrums

• Type B: Distributed Scrum of Scrums

• Type C: Totally Integrated Scrums

Reference - Distributed Scrum: Agile Project Management with Outsourced Development Teams - By Jeff Sutherland, Anton Viktorov, Jack Blount

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

© Copyright GlobalLogic 2008 11

How to keep the Rhythm

• Daily Scrum Meeting– Adjust meeting time to meet all time zones

– Overcome language issues

• Write the answer of three scrum questions and distribute the answers by email before the Scrum meeting

– Local teams can have their separate standup meetings as well

– Publish audio recording of meetings

– Video conference

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

© Copyright GlobalLogic 2008 12

How to keep the Rhythm (cont…)

• Release/Sprint planning– Fly key people to one place (Release)– Share pictures of planning charts (Sprint)– All team members participating– Video conference between sites (Sprint)

• Release/Sprint Review– One session for all teams– Web Conferencing– All team members participating– Video conference

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

© Copyright GlobalLogic 2008 13

It is all about planning

• Team Structure– Key challenge: process management, work

synchronization– Cross functional teams at all locations– Scrum masters at all locations– Use Scrum of Scrum (SoS)– use Scrum of Scrum of Scrum (SoSoS )– Scrum Masters reporting daily to SoS and to SoSoS

• Proxy product owners – Architects as proxy product owners– Link between product owner and delivery team– Break down User story into requirements

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

© Copyright GlobalLogic 2008 14

It is all about planning (Cont…)

• Identifying dependencies– After each sprint planning– Scrum masters meeting to resolve dependencies

• New distributed scrum teams– New scrum teams for

• Documentation, • Integration• Validation

– Documentation team participation in all planning meetings

– Integration scrum team responsible for nightly build, auto deployment

– Scrum team “validation” taking care of the user scenarios & engaging real customer in validation process

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

© Copyright GlobalLogic 2008 15

Work Organization: Sample success pattern

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

© Copyright GlobalLogic 2008 16

Creating an Integrated Tracker

• Ability to properly derive test cases from raw requirements

• All tasks need to be mapped, inter-linked, and driven by its priority– Writing use cases, test

cases, code reviews, etc.

• Requirement mapping also necessary for test results, defects, and code changes

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

© Copyright GlobalLogic 2008 17

Processes - Continuous Integration• It is essential that code repository is centralized and unified tools are used

• Automated Schedule builds – preferably daily

• Traceability to requirements to builds

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

© Copyright GlobalLogic 2008 18

Sprint health check

Reference - Distributed Scrum: Agile Project Management with Outsourced Development Teams - By Jeff Sutherland, Anton Viktorov, Jack Blount

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

© Copyright GlobalLogic 2008 19

High Visibility on Project Status - Metrics

Test Cases Test Cases - Status

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

© Copyright GlobalLogic 2008 20

Product Dashboard as Information Radiator

• Distributed Agile needs a common view assembling product engineering processes together

• A Product Dashboard provides a holistic view of lifecycle– Reconciles information from requirement management,

test case management, issue tracking system, etc.– No manual consolidation of information – Provides great transparency from all perspectives– Real-time visibility into the progress– Role-based dashboard boosts productivity of the

distributed product teams

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

© Copyright GlobalLogic 2008 21

Video Conference

• Biggest contributing factor in distributed development

• Brings meaningful and effective communication

• Better video conferencing tools would decrease the need of travelling

• Use video conference for– Daily scrum meetings– Release planning meeting– Iteration planning meeting– Sprint Review

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

© Copyright GlobalLogic 2008 22

Daily Scrum Meeting

Audio Or/And

Video Conference

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

© Copyright GlobalLogic 2008 23

Case Studies

IDX (now GE Healthcare) – 567 developers, many locations• IDX Web Team Scrum 1996-2000• – Burlington, VT• – Boston• – Seattle• Factors accelerating the IDX hyperproductive Distributed Scrum• – Scrum organizational pattern• – Engineering practices• – Daily meeting of distributed team• – Tools (direct connection to Microsoft development)

• SirsiDynix and StarSoft used Scrum in globally distributed environment – developing a Java application with over 1,000,000 lines of code.– a distributed team of 56 Scrum developers working from Provo, Utah;

Waterloo, Canada; and St. Petersburg– At 15.3 function points per developer/month, this is one of the most

productive projects ever documented.

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

© Copyright GlobalLogic 2008 24

GlobalLogic Case Study

• The purpose of the project was to develop a framework for a company in digital audio production (audio processing)

• Started in April 2008 and still continuing• Distributed team working from various locations (in total 3)

– 11 in Ukraine, 4 in US, 1 in UK

• How we did it?• ScrumMaster trained all members on agile practices, on estimation

techniques, traveled in initiation phase• Daily Scrum meetings of all developers from multiple sites• A wiki page was created to document the impediments faced• Hourly automated builds from one central repository• Centralized Information radiator (dashboard) depicting burn down

chart, value chart, and other pie chart reports

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

© Copyright GlobalLogic 2008 25

Continuous Integration

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

© Copyright GlobalLogic 2008 26

Continuous Integration

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

© Copyright GlobalLogic 2008 27

Project Dashboard

Project Dashboard view, containingDefect aging reportBurn down chart Defect mean time to resolveDefect Turn around timePost release defects trend report

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

© Copyright GlobalLogic 2008 28

Conclusion

• Agile would help you to actually address the problems created by the distance instead of making them worse

• Meaningful communication and collaboration are the key factors

• One Scrum meeting a day is necessary which should include all team members across geographies.

• This would improve productivity, reduce project risk, and enhance software quality.

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

© Copyright GlobalLogic 2008 29

References

• Distributed Scrum: Agile Project Management with Outsourced Development Teams

– At Agile 2006 International conference

– By Jeff Sutherland, Anton Viktorov, Jack Blount

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

www.globallogic.com

Thank You!

© Copyright GlobalLogic 2008

[email protected]