the kiev experiment

47
The Kiev Experiment Evolving Agile Partnerships

Upload: malise

Post on 12-Jan-2016

55 views

Category:

Documents


0 download

DESCRIPTION

The Kiev Experiment. Evolving Agile Partnerships. Who are we?. Simon Sasha Peter. Where did we start?. Existing Monolithic Mainframe Application Quarterly Deliveries 6 Week Testing Cycles Offshore Delivery teams Waterfall process Command and Control. What did we want to do?. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: The Kiev Experiment

The Kiev Experiment

Evolving Agile Partnerships

Page 2: The Kiev Experiment

Who are we?

• Simon

• Sasha

• Peter

Page 3: The Kiev Experiment

Where did we start?

• Existing Monolithic Mainframe Application

• Quarterly Deliveries

• 6 Week Testing Cycles

• Offshore Delivery teams

• Waterfall process

• Command and Control

Page 4: The Kiev Experiment

What did we want to do?

• Belief there was a better way to deliver software

• Incremental development to deliver business value quickly

• Address the rapidly changing business landscape with flexibility in delivery

• Build quality into the solutions

• Deliver the software rapidly, but in a cost effective manner

• Put the fun back into software delivery

Page 5: The Kiev Experiment

How did we start?

• Started with a single team in London

• Initially focused on building the tools, proving the processes and technologies

• Release 1.0 on Friday 13th October 2006

• Very soon we started to look how we could scale

Page 6: The Kiev Experiment

Where are we now?

• 5 years into the delivery

• 2M trades per day

• 100 billions settling per day in all major currencies

• 40 exchanges across EMEA and APAC

• 15 scrum teams/120 people

• Teams in London, Kiev, Hyderabad, Hong Kong and New York

• 9 application components

• Production releases every 2 weeks

Page 7: The Kiev Experiment

How did we get here?

• Inspect & Adapt

• Lots and lots of experiments

• Don’t accept the status quo

• But lets go back to the beginning…….

Page 8: The Kiev Experiment

Evolving the Team

Page 9: The Kiev Experiment

D D

DD

D

D

D

2006

small co-located team

Page 10: The Kiev Experiment

D

D

D

DD

D

D D

DD

D

D

D

2006

small co-located team

2007

Page 11: The Kiev Experiment

D D

DD

D

D

D

D

D

D

DD

D

component teams

2006 2007

small co-located team

Page 12: The Kiev Experiment

D

D

D

D

D

D D

D

DD

D

D

D

A T

A T

A T

D

D

D

co-located feature teams

dispersed feature teams

component teams

2006 2007

small co-located team

2008 2009

Page 13: The Kiev Experiment

DDD

D

D

D

D D

D

D

D D

D

D

D

D

A T

A T

A T

D D

A T

first distributed feature team

co-located feature teams

dispersed feature teams

component teams

2006 2007

small co-located team

2008 2009 2010

Page 14: The Kiev Experiment

DDD

D

D

D

D D

D

D

D D

D D DD

A T

A T

A T

D D

A T

D DD D D

A T

DD DD

A T

many distributed feature teams

first distributed feature team

co-located feature teams

dispersed feature teams

component teams

2006 2007

small co-located team

2008 2009 2010 2011

Page 15: The Kiev Experiment

New York London Kiev Hyderabad Hong Kong

Page 16: The Kiev Experiment

Evolving the Communication

Page 17: The Kiev Experiment

Luxoft teams evolution

4 people0 teams

6 people1 team

21 people3 teams

30 people4 teams

Page 18: The Kiev Experiment

Communication issue

End users

Analysts

Architects

Offshore team 1

Offshore team 2

Offshore team 3

Page 19: The Kiev Experiment

Broadening Communication Bandwidth

Page 20: The Kiev Experiment

Polycom experiment

Communication

flow

PHOTO

Page 21: The Kiev Experiment

Skype and projector

Page 22: The Kiev Experiment

Interactive whiteboards + Skype

Page 23: The Kiev Experiment

TelePresence?

Page 24: The Kiev Experiment

Bridging The Communication Gap

Page 25: The Kiev Experiment

Team intermediary

Onshore team Intermediary Offshore team

Page 26: The Kiev Experiment

Bilateral rotation

Page 27: The Kiev Experiment

Specification By Example

Page 28: The Kiev Experiment

Dedicated architects group

Architects

Offshore team 1

Offshore team 2

Offshore team 3

Page 29: The Kiev Experiment

Joint Architectural Workshops

Page 30: The Kiev Experiment

Joint Architectural Workshops

Page 31: The Kiev Experiment

Tackling technical challenges

Page 32: The Kiev Experiment

Release Management

trunk

Release 1.0 Release 2.0

Page 33: The Kiev Experiment

But how do you scale?

trunk

Release 1.0 Release 2.0

Multiple Teams

Concurrent Projects

Page 34: The Kiev Experiment

ISE

CHIX

TQ

Release 2.0

Release 2.1

Let’s introduce a process

Page 35: The Kiev Experiment
Page 36: The Kiev Experiment
Page 37: The Kiev Experiment
Page 38: The Kiev Experiment

But what if thisnow becomes thehighest priority?

CI needed on each branch

Manual and high coordinated

Waste of delayed integration

Page 39: The Kiev Experiment

How do you address changing feature priority?

How do you allow incremental feature development?

How can you have an agile release function?

Page 40: The Kiev Experiment

trunk

Release X (ISE)

Release Y(CHIX)

This is what we want

ISE

CHIX

TQ

Page 41: The Kiev Experiment

trunk

Release X(ISE)

Release Y (CHIX)

Latent Code Patterns

ISE

CHIX

TQ“One of the most powerful techniques I have used over the last three years is latent code patterns.”

Chris Matts InfoQ – The Last Responsible Moment in Deployment

Page 42: The Kiev Experiment

trunk

Release X (ISE)

Release Y (CHIX)

Latent Code Patterns

ISE

CHIX

TQEvent DrivenFeature Bits or ConfigurationModularity or Dependency Injection

Page 43: The Kiev Experiment

200 commits per day1000 artefacts updated per day1 commit every 5 minutes peak

Keeping It Green

Page 44: The Kiev Experiment

A Single Bad Commit…..

Page 45: The Kiev Experiment

13 hours elapsed time wasted500 hours of effort wasted

A Wasted Day

Page 46: The Kiev Experiment

Coaching

Page 47: The Kiev Experiment

Fast Visible Feedback

• 24 Build Targets • 37 Test Targets