ScalingUpCD

From CitconWiki
Revision as of 03:18, 11 March 2013 by Mrako (talk | contribs) (Created page with "== Introduction == This session was a brief description of a successful transformation from an 8 hour build to a 5 minute reliable feedback cycle. The product has more than ...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

Introduction

This session was a brief description of a successful transformation from an 8 hour build to a 5 minute reliable feedback cycle.

The product has more than 16 million lines of code and more than 350 developers.

The transformation from a monolithic, strongly coupled system architecture took almost two years to merge into a decoupled component build where the feedback loops were taken down to an average of five minutes.

Scaling up

Envision

All change starts from an idea. You should start with a crazy-enough idea, one that you barely believe even yourself.

For this project the vision was simply smaller deliverables, less bugs and better feedback.

Enable

The bigger the organization the harder it is to introduce new ideas and changes. Earn your respect by enabling something that supports the crazy vision.

In this project we created a tool that understands the network of dependencies between components and with that information can create a parallel build with the correct build order.

Communicate

Once you have enabled something - tell the people that you know will support you and spread the word.

In this project we received constant support from one Scrum Team that helped us elaborate and develop the tools and simultaneously started spreading the word within the development organization.

Deliver Now

The less you change people's daily working practices, the better. In a long and determinate project it is best to deliver as often as possible so that people get used to the changes while you are creating new.

Iterate

Once you have delivered, go back to envisioning and enabling.