scaling agile distributed development

11

Click here to load reader

Upload: naresh-jain

Post on 06-May-2015

1.468 views

Category:

Technology


3 download

DESCRIPTION

Thomas Granier's Scaling Agile presentation from Agile Pune User Group meeting.

TRANSCRIPT

Page 1: Scaling Agile Distributed Development

© 2006 Equal Experts Ltd www.equalexperts.com 1© 2008 Equal Experts UK Ltd www.equalexperts.com 1

Scaling Agile:Distributed development

Thomas Granier

Page 2: Scaling Agile Distributed Development

© 2006 Equal Experts Ltd www.equalexperts.com 2© 2008 Equal Experts UK Ltd www.equalexperts.com 2

About Equal ExpertsA network of like-minded independent consultants, experts in the fieldsof Agile practices and delivery of large-scale enterprise systems

With highly motivated individuals and lower overheads, Equal Expertsoffers more “bang for the buck” to its Customers than otherconsultancies

Equal Expert consultants’ experience includes:

– Coaching activities at the project team, off shore distributed team, departmental andorganisational level

– Delivery of mission critical solutions for wide range of sectors: financial, retail,insurance …

– Collaboration with software vendors and blue chip companies in the UK and the USlike TietoEnator, RBSG, BP, AOL, Dixons, Fidelity, Dresdner, MetLife, Caterpillar…

Page 3: Scaling Agile Distributed Development

© 2006 Equal Experts Ltd www.equalexperts.com 3© 2008 Equal Experts UK Ltd www.equalexperts.com 3

Everybody agrees: Agile works …

… in a perfect world:

– Small project– Colocated team– Onsite customer– T&M or internally funded– Green field

Page 4: Scaling Agile Distributed Development

© 2006 Equal Experts Ltd www.equalexperts.com 4© 2008 Equal Experts UK Ltd www.equalexperts.com 4

Everybody asks: can Agile work ...

… in the real world ?

– Many people: Large project– Many projects: Across the enterprise– Many locations: Distributed project– Many lines of code: Legacy project– Many external systems: Integration project– No onsite customer– Fixed price contract

Can Agile scale ?

Page 5: Scaling Agile Distributed Development

© 2006 Equal Experts Ltd www.equalexperts.com 5© 2008 Equal Experts UK Ltd www.equalexperts.com 5

Offshore is a risky proposition

Increase dramatically the risk of failure

Distance amplifies all the pitfalls of waterfall:– Reliance on documentation over any other form of

communication– Disconnect between business and IT– Plan and try to fix everything up-front– Any mistake is detected late in that project and expensive to fix– Degradation of quality given all the other variables are fixed and

more visible: time, scope, cost– Being told what to do in minute details increases job

dissatisfaction which increases staff turn-over

Our first reaction is to make it even more riskier …

Page 6: Scaling Agile Distributed Development

© 2006 Equal Experts Ltd www.equalexperts.com 6© 2008 Equal Experts UK Ltd www.equalexperts.com 6

Desperate need for effective risk mitigation …

That transparently reports progress, measured objectively

That focus on quality by putting it at the heart of the delivery process

That shows problems early so they are easier/cheaper to correct

That incorporate feedback loops to engage business frequently

That helps bridge the distance by increasing collaboration betweenoffshore and onshore

That multiplies the forms of communication above and beyond writtendocumentation

That trusts offshore people to make timely decisions with properchecks and balances in place

Page 7: Scaling Agile Distributed Development

© 2006 Equal Experts Ltd www.equalexperts.com 7© 2008 Equal Experts UK Ltd www.equalexperts.com 7

… Agile brings that to the table

Agile is like a big magnifier glass – no one can hide!– Single code base with Continuous Integration– Focus on quality with pairing, automated unit / functional tests– Short feedback loops and short iterations– Showcases– Measurable progress with Stories 100% done or not– Collective code ownership– Increased communication– Fosters creativity, that leads to increased job satisfaction, that

leads to increased staff retention

Page 8: Scaling Agile Distributed Development

© 2006 Equal Experts Ltd www.equalexperts.com 8© 2008 Equal Experts UK Ltd www.equalexperts.com 8

Distributed Agile

There is today a toolkit of best practices to apply Agile ina distributed environment, in numerous articles

The easiest thing:adapt the process to the constraints of distance

The hardest thing:shape the culture offshore

Page 9: Scaling Agile Distributed Development

© 2006 Equal Experts Ltd www.equalexperts.com 9© 2008 Equal Experts UK Ltd www.equalexperts.com 9

Adapt to the constraints of distanceMore up-front thinking onshore:– requirements and design at the beginning of each release cycle

More tools:– wiki, videoconference, instant messaging, Agile software lifecycle tools

More documentation:– High level design notes on each functional area (onshore)– stories with detailed acceptance criteria and test scipts (offshore)

More controls from onshore:– stories reviews and sign-offs, code reviews, distributed design sessions

More support:– dedicated proxy BA, Tech Lead, QA onshore duplicating offshore role

More travels:– in both directions, at regular intervals, for short/long trips

Page 10: Scaling Agile Distributed Development

© 2006 Equal Experts Ltd www.equalexperts.com 10© 2008 Equal Experts UK Ltd www.equalexperts.com 10

Shape the culture offshoreFlat structure instead of pyramid structure– Middle management stifles creativity and introduce overhead in

the process– Replace it with self-discipline (require a core team to lead by

example)– Require alternative career paths than management

Reduce individuality and competitiveness– Replace with team ownership and accountability– Require management to reward individuals differently

Encourage pro-activeness and timely decision making– “It is OK to make mistakes !”– Replace blaming individuals for their mistakes with team

retrospective to analyse what could have been done differently

Page 11: Scaling Agile Distributed Development

© 2006 Equal Experts Ltd www.equalexperts.com 11© 2008 Equal Experts UK Ltd www.equalexperts.com 11

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

It’s more: can Distributed projects afford not to applyAgile practices?

This way you can actually address the problems createdby the distance instead of making them worse

Waterfall Distributed Agile Agile

Deterministic AdaptiveApproach

DistributedWaterfall