Agile Project Management Facing The Challenges Of Distributed Development Using Agile

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

description

This ppt.is presented by Mayank Gupta (Globallogic) at Agile NCR 2009 Conference held on 18th July at Park Premier Hotel.

Transcript of Agile Project Management Facing The Challenges Of Distributed Development Using Agile

Page 1: 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 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 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 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 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 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 Project Management   Facing The Challenges Of Distributed Development Using Agile

© Copyright GlobalLogic 2008 7

Issues in Distributed development

• Strategic: Difficult leveraging available resources, best practices are often deemed proprietary, time consuming and difficult to maintain.

• Project and process management: Difficulty synchronizing work between distributed sites.

• Communication: Lack of effective communication mechanisms.• Cultural: Conflicting behaviors, processes, and technologies.• Technical: Incompatible data formats, schemas, and standards.• Security: Ensuring electronic transmission confidentiality and

privacy.

It is a communicatio

n problem

It is a communicatio

n problem

Page 8: Agile Project Management   Facing The Challenges Of Distributed Development Using Agile

© Copyright GlobalLogic 2008 8

Agile Values

We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:

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, we value the items on the left more.

Page 9: Agile Project Management   Facing The Challenges Of Distributed Development Using Agile

© Copyright GlobalLogic 2008 9

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

• 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 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 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– Write the answer of three scrum questions and distribute the answers by

email before the Scrum meeting (overcomes language issues)– Local teams can have their separate standup meetings as well– Publish audio recording of meetings– Video conference between sites

• 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 meeting application to share Demo and Presentation– All team members participating– Video conference between sites

Page 12: Agile Project Management   Facing The Challenges Of Distributed Development Using Agile

© Copyright GlobalLogic 2008 12

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)– If number of teams are more (more than 10), use Scrum of Scrum of Scrum

(SoSoS )– Scrum Masters reporting daily to SoS and to SoSoS

• Proxy product owners – Architects playing the role of proxy product owners– Link between product owner and delivery team– Break down User story into requirements

Page 13: Agile Project Management   Facing The Challenges Of Distributed Development Using Agile

© Copyright GlobalLogic 2008 13

It is all about planning (Cont…)

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

• New distributed scrum teams– New scrum teams for Documentation, Integration and Validation can be

formed– Documentation team participation in all planning meetings– Integration scrum team responsible for nightly build and automatic

installation, participate in SoSoS forum and part of all planning meetings– Scrum team “validation” taking care of test and validation of the Cross suite

user scenarios & engaging real customer in validation process

Page 14: Agile Project Management   Facing The Challenges Of Distributed Development Using Agile

© Copyright GlobalLogic 2008 14

Use of Agile Methodology: Iterative Product Development & Incremental Releases

Working Releases

Page 15: Agile Project Management   Facing The Challenges Of Distributed Development Using Agile

© Copyright GlobalLogic 2008 15

Work Organization: Sample success pattern

Page 16: Agile Project Management   Facing The Challenges Of Distributed Development Using Agile

© Copyright GlobalLogic 2008 16

Work Organization: Large Scale

Page 17: Agile Project Management   Facing The Challenges Of Distributed Development Using Agile

© Copyright GlobalLogic 2008 17

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 18: Agile Project Management   Facing The Challenges Of Distributed Development Using Agile

© Copyright GlobalLogic 2008 18

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

• Automated Schedule builds – preferably daily

• Build dashboard highlights failing builds which are resolved immediately.

• Traceability to requirements to builds

Page 19: Agile Project Management   Facing The Challenges Of Distributed Development Using Agile

© Copyright GlobalLogic 2008 19

Sprint health check

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

Page 20: Agile Project Management   Facing The Challenges Of Distributed Development Using Agile

© Copyright GlobalLogic 2008 20

High Visibility on Project Status - Metrics

Test Cases Test Cases - Status

Page 21: Agile Project Management   Facing The Challenges Of Distributed Development Using Agile

© Copyright GlobalLogic 2008 21

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 22: Agile Project Management   Facing The Challenges Of Distributed Development Using Agile

© Copyright GlobalLogic 2008 22

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 23: Agile Project Management   Facing The Challenges Of Distributed Development Using Agile

© Copyright GlobalLogic 2008 23

Daily Scrum Meeting

Audio Or/And

Video Conference

Page 24: Agile Project Management   Facing The Challenges Of Distributed Development Using Agile

© Copyright GlobalLogic 2008 24

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 25: Agile Project Management   Facing The Challenges Of Distributed Development Using Agile

© Copyright GlobalLogic 2008 25

Case Study

• ????

Page 26: Agile Project Management   Facing The Challenges Of Distributed Development Using Agile

© Copyright GlobalLogic 2008 26

Velocity Continuous Integration

Page 27: Agile Project Management   Facing The Challenges Of Distributed Development Using Agile

© Copyright GlobalLogic 2008 27

Velocity Continuous Integration

Page 28: 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

• It is extremely easy to integrate Scrum with XP practices even on large distributed teams.

• 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 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 Project Management   Facing The Challenges Of Distributed Development Using Agile

www.globallogic.com

Thank You!

© Copyright GlobalLogic 2008

[email protected]