We are just at the beginning of adoption of Continuous Delivery but the steps undertaken so far already yielded wide-ranging and diverse changes in development culture, technical improvements, efficiency and quality.
Teamplay is a group inside of Siemens Healthcare delivering a platform and associated applications that deliver healthcare solutions based on data from Siemens, and other manufacturer's, imaging devices in hospitals.
Teamplay work on medical devices. Regulation and internal processes are complex and not designed to work with high rates of change. Finding how to make change safely and efficiently, while still establishing fast, high-quality feedback is always challenging.
We asked Dave Farley to help teamplay with a variety of aspects of our software development approach. Our fundamental goals were to improve the safety, stability and efficiency of our development process.
Continuous Delivery Ltd was engaged to help them improve their approach to software engineering and adopt Continuous Delivery as an approach. This was achieved through a mix of consultancy, workshops, training and mentoring. We helped teamplay to introduce a wide range of practices that helped them improve their delivery:
The automation of our deployment and sanity-tests brought a very significant improvement in the stability of the product.
We approached these changes through a mixture of training, coaching and thinking more broadly in terms of culture-change. Each team had some training in the ideas and philosophy of Continuous Delivery. This improved the understanding of what was being asked of everyone to achieve this kind of change.
The changes in the teamplay team were wide-ranging and diverse. There were development-culture improvements, driven by learning to work more collaboratively. Technical improvements, based on working with with better feedback and efficiency improvements based on working with higher-quality and more efficient feedback mechanisms, delivered through wide adoption or deployment pipelines.
Different teams in teamplay are adopting our Continuous Delivery Model at different rates. Some teams are practicing TDD and Pairing as their regular mode of operation. Some teams are applying BDD to selected features. It is a gradual process where different teams adopt different methodologies at different rates. Some teams move faster, some slower depending on many technical and human factors.
After applying TDD and Pairing to a new feature on a single team in a code base area where lots of production bugs were discovered in the past, we were able to deliver that feature without any production bugs.
For self-measurement we created an internal CD Maturity Model that enables a team to self-assess themselves regarding the adoption of the CD methods outlined in the paper. The teams took up the self-assessments on a monthly basis, which proved useful to keep the envisioned development process at the top of people's mind and do small steps each month to iterate towards it.