the kiev experiment
play

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


  1. The Kiev Experiment Evolving Agile Partnerships

  2. Who are we? • Simon Ogle • Alexander Kikhtenko • Peter Thomas

  3. Where did we start? • Existing monolithic mainframe application • Quarterly deliveries • 6 week testing cycles • Offshore delivery teams • Waterfall process • Command and control

  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

  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 13 th October 2006 • Very soon we started to look how we could scale

  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

  7. Evolving the team Evolving the relationship

  8. D D D D D D D 2006 small co-located team

  9. D D D D D D D D D D D D D 2006 2007 small co-located team

  10. D D D D D D D D D D D D D 2006 2007 small co-located component team teams

  11. D D D D D D A T D D D D D A T D D D D D A T 2006 2007 2008 2009 small co-located component co-located dispersed team teams feature teams feature teams

  12. D D D D D D A T D D D D D D D A T A T D D D D D A T 2006 2007 2008 2009 2010 small co-located component co-located dispersed first distributed team teams feature teams feature teams feature team

  13. D D D D D D D D D D A T A T D D D D D D D D D A T A T D D D D D D D D A T A T 2006 2007 2008 2009 2010 2011 small co-located component co-located dispersed first distributed many distributed team teams feature teams feature teams feature team feature teams

  14. New York London Kiev Hyderabad Hong Kong

  15. Evolving the communication

  16. Communication issue Offshore team 1 Analysts End users Offshore team 2 Architects Offshore team 3

  17. Broadening communication bandwidth

  18. Polycom experiment PHOTO Communication flow

  19. Skype and projector

  20. Interactive whiteboards + Skype

  21. TelePresence?

  22. Bridging the communication gap

  23. Team intermediary Onshore team Intermediary Offshore team

  24. Bilateral rotation

  25. Specification by example

  26. SBE over Smartboard

  27. Dedicated architects group Offshore team 1 Offshore Architects team 2 Offshore team 3

  28. Joint architecture workshops

  29. Joint architecture workshops

  30. Luxoft teams evolution 30 people 4 teams 21 people 3 teams 6 people 1 team May 2010 User stories Dec 2009 4 people 0 teams refined in User stories collaboration refined by SME May 2009 with end users Complex technical tasks Jan 2009 Small pieces of technical tasks

  31. Tackling technical challenges

  32. Release management Release 1.0 Release 2.0 trunk

  33. But how do you scale? Release 1.0 Release 2.0 trunk Multiple Concurrent teams projects

  34. Let’s introduce a process Release 2.1 Release 2.0 ISE CHIX TQ

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

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

  37. This is what we want Release X Release Y (ISE) (CHIX) ISE CHIX trunk TQ

  38. Latent Code Patterns Release X Release Y (ISE) (CHIX) ISE CHIX trunk 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

  39. Latent Code Patterns Release X Release Y (ISE) (CHIX) ISE CHIX trunk TQ Event Driven Feature Bits or Configuration Modularity or Dependency Injection

  40. Keeping it green 200 commits per day 1000 artefacts updated per day 1 commit every 5 minutes peak

  41. A single bad commit …

  42. A wasted day 13 hours elapsed time wasted 500 hours of effort wasted

  43. Coaching

  44. Fast visible feedback • 24 Build Targets • 37 Test Targets

  45. 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

Recommend


More recommend