34
Agile Distributed Development Agile Distributed Development done right done right Jeff Sutherland Co-creator of Scrum [email protected] Jeff Sutherland Co-creator of Scrum [email protected] Guido Schoonheim CTO, Xebia [email protected] Guido Schoonheim CTO, Xebia [email protected]

Guido Schoonheim - Fully Distributed Scrum - QCon 2009...distributed Scrum projects, Xebia has systematically productized a model similar to theproductized a model similar to the SirsiDynix

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Guido Schoonheim - Fully Distributed Scrum - QCon 2009...distributed Scrum projects, Xebia has systematically productized a model similar to theproductized a model similar to the SirsiDynix

Agile Distributed DevelopmentAgile Distributed Developmentg p

done rightg p

done right

Jeff SutherlandCo-creator of Scrum

[email protected]

Jeff SutherlandCo-creator of Scrum

[email protected]

Guido SchoonheimCTO, Xebia

[email protected]

Guido SchoonheimCTO, Xebia

[email protected]

Page 2: Guido Schoonheim - Fully Distributed Scrum - QCon 2009...distributed Scrum projects, Xebia has systematically productized a model similar to theproductized a model similar to the SirsiDynix

About XebiaAbout Xebia

Holland France IndiaHolland, France, India150 people Agile & Java focusgWhat we do:

– IT architecture– Software development– Agile training&consultancy

Agile offshoring– Agile offshoringCore values:• People first• Customer intimacy

© Xebia

Customer intimacy• Quality without compromise• Share knowledge

Page 3: Guido Schoonheim - Fully Distributed Scrum - QCon 2009...distributed Scrum projects, Xebia has systematically productized a model similar to theproductized a model similar to the SirsiDynix

Xebia OneTeam

Since 2006, Xebia (Netherlands) started localized , ( )projects with half Dutch and half Indian team members.Aft t bli hi l li d h d ti it thAfter establishing localized hyperproductivity, they move the Indian members of the team to India and show increasing velocity with fully distributed teams. After running XP engineering practices inside many distributed Scrum projects, Xebia has systematically productized a model similar to the SirsiDynix modelproductized a model similar to the SirsiDynix model for high performance, distributed, offshore teams with linear scalability and outstanding quality.

© 1993-2008 Jeff Sutherland v8.5

Page 4: Guido Schoonheim - Fully Distributed Scrum - QCon 2009...distributed Scrum projects, Xebia has systematically productized a model similar to theproductized a model similar to the SirsiDynix

Outsourcing the traditional wayOutsourcing the traditional way

What happens if you outsource $2M of development?What happens if you outsource $2M of development?– Industry data show 20% cost savings on average

Outsourcing from PatientKeeper to Indian waterfallOutsourcing from PatientKeeper to Indian waterfall team:– Two years of data showed breakeven point occurs when

Indian developer costs 10% of American Scrum developerIndian developer costs 10% of American Scrum developer– Actual Indian cost is 30%

$2M of Scrum development at my company costs $ p y p y$6M when outsourced to waterfall teamsNever outsource to waterfall teams. Only outsource t S tto Scrum teams.

© 1993-2008 Jeff Sutherland v8.5

Page 5: Guido Schoonheim - Fully Distributed Scrum - QCon 2009...distributed Scrum projects, Xebia has systematically productized a model similar to theproductized a model similar to the SirsiDynix

The real problem with distributionThe real problem with distributionis indeed distance

• Geography• Time zones• Culture• Language

Diff t t d d• Different standards• No shared ownership• Us – Them• Us – Them

It’s all a form of distance between peopleIt s all a form of distance between people

Page 6: Guido Schoonheim - Fully Distributed Scrum - QCon 2009...distributed Scrum projects, Xebia has systematically productized a model similar to theproductized a model similar to the SirsiDynix

How do we bridge that gap?How do we bridge that gap?

=

Page 7: Guido Schoonheim - Fully Distributed Scrum - QCon 2009...distributed Scrum projects, Xebia has systematically productized a model similar to theproductized a model similar to the SirsiDynix

Or… we can look at the people

© 2008 Xebia B.V.

Page 8: Guido Schoonheim - Fully Distributed Scrum - QCon 2009...distributed Scrum projects, Xebia has systematically productized a model similar to theproductized a model similar to the SirsiDynix
Page 9: Guido Schoonheim - Fully Distributed Scrum - QCon 2009...distributed Scrum projects, Xebia has systematically productized a model similar to theproductized a model similar to the SirsiDynix

Aren’t Agile and Offshoring Aren t Agile and Offshoring like oil and water?

• Good hyperproductive Agile teams are colocated with shared ownership, shared responsibility, high interaction

And then you want to distribute them

© 2008 Xebia B.V.

And then you want to distribute them halfway around the planet? Are you crazy?

Page 10: Guido Schoonheim - Fully Distributed Scrum - QCon 2009...distributed Scrum projects, Xebia has systematically productized a model similar to theproductized a model similar to the SirsiDynix

Mixing both worlds makes Mixing both worlds makes a killer combination

Agile hyperproductivity and quality• Agile hyperproductivity and quality combined with offshoring benefits:– Availability of talent– Scaling up/down with knowledge

retention and without local layoffs– Cost reduction– Cost reduction

Solution: Fully Distributed Scrum

© 2008 Xebia B.V.

Page 11: Guido Schoonheim - Fully Distributed Scrum - QCon 2009...distributed Scrum projects, Xebia has systematically productized a model similar to theproductized a model similar to the SirsiDynix

Getting in the same mindspaceg p

We are looking for:•Shared ownership•Shared context•Personal relationships•Team culture and standards•Shared Agile value system•Shared Agile value system

We need to tie people closely together with shared goals: SCRUM!

© 2008 Xebia B.V.

Page 12: Guido Schoonheim - Fully Distributed Scrum - QCon 2009...distributed Scrum projects, Xebia has systematically productized a model similar to theproductized a model similar to the SirsiDynix

Distributed/Outsourcing Styles

Isolated Scrums

Distributed Scrum of ScrumsDistributed Scrum of Scrums

Fully Distributed Scrums

© Jeff Sutherland 1993-2007

Page 13: Guido Schoonheim - Fully Distributed Scrum - QCon 2009...distributed Scrum projects, Xebia has systematically productized a model similar to theproductized a model similar to the SirsiDynix

Isolated Scrums

• Works when you have local PO (=separate project)• Otherwise you are doing waterfall with an iterative

d l t tdevelopment team• Just beats around the bush, results in classic

integration problems and code ownershipintegration problems and code ownership• Still large degree of us / them

Isolated Scrums

Page 14: Guido Schoonheim - Fully Distributed Scrum - QCon 2009...distributed Scrum projects, Xebia has systematically productized a model similar to theproductized a model similar to the SirsiDynix

Scrum of Scrums

• Recommended by Scrum Alliance• Recommended by Scrum Alliance• Recognizes that there is a link• Does not give us rich communication to close the gapDoes not give us rich communication to close the gap• Still accepts the problem of distance as a given!

Page 15: Guido Schoonheim - Fully Distributed Scrum - QCon 2009...distributed Scrum projects, Xebia has systematically productized a model similar to theproductized a model similar to the SirsiDynix

Getting in the same mindspaceg p

We are looking for:•Shared ownership•Shared context•Personal relationships•Team culture and standards•Shared Agile value system•Shared Agile value system

We need to tie people closely together with shared goals: SCRUM!

© 2008 Xebia B.V.

Page 16: Guido Schoonheim - Fully Distributed Scrum - QCon 2009...distributed Scrum projects, Xebia has systematically productized a model similar to theproductized a model similar to the SirsiDynix

Fully Distributed Scrum

Solution: Distributed Agile team members

Page 17: Guido Schoonheim - Fully Distributed Scrum - QCon 2009...distributed Scrum projects, Xebia has systematically productized a model similar to theproductized a model similar to the SirsiDynix

SirsiDynix - Anatomy of a failed project

• Over a million lines of Java code

© Jeff Sutherland 1993-2007

Page 18: Guido Schoonheim - Fully Distributed Scrum - QCon 2009...distributed Scrum projects, Xebia has systematically productized a model similar to theproductized a model similar to the SirsiDynix

SirsiDynix Distributed ScrumSirsiDynix Distributed Scrum

56 developers distributed across sites

SirsiDynix

PO PO PO

SMDevDev

SirsiDynixProvo, UtahDenver, COWaterloo, Canada

Dev

T LdDevDevDev Exigen ServicesDev

Catalogue Serials Circulation Search Reporting

Exigen ServicesSt. Petersburg, Russia

Catalogue Serials Circulation Search Reporting

© 1993-2008 Jeff Sutherland v8.5

Page 19: Guido Schoonheim - Fully Distributed Scrum - QCon 2009...distributed Scrum projects, Xebia has systematically productized a model similar to theproductized a model similar to the SirsiDynix

SirsiDynix Distributed ScrumSirsiDynix Distributed Scrum

Scrum daily meetings

St. Petersburg, Russia 17:45pm

Local Team Meeting

7:45am Provo, Utah

Scrum Team Meeting

© 1993-2008 Jeff Sutherland v8.5

Page 20: Guido Schoonheim - Fully Distributed Scrum - QCon 2009...distributed Scrum projects, Xebia has systematically productized a model similar to theproductized a model similar to the SirsiDynix

SirsiDynix ChallengesSirsiDynix ChallengesScrumButtBuilds were stable only at Sprint boundariesBuilds were stable only at Sprint boundariesScrumMasters, Product Owners, and Architects only in U.S.No XP in U.S, only in RussiaNo face to face meetingsLow test coverage Poor refactoring practiceDid t h l t l t tDid not have equal talent across teamsCompany merger created competitive productsSirsi now owned Dynix and killed Dynix product

© 1993-2008 Jeff Sutherland v8.2

Sirsi now owned Dynix and killed Dynix product

Page 21: Guido Schoonheim - Fully Distributed Scrum - QCon 2009...distributed Scrum projects, Xebia has systematically productized a model similar to theproductized a model similar to the SirsiDynix

Research IssueResearch Issue

SirsiDynix was a retrospective study of a single dataSirsiDynix was a retrospective study of a single data pointEven if quality was perfect, it does not prove anyone else can do it.Even worse, if you observe a finding after the fact, you cannot infer causalityyou cannot infer causalityIs SirsiDynix a lucky accident? Or maybe an unlucky accident?

© 1993-2008 Jeff Sutherland v8.5

Page 22: Guido Schoonheim - Fully Distributed Scrum - QCon 2009...distributed Scrum projects, Xebia has systematically productized a model similar to theproductized a model similar to the SirsiDynix

We needed a prospective studyWe needed a prospective studyDefine the distributed team model before projects startstartAssure consistent talent, tools, process, and organization across geographiesEstablish high quality data gathering techniques on velocity, quality, cost and environmental factors.R i t t t d l i f j tRun a consistent team model on a series of projects and look for comparable resultsDemonstrate that local velocity = distributed velocityDemonstrate that local velocity distributed velocityDemonstrate that local quality = distributed qualityDemonstrate linear scaling at constant velocity per

© 1993-2008 Jeff Sutherland v8.5

developer

Page 23: Guido Schoonheim - Fully Distributed Scrum - QCon 2009...distributed Scrum projects, Xebia has systematically productized a model similar to theproductized a model similar to the SirsiDynix

Case study: Building a new railway i f ti tinformation system

© 2008 Xebia B.V.

Page 24: Guido Schoonheim - Fully Distributed Scrum - QCon 2009...distributed Scrum projects, Xebia has systematically productized a model similar to theproductized a model similar to the SirsiDynix

Forming the Fully Distributed team

• Shared ownership from the start• Decide architecture together• Get to know the client and domain• Norming session for the team

F l l ti hi• Form personal relationships

Establish local hyperproductivityEstablish local hyperproductivity

© 2008 Xebia B.V.

Page 25: Guido Schoonheim - Fully Distributed Scrum - QCon 2009...distributed Scrum projects, Xebia has systematically productized a model similar to theproductized a model similar to the SirsiDynix

Distributed Scrum Meetings

• Video conferencing is a must!S S l l• Same Scrum rules apply

• Planning poker over videoor with digital toolor with digital tool

• Digital Scrum boards

The single most important thing the Scrum cycle facilitatesis communication!

© 2008 Xebia B.V.

is communication!

Page 26: Guido Schoonheim - Fully Distributed Scrum - QCon 2009...distributed Scrum projects, Xebia has systematically productized a model similar to theproductized a model similar to the SirsiDynix

A day in the life...

Local standup India

Stand up

Update Scrum board

Local standup

TIME LINE

TIME LINE

9:00 12:00 13:00 14:00 15:00 16:00 17:00 18:0010:00 11:00

9:00 12:00 13:00 14:00 15:00 16:00 17:00 18:0010:00 11:00

Stand up

NL Update Scrum board

© 2008 Xebia B.V.

NL p um

Page 27: Guido Schoonheim - Fully Distributed Scrum - QCon 2009...distributed Scrum projects, Xebia has systematically productized a model similar to theproductized a model similar to the SirsiDynix

Starting up a distributed team

Page 28: Guido Schoonheim - Fully Distributed Scrum - QCon 2009...distributed Scrum projects, Xebia has systematically productized a model similar to theproductized a model similar to the SirsiDynix

Linear productivity increasep c y c s

Performance:6 6h/FP

© 2008 Xebia B.V.

India onsite Distributedscaling

Team hassettled

6.6h/FP

Page 29: Guido Schoonheim - Fully Distributed Scrum - QCon 2009...distributed Scrum projects, Xebia has systematically productized a model similar to theproductized a model similar to the SirsiDynix

Quality by Definition of Done & XPQ y y

• Facts:– 95 % found in iteration– 50 in acceptance– 0.5 – 1.0 per kLOC

© 2008 Xebia B.V.

Page 30: Guido Schoonheim - Fully Distributed Scrum - QCon 2009...distributed Scrum projects, Xebia has systematically productized a model similar to theproductized a model similar to the SirsiDynix

Some work is hard to distribute

• Software architecture distributes easily enough• Enterprise architecture often does not• Xebia rule: client gets same experience as with a

local team

© 2008 Xebia B.V.

Page 31: Guido Schoonheim - Fully Distributed Scrum - QCon 2009...distributed Scrum projects, Xebia has systematically productized a model similar to theproductized a model similar to the SirsiDynix

Difficulties faced

• Initial reluctance to communicate extra• Culture making it hard to get aligned, Cu tu e a g t a d to get a g ed,

misunderstandings about priority and value• Local team taking aggressive ownershipLocal team taking aggressive ownership• Not enough context information offsite• Keeping urgency and kaizen after adoption• Keeping urgency and kaizen after adoption

Both sides need to adjust© 2008 Xebia B.V.

Both sides need to adjust

Page 32: Guido Schoonheim - Fully Distributed Scrum - QCon 2009...distributed Scrum projects, Xebia has systematically productized a model similar to theproductized a model similar to the SirsiDynix

When to start with distribution?

• Get your local organization capable of running Scrum• Get quality up with XP practices• Stop thrashing, focus people• Then think of scaling up with offshore

Introducing Agile and distribution at the same timeIntroducing Agile and distribution at the same time is often too much to take in! Get help!

© 2008 Xebia B.V.

Page 33: Guido Schoonheim - Fully Distributed Scrum - QCon 2009...distributed Scrum projects, Xebia has systematically productized a model similar to theproductized a model similar to the SirsiDynix

Summary• Working successfully in a distributed way is all about g y y

handling the ‘distance’ between people• Classical approach is with more detailed instructions and

t l t it d f k l d k !control, not suited for knowledge workers!• Agile can tie people together across distances• Agile benefits (Time to market performance quality)• Agile benefits (Time to market, performance, quality)

mixed with offshoring benefits is a killer combo

Fully Distributed Scrum gives you velocity and quality of a local team with linear scalability

© 2008 Xebia B.V.

Page 34: Guido Schoonheim - Fully Distributed Scrum - QCon 2009...distributed Scrum projects, Xebia has systematically productized a model similar to theproductized a model similar to the SirsiDynix

Conclusion

Fully Distributed Scrum has more l th l li d Svalue then localized Scrum

Questions?

[email protected]