The case for continuous delivery

34

Transcript of The case for continuous delivery

Page 1: The case for continuous delivery
Page 2: The case for continuous delivery

The case for Continuous DeliveryEngaging the client and demonstrating business value

Laurentiu Mandru

Victor Chircu

25th of April 2015

Page 3: The case for continuous delivery

Continuous...

Integration

Delivery

Deployment

Page 4: The case for continuous delivery

The context

Page 5: The case for continuous delivery

Current landscape: technical

Page 6: The case for continuous delivery

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

Page 7: The case for continuous delivery

The enhancements

Page 8: The case for continuous delivery

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

Page 9: The case for continuous delivery

The Deployment Pipeline

source: http://continuousdelivery.com/2010/02/continuous-delivery/

Page 10: The case for continuous delivery

The benefits

Page 11: The case for continuous delivery

Bringing value to the team

Less stress

Empowered teams

Increased collaboration

Shared ownership

Page 12: The case for continuous delivery

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)

Page 13: The case for continuous delivery

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

Page 14: The case for continuous delivery

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

Page 15: The case for continuous delivery

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

Page 16: The case for continuous delivery

The Plan

Page 17: The case for continuous delivery
Page 18: The case for continuous delivery

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

Page 19: The case for continuous delivery

Next Steps

Start with a walking skeleton

Continuous Improvement

Page 20: The case for continuous delivery

Build

Deploy

Application

Commit Acceptance

Pack

Page 21: The case for continuous delivery

Build

Static Code

Analysis

Unit Tests +

Code Coverage

Deploy

Application

Commit Acceptance

Pack

Page 22: The case for continuous delivery

Build

Static Code

Analysis

Unit Tests +

Code Coverage

Deploy

Application

Acceptance

Tests

Commit Acceptance

Pack

Page 23: The case for continuous delivery

Build

Static Code

Analysis

Unit Tests +

Code Coverage

Dependency

Checks

Deploy

Application

Smoke Tests

Acceptance

Tests

Commit Acceptance

Pack

Page 24: The case for continuous delivery

Build

Static Code

Analysis

Unit Tests +

Code Coverage

Dependency

Checks

Deploy

Application

Update Database

Schema

Smoke Tests

Acceptance

Tests

Commit Acceptance

Pack

Page 25: The case for continuous delivery

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

Page 26: The case for continuous delivery

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

Page 27: The case for continuous delivery

Commit Acceptance UAT

Commit Acceptance UAT

Commit Acceptance UAT

Deploy All

Applications

End to End Tests

Performance

Tests

Staging

Page 28: The case for continuous delivery

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)

Page 29: The case for continuous delivery

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

Page 30: The case for continuous delivery

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

Page 31: The case for continuous delivery

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)

Page 32: The case for continuous delivery
Page 33: The case for continuous delivery

Questions & answers

Page 34: The case for continuous delivery

The case for Continuous Delivery

Laurentiu Mandru ([email protected])

Victor Chircu ([email protected])

25th of April 2015

Please fill in your evaluation form