10 Deploys a Day - A Case Study of Continuous Delivery at Envato
The case for continuous delivery
-
Upload
codecampiasi -
Category
Technology
-
view
25 -
download
3
Transcript of The case for continuous delivery
The case for Continuous DeliveryEngaging the client and demonstrating business value
Laurentiu Mandru
Victor Chircu
25th of April 2015
Continuous...
Integration
Delivery
Deployment
The context
Current landscape: technical
Current landscape: business processes
On the spot, verbal agreements
Information is quickly becoming unclear via word of
mouth or via long e-mail threads
Absent, poorly maintained or adopted strategic
knowledge management tool
Same for the decision register tool
The enhancements
Continuous Delivery Principles
Create a Repeatable, Reliable Process for Releasing Software
Automate Almost Everything
Everybody Is Responsible for the Delivery Process
If It Hurts, Do It More Frequently, and Bring the Pain Forward
The Deployment Pipeline
source: http://continuousdelivery.com/2010/02/continuous-delivery/
The benefits
Bringing value to the team
Less stress
Empowered teams
Increased collaboration
Shared ownership
Bringing business value
Increased confidence in the build once it passes the CD pipeline
Ability to deploy almost any time
Much faster feedback for the technical teams, the same goes for
the business (see your idea in UAT in a few days)
Automated and consistent processes, SLAs and monitoring
enable data-driven decision making (increases client’s ability to
respond, plan and keep ahead of competition)
Bringing business value
Roll back or forward with much greater confidence
Release thoroughly tested patches quickly
Faster access to reports (trends, charts)
Less stress on deployment day for everyone
Cycle time
Bringing business value
Team collaboratively focuses on unique activities that provide
business value
Develops a high trust culture and improves job satisfaction
(higher team stability)
Continuous Delivery enables cheap, low-risk experimentation
allowing opportunities that would otherwise be missed to be
uncovered
Bringing business value
Shifts focus and newly available budget from releasing to research, analysis,
development, testing etc… (cost benefit – shifts or lowers staffing costs without
compromising quality)
4 days
1 day
10 days
3 days
10 days
3 days
Work time
Release time
The Plan
Maturity model – other considerations
Will bring everyone together around one picture
People will feel very engaged and eager to contribute on their
areas
Will learn about other areas and think how could they help
others
Will start a thought process that will last for more than the
duration of the meeting
Next Steps
Start with a walking skeleton
Continuous Improvement
Build
Deploy
Application
Commit Acceptance
Pack
Build
Static Code
Analysis
Unit Tests +
Code Coverage
Deploy
Application
Commit Acceptance
Pack
Build
Static Code
Analysis
Unit Tests +
Code Coverage
Deploy
Application
Acceptance
Tests
Commit Acceptance
Pack
Build
Static Code
Analysis
Unit Tests +
Code Coverage
Dependency
Checks
Deploy
Application
Smoke Tests
Acceptance
Tests
Commit Acceptance
Pack
Build
Static Code
Analysis
Unit Tests +
Code Coverage
Dependency
Checks
Deploy
Application
Update Database
Schema
Smoke Tests
Acceptance
Tests
Commit Acceptance
Pack
Build
Static Code
Analysis
Unit Tests +
Code Coverage
Dependency
Checks
Deploy
Application
Update Database
Schema
Smoke Tests
Acceptance
Tests
Deploy
Application
Update Database
Schema
Smoke Tests
Commit Acceptance UAT
Pack
Build
Static Code
Analysis
Unit Tests +
Code Coverage
Dependency
Checks
Deploy
Application
Update Database
Schema
Smoke Tests
Acceptance
Tests
Deploy
Application
Update Database
Schema
Smoke Tests
Commit Acceptance UAT
Pack
Commit Acceptance UAT
Commit Acceptance UAT
Commit Acceptance UAT
Deploy All
Applications
End to End Tests
Performance
Tests
Staging
Setting business’ expectations
Variable operational costs may ramp-up in the beginning (but
will likely decrease below current values after the wide adoption
of CD)
Acquisition of new hardware and software plus their installation and configuration
Includes trainings and staff exposure to the use and best practices of the new
technologies and tools
Test systems on which to make mistakes and learn from them (will probably be rebuilt)
Consultancy (don’t reinvent the wheel)
Setting business’ expectations
Job coverage while team members are attending training sessions will
decrease
Internal processes have to be amended or devised
Aligning with other groups, work streams and third parties incurs
overhead and as you probably expected will take time to refine
Release management is simple in theory
Setting business’ expectations
Change management
If the client is using older software development methodologies (for example
waterfall), the learning curve is quite steep
The business must maintain existing operations
“Hands-on” team members may mistrust the heavy use of automation
Change equals disruption, make sure to bring clarity to the vision, the risks, the
costs and the benefits
Setting business’ expectations
Also with regards to change management, be aware and accept that the
business’ pressure to deliver visible business value will start to be felt in
a few sprints
Return of investment can be expected only after at least one project is
using the CD practice and successfully goes live)
Questions & answers
The case for Continuous Delivery
Laurentiu Mandru ([email protected])
Victor Chircu ([email protected])
25th of April 2015
Please fill in your evaluation form