Continuous delivery from the trenches

58
Continuous Delivery from the Trenches By @leenasn

Transcript of Continuous delivery from the trenches

Continuous Delivery from the Trenches

By @leenasn

Agenda● Tale of two customers

● Overview of the Process

● Our learnings

Story 1

http://www.multunus.com/portfolio/micro-loan-processing-platform/

Originator & Underwriter

http://www.multunus.com/portfolio/micro-loan-processing-platform/

Loan Processing

http://www.multunus.com/portfolio/micro-loan-processing-platform/

Payment Processing

Manual + Some Automation

First release of the product

- Close to 4 million worth of loans till date

- An average of 4 loan officers

http://www.multunus.com/portfolio/micro-loan-processing-platform/

Passive monitoring and alerting

http://www.multunus.com/portfolio/micro-loan-processing-platform/

Originator - Work in Progress

Story 2

Stats

Released to 1 clinic Automated the Device Setup

Extended to Linux Media Players

How?

Team● 1-3 pair of programmers

● One Product Manager

● One Business Analysts/Tester

● Works closely with the business team

● Every commit gets deployed to staging

● Production updates multiple times a week

● Gradual rollout for major features

● Weekly production pushes for Android Apps

● Slowly moving to a Continuous Deployment for Webapps

Continuous Delivery

“Continuous Delivery is a software development discipline where

you build software in such a way that the software can be

released to production at any time.”

http://martinfowler.com/bliki/ContinuousDelivery.html

Focus on Delivering Business Value

Team understanding the users

Software development is a human activity

Two pillars

● Respect for people

● Continuous Improvement

Technical Practices

Continuous Integration

“Continuous integration (CI) is the practice, in software

engineering, of merging all developer working copies to a shared

mainline several times a day.”

Mainline Development

Feature Toggles

Test Driven Development

Automated Deployments

Deployment Pipeline

Non-Technical Practices

Collaboration, Communication

Pairing

Timeboxing instead of Estimating

http://www.multunus.com/blog/2013/04/estimating-to-timeboxing-our-journey/

User in User stories

Retrospectives and Cause Effect Analysis

Quick overview of Tools

CI/CD

Monitoring

Deployment

https://github.com/multunus/chef-repo

Static Analysis

Communication

Challenges

Speed vs Quality

The “managers”

Absence Blindness

Summary

Done = Released

Work in small batches

Quick overview

@leenasn / [email protected]

Office hours http://bit.ly/leena-officehours

Playbook http://bit.ly/our-playbook

References