The Kiev Experiment Evolving Agile Partnerships Who are we? Simon - - PowerPoint PPT Presentation

the kiev experiment
SMART_READER_LITE
LIVE PREVIEW

The Kiev Experiment Evolving Agile Partnerships Who are we? Simon - - PowerPoint PPT Presentation

The Kiev Experiment Evolving Agile Partnerships Who are we? Simon Ogle Alexander Kikhtenko Peter Thomas Where did we start? Existing monolithic mainframe application Quarterly deliveries 6 week testing cycles


slide-1
SLIDE 1

The Kiev Experiment

Evolving Agile Partnerships

slide-2
SLIDE 2

Who are we?

  • Simon Ogle
  • Alexander Kikhtenko
  • Peter Thomas
slide-3
SLIDE 3

Where did we start?

  • Existing monolithic mainframe application
  • Quarterly deliveries
  • 6 week testing cycles
  • Offshore delivery teams
  • Waterfall process
  • Command and control
slide-4
SLIDE 4

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
  • But the rest of the organisation very sceptical about our delivery approach
slide-5
SLIDE 5

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
slide-6
SLIDE 6

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
slide-7
SLIDE 7

Evolving the team Evolving the relationship

slide-8
SLIDE 8

D D D D D D D

2006

small co-located team

slide-9
SLIDE 9

D D D D D D D D D D D D D

2006

small co-located team

2007

slide-10
SLIDE 10

D D D D D D D D D D D D D

component teams

2006 2007

small co-located team

slide-11
SLIDE 11

D D D D D D D D D D 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

slide-12
SLIDE 12

D D D 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

slide-13
SLIDE 13

D D D D D D D D D D D D D D D D A T A T A T D D A T D D D D D A T D D D D 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

slide-14
SLIDE 14

New York London Kiev Hyderabad Hong Kong

slide-15
SLIDE 15

Evolving the communication

slide-16
SLIDE 16

Communication issue

End users Analysts Architects Offshore team 1 Offshore team 2 Offshore team 3

slide-17
SLIDE 17

Broadening communication bandwidth

slide-18
SLIDE 18

Polycom experiment

Communication flow

PHOTO

slide-19
SLIDE 19

Skype and projector

slide-20
SLIDE 20

Interactive whiteboards + Skype

slide-21
SLIDE 21

TelePresence?

slide-22
SLIDE 22

Bridging the communication gap

slide-23
SLIDE 23

Team intermediary

Onshore team Intermediary Offshore team

slide-24
SLIDE 24

Bilateral rotation

slide-25
SLIDE 25

Specification by example

slide-26
SLIDE 26

SBE over Smartboard

slide-27
SLIDE 27

Dedicated architects group

Architects Offshore team 1 Offshore team 2 Offshore team 3

slide-28
SLIDE 28

Joint architecture workshops

slide-29
SLIDE 29

Joint architecture workshops

slide-30
SLIDE 30

Jan 2009 Small pieces of technical tasks May 2009 Complex technical tasks Dec 2009 User stories refined by SME May 2010 User stories refined in collaboration with end users

Luxoft teams evolution

4 people 0 teams 6 people 1 team 21 people 3 teams 30 people 4 teams

slide-31
SLIDE 31

Tackling technical challenges

slide-32
SLIDE 32

Release management

trunk Release 1.0 Release 2.0

slide-33
SLIDE 33

But how do you scale?

trunk Release 1.0 Release 2.0 Multiple teams Concurrent projects

slide-34
SLIDE 34

ISE CHIX TQ Release 2.0 Release 2.1

Let’s introduce a process

slide-35
SLIDE 35
slide-36
SLIDE 36
slide-37
SLIDE 37
slide-38
SLIDE 38

But what if this now becomes the highest priority? CI needed on each branch Manual and high coordinated Waste of delayed integration

slide-39
SLIDE 39

How do you address changing feature priority? How do you allow incremental feature development? How can you have an agile release function?

slide-40
SLIDE 40

trunk Release X (ISE) Release Y (CHIX)

This is what we want

ISE CHIX TQ

slide-41
SLIDE 41

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

slide-42
SLIDE 42

trunk Release X (ISE) Release Y (CHIX)

Latent Code Patterns

ISE CHIX TQ

Event Driven Feature Bits or Configuration Modularity or Dependency Injection

slide-43
SLIDE 43

200 commits per day 1000 artefacts updated per day 1 commit every 5 minutes peak

Keeping it green

slide-44
SLIDE 44

A single bad commit …

slide-45
SLIDE 45

13 hours elapsed time wasted 500 hours of effort wasted

A wasted day

slide-46
SLIDE 46

Coaching

slide-47
SLIDE 47

Fast visible feedback

  • 24 Build Targets
  • 37 Test Targets
slide-48
SLIDE 48

So how did we get here?

  • Protect the team and empower them
  • Go and see
  • Embrace “muddling through”
  • Don’t accept the status quo – have courage
  • Follow through with change – be tenacious
  • Respect and trust people
  • Invest in the engineering
  • Stop worrying about big – make it small