Slide 1

Slide 1 text

3M EUR later Moving a team to become Agile in a Company with Too Much Money XPDays 2015 Thierry de Pauw, @tdpauw

Slide 2

Slide 2 text

Setting the Scene ! New Team ! 8 employees ! New Manager ! and a highly profitable company

Slide 3

Slide 3 text

! Lots of software products ! Lots of programming languages ! No Collective Ownership ! No process for software delivery ! 70% operational work ! Very little communication ! which was visible in the design => Conway's Law

Slide 4

Slide 4 text

"Any organisation that designs a system will inevitably produce a design whose structure is a copy of the organisation's communication structure." Conway's Law

Slide 5

Slide 5 text

2 contractors as technical coaches

Slide 6

Slide 6 text

How did this team transform itself into an Agile software development team ?

Slide 7

Slide 7 text

The easy part - Throw tools at it and Enforce Version Control => Collective Ownership Testing Continuous Integration Code Reviews => Quality Work Coding Standards => Communication

Slide 8

Slide 8 text

2 parallel projects with some business value without real deadline Code Retreat Lots of book reading

Slide 9

Slide 9 text

Mixed results: one project took 3 months the other 1 year

Slide 10

Slide 10 text

Why ? ! involved the customer early ! good backlog preparation => defined release date ! empowered dev team (lots of innovation: CI => CD, automated acc tests) ! released every 2 weeks ! missing deadline

Slide 11

Slide 11 text

"Yes, deadlines are wonderful! They’re the tie-breaker on feature debates. They suck all the excess heat out of the prioritization joust: “Hey, I’d love to get your additional pet feature into the first release, but, you know: THE DEADLINE” " David Heinemeier Hansson, Signal vs Noise blog

Slide 12

Slide 12 text

Still no Collective Ownership

Slide 13

Slide 13 text

How did they improve Collective Ownership ?

Slide 14

Slide 14 text

Manager wants to execute too much projects in parallel

Slide 15

Slide 15 text

“The fastest way to complete two projects that use the same resources is to do them one at a time” Mary and Tom Poppendieck, Lean Software Development

Slide 16

Slide 16 text

Create one Scrum team execute projects one after the other 2 week sprints, Monday: demo, retrospective, planning and design

Slide 17

Slide 17 text

How has this team handled its Technical Debt ?

Slide 18

Slide 18 text

"Technical Debt ensures that the only work that gets done is unplanned work." The Phoenix Project

Slide 19

Slide 19 text

Automate the operational work

Slide 20

Slide 20 text

How did this team improve the flow of work from backlog to production ?

Slide 21

Slide 21 text

! Visualise work: planned and unplanned

Slide 22

Slide 22 text

! Internalise Testing ! Internalise Operations => you build it, you run it ! Continuous Delivery

Slide 23

Slide 23 text

How did this team improve ?

Slide 24

Slide 24 text

By keep doing Retrospectives (which can be difficult at times)

Slide 25

Slide 25 text

Too much change ?

Slide 26

Slide 26 text

"If a system is not improving, the result is not steady state. Instead, because of entropy, organisational performance declines" Mike Rother, Toyota Kata: Managing People for Improvement, Adaptiveness and Superior Results

Slide 27

Slide 27 text

The case of the Product Owner

Slide 28

Slide 28 text

Tried 2 configurations: ! the customer is the PO ✕ ! PO is a team member ✓

Slide 29

Slide 29 text

What is the current situation ?

Slide 30

Slide 30 text

A Team of Software Engineers ! communicating with each other ! defining its own planning ! with a software delivery process ! using Continuous Delivery ! doing small experiments ! allocating 20% to improvements ! having REST-full applications and "micro services" => Other teams are now knocking on the door to learn

Slide 31

Slide 31 text

What made it difficult ? ! the team is isolated in the company in regard to Agility ! demotivated team members ! customers were used to long running projects ! highly profitable company ! heavy process for introducing new tools

Slide 32

Slide 32 text

What made it work ? ! active support of the manager and his manager ! motivation of some team members ! no customer facing applications ! customers saw the difference ! discard some team members that did not fit anymore

Slide 33

Slide 33 text

Hello, I am Thierry de Pauw Software Engineer, Jack of All Trades Agile Technical Coach http://thinkinglabs.io @tdpauw