The case for continuous delivery

Post on 18-Jul-2015

25 views 3 download

Tags:

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 (laurentiu.mandru@endava.com)

Victor Chircu (victor.chircu@endava.com)

25th of April 2015

Please fill in your evaluation form