scaling agile distributed development
DESCRIPTION
Thomas Granier's Scaling Agile presentation from Agile Pune User Group meeting.TRANSCRIPT
© 2006 Equal Experts Ltd www.equalexperts.com 1© 2008 Equal Experts UK Ltd www.equalexperts.com 1
Scaling Agile:Distributed development
Thomas Granier
© 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…
© 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
© 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 ?
© 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 …
© 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
© 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
© 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
© 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
© 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
© 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