SlideShare a Scribd company logo
Practices, mechanisms and
organisational models
that can be applied to any
software project, big or
small, old or new.
Continuous
Delivery in a
Legacy
Environment
- Technical Architect at Planday
- Lead consultant at Lean Software
- 16+ Years in software
development, based in London &
Madrid
Peter Marshall
MAIL
info@leansoftwareservices.com
TWITTER
@petemar5hall
LINKEDIN
https://www.linkedin.com/in/petedmarshall
How many people are practicing
continuous delivery or have a devops
team/culture?
How long would it take your organisation to build
and safely deploy a change that involved just one
small feature or a single line of code?
Agile gave us..
“Continuous
delivery is about
focusing on
technical
excellence”
“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.”
Martin Fowler, May 30, 2013
Key
Characteristics
1. YESTERDAY
Your software is
deployable
throughout its
lifecycle
Key Characteristics
1. YESTERDAY
Your team
prioritises
keeping the
software
deployable over
working on new
features
Key Characteristics
You can perform push-button deployments of any version of your
software to any environment on demand
Key Characteristics
Anybody can get
fast, automated
feedback on the
state of their
systems any time
somebody makes a
change to them
Key Characteristics
A quick look at
The Leading
Workforce
Collaboration
Solution
for shift based
businesses
Driven by simple,
powerful and beautifully
designed SaaS technology
Healthy & organic growth for 11 years
Investment from Creandum in 2014 ($3.75 million)
Global expansion
Founded
in 2004
70+ people
HQ in Copenhagen
Offices in
Oslo
Aalborg
Hanoi
London
New York
Founded in 2004
1. YESTERDAY
“Conquer the world in
the next 12 months!”
which translated to:
“Move into the USA with the
next 6-12 months”
“Be ahead of the game,
always”
“maintain our reputation of
producing quality software”
vs.
“to be able to deliver software quick, easily,
and with very low risk of failure”
“to be able to scale our systems very quickly”
Technical Goals
Web Portal
Models & Controllers
Business Logic
Data Access
Salary
Scheduler
Messaging
Services
Punchclock
REST
Sign Up Android iOS
Planday Monolith
Mobile
Databases
Supplementary Web Apps .net
“Always have at least some
idea of where you are now, and
where you want to go, and
share that with the team,
organisation, and even
customers.”
Where do you
start?
First pass.
Build Agent & Devel
The delivery pipeline
Pre commit tests
Code review
PO/UX review
Branch / Merge
Build
Unit tests
Contract tests
Component tests
Coverage
Static analysis
Component
performance
End to end
component tests
NFR tests
Exploratory Test
performance testing
Story sign off /
Demos
NFRs
Analytics
Monitoring
Production tests
canary or blue /
green release
CI Environments
Developer
Local
Pre-Production Production
Virtualised Full stack environments
Commit Auto-Deploy Promote Release
Build Pipeline:
There can be multiple pipelines, usually per system, should execute in minutes
Commit:
The commit can include changes to the infrastructure, database, or application code.
Outputs:
Software, infrastructure and configuration
Environment manifests
Release notes
stabilise
Remove the
fear. Remove unnecessary
human intervention from
the process.
Remove the magic.
Put simple continuous
integration in place, with build
monitors.
Put a simple deployment
mechanism in place.
Make it easy to clone, build, and
commit code.
first pass
Build Deployment ?
Second pass.
Improve our knowledge of the
state and behaviour of the system.
Simple environment provisioning.
Lets run some tests.
Logging and monitoring.
“A good, easily accessible
event & error monitoring
system is essential for anyone
releasing software. Build an
early warning system into your
environment!”
“Understanding your systems
steady state allows you to react
quickly to any deviation”
second pass
Build & Test
Deployment &
Provisioning Logging & Monitoring
Infrastructure - Environment provisioning
Back to the
business goal.
We had stabilised the system, made it easy to work with, and
now we had to win the business!
Put continuous delivery into ACTION!
Deliver whatever, whenever.
Scale quickly and safely.
Can we do something with our current monolith?
What about microservices, they
could solve all our problems, right?
we have a lot of user experience experiments
to do, we needed to support quick small
experiments. quick releasing.
Would modern UI frameworks be better to
work with than aged .net technologies?
As a business we knew
we would win the game
by focusing on user
experience, over making
or improving existing
features
How we did it
the
strangler
pattern
lipstick on the pig
Web Portal
Models & Controllers
Business Logic
Data Access
Salary
Scheduler
Messaging
Services
Punchclock
REST
Sign Up Android iOS
Planday Monolith
Mobile
Databases
Supplementary Web Apps
Existing Planday Monolith
Domain
Data Mapping /
Access
Salary
Scheduler
Messaging
Services
API
WebServer:IIS
Android iOS
Web Applications
Mobile
Windows
Databases
New Front End Modules (JS using REACT)
Punchclock Sign UpPortal
Existing Front End
broke direct dependencies
Introduced package
management
Introduced load
balancing
Introduced caching at the
application layer
technology geared to
rapid developmentincreased logging,
monitoring & analysis to
cover JS, Server,
Database, &
Infrastructure
adopted domain driven
development
feature toggling
Domain + BL
Data Mapping +
Access
Salary
Scheduler
Messaging
Services
API
WebServer:IIS
Android iOS
Mobile
Windows
Databases
Client side front end modules
Punchclock Sign UpPortal
Integration
Partners
Caching
Client side
Old Monolith
Load
Balancers
Backup
Servers
VM Hosts
Production &
Development
Database
Servers
Storage
Servers
Development
Servers
Production
Servers
Repurposed our infrastructure
Physical
Virtualisation
Organisation
How we restructured the
CPH Development Team
Hanoi Development Team
Teams working very much in silos.
Unaligned.
No process.
No management.
No attachment to the business.
Poor communication.
Before
Design Team
Product Team
Product Teams
Web Mobile API
Supporting Teams
Dev Ops Tech Management
All teams are cross functional with end-
to-end responsibility for one or more
parts of the system.
We use a mixture of scrum and
Kanban. Some teams use sprints,
others use flow based systems.
Common elements occur regardless
such as daily standups, estimation
sessions, & planning sessions.
Our architecture and deployment
strategy allow teams to release on their
own schedule with minimal impact to
others.
Virtual teams appear as and when the
need arises.
After
Marketing
The truth
is in
the data
Tech
Values
We value overall simplicity over localised simplicity.
We value software developed with a focus on
operation and maintenance in production.
Deliver in small batches
Don't do loads of things
Development process
Build > Deploy > Learn cycle
Product requirements are identified by a Product Group and then built by one or more product
teams
Initiatives that support long term business goal
Hypothesis driven with an aim to be proven by specific measurements
Feature toggling mechanisms allow experimentation, exploration and controlled feature launches
Master
Feature
Build the feature Toggle it on or off Measure the impact
smaller,
more
frequent
deliveries
Where are
we now?
Build Agent & Devel
Technical Foundations
Pre commit tests
Code review
PO/UX review
Branch / Merge
Build
Unit tests
Contract tests
Component tests
Coverage
Static analysis
Component
performance
End to end
component tests
NFR tests
Exploratory Test
performance testing
Story sign off /
Demos
NFRs
Analytics
Monitoring
Production tests
canary or blue /
green release
CI Environments
Developer
Local
Pre-Production Production
Virtualised Full stack environments
Commit Deploy Promote Release
Build Pipeline:
There can be multiple pipelines, usually per system
Commit:
The commit can include changes to the infrastructure, database, or application code.
Outputs:
Software, infrastructure and configuration
Environment manifests
Release notes
Learnings
We know we will fail sometimes
Simplicity is key
Common & share vision
Strong leadership
Thank
you!
TWITTER
@petemar5hall
Agile Consultant & Technical
Architect @planday
Peter Marshall
fiveMAIL
info@leansoftwareservices.com
LINKEDIN
https://www.linkedin.com/in/
petedmarshall

More Related Content

PPT
Stc 2016 regional-round-ppt-automation testing with devops in agile methodolgy
PPTX
Continuous Delivery & Testing Madrid AfterTest
PDF
Continuous testing & devops with @petemar5hall
PDF
The Role of Testing in DevOps
PPTX
DevOps Tactical Adoption Theory: Continuous Testing
PPTX
DevOps Summit 2015 Presentation: Continuous Testing At the Speed of DevOps
PDF
Continuous Testing: A Key to DevOps Success
PPTX
Webinar: DevOps challenges facing QA
Stc 2016 regional-round-ppt-automation testing with devops in agile methodolgy
Continuous Delivery & Testing Madrid AfterTest
Continuous testing & devops with @petemar5hall
The Role of Testing in DevOps
DevOps Tactical Adoption Theory: Continuous Testing
DevOps Summit 2015 Presentation: Continuous Testing At the Speed of DevOps
Continuous Testing: A Key to DevOps Success
Webinar: DevOps challenges facing QA

What's hot (20)

PDF
Continuous testing for devops
PPTX
DevOps Overview in my own words
PPTX
An introduction to DevOps
PPTX
DevOps - Overview - One of the Top Trends in IT Industry
PPTX
Introduction to DevOps
PDF
DevOps overview 2019-04-13 Nelkinda April Meetup
PPTX
DevOps – The Evolution of Agile
PDF
Continuous Testing - What QA means for DevOps
PPTX
CI/CT/CD and Role of Quality Engineering
PDF
Engineering DevOps to meet Business Goals
PPTX
#ATATalk - Episode 1 : Session on Selenium Exceptions by Pallavi Sharma
PPTX
DevOps Introduction
PPTX
(Agile) engineering best practices - What every project manager should know
PPTX
CI-CD and DevOps with Ruby
PPTX
Continuous Testing in Vegas
PPTX
An introduction to DevOps
PPTX
The Evolution of Test Automation for DevOps
PDF
¿Qué es DevOps y por qué es importante en el Ciclo de Software? por michelada.io
PDF
How to implement DevOps in your Organization
PPTX
DevOps Masterclass Bundle
Continuous testing for devops
DevOps Overview in my own words
An introduction to DevOps
DevOps - Overview - One of the Top Trends in IT Industry
Introduction to DevOps
DevOps overview 2019-04-13 Nelkinda April Meetup
DevOps – The Evolution of Agile
Continuous Testing - What QA means for DevOps
CI/CT/CD and Role of Quality Engineering
Engineering DevOps to meet Business Goals
#ATATalk - Episode 1 : Session on Selenium Exceptions by Pallavi Sharma
DevOps Introduction
(Agile) engineering best practices - What every project manager should know
CI-CD and DevOps with Ruby
Continuous Testing in Vegas
An introduction to DevOps
The Evolution of Test Automation for DevOps
¿Qué es DevOps y por qué es importante en el Ciclo de Software? por michelada.io
How to implement DevOps in your Organization
DevOps Masterclass Bundle
Ad

Similar to Pete Marshall - casmadrid2015 - Continuous Delivery in Legacy Environments (20)

PDF
Agile and continuous delivery – How IBM Watson Workspace is built
PDF
ROI & Business Value of CI, CD, DevOps, DevSecOps, & Microservices
PPTX
ROOTS2011 Continuous Delivery
PPTX
Continuous Delivery
PDF
The Evolution from Agile to DevOps
PDF
Slides from "Taking an Holistic Approach to Product Quality"
PPTX
From XP and Continuous Integration to DevOps
PDF
DevOps: Automate all the things
PDF
An evening with... DevOps
PDF
Digital Disruption with DevOps - Reference Architecture Overview
PDF
DevOps Transformation: Learnings and Best Practices
PDF
Using Lean Thinking to identify and address Delivery Pipeline bottlenecks
PPTX
How to go from waterfall app dev to secure agile development in 2 weeks
PDF
Using Lean Thinking to Identify and Address Delivery Pipeline Bottlenecks
PPTX
Modernize Development with Agile Engineering Practices
PDF
Key items for a digital enterprise
PDF
Business Value of CI, CD, & DevOps(Sec)
PDF
The DevOps Revolution And Beyond...
PDF
Modern Engineering Practices - Building Blocks for the New Digital Economy (A...
PDF
Monktoberfest Fast Delivery
Agile and continuous delivery – How IBM Watson Workspace is built
ROI & Business Value of CI, CD, DevOps, DevSecOps, & Microservices
ROOTS2011 Continuous Delivery
Continuous Delivery
The Evolution from Agile to DevOps
Slides from "Taking an Holistic Approach to Product Quality"
From XP and Continuous Integration to DevOps
DevOps: Automate all the things
An evening with... DevOps
Digital Disruption with DevOps - Reference Architecture Overview
DevOps Transformation: Learnings and Best Practices
Using Lean Thinking to identify and address Delivery Pipeline bottlenecks
How to go from waterfall app dev to secure agile development in 2 weeks
Using Lean Thinking to Identify and Address Delivery Pipeline Bottlenecks
Modernize Development with Agile Engineering Practices
Key items for a digital enterprise
Business Value of CI, CD, & DevOps(Sec)
The DevOps Revolution And Beyond...
Modern Engineering Practices - Building Blocks for the New Digital Economy (A...
Monktoberfest Fast Delivery
Ad

Recently uploaded (20)

PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PPT
Introduction Database Management System for Course Database
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PPTX
Operating system designcfffgfgggggggvggggggggg
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
Digital Strategies for Manufacturing Companies
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PDF
top salesforce developer skills in 2025.pdf
PPTX
history of c programming in notes for students .pptx
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PPTX
Odoo POS Development Services by CandidRoot Solutions
PPTX
ISO 45001 Occupational Health and Safety Management System
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
Introduction Database Management System for Course Database
Wondershare Filmora 15 Crack With Activation Key [2025
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
Operating system designcfffgfgggggggvggggggggg
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Design an Analysis of Algorithms I-SECS-1021-03
Design an Analysis of Algorithms II-SECS-1021-03
Digital Strategies for Manufacturing Companies
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
VVF-Customer-Presentation2025-Ver1.9.pptx
top salesforce developer skills in 2025.pdf
history of c programming in notes for students .pptx
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
2025 Textile ERP Trends: SAP, Odoo & Oracle
Navsoft: AI-Powered Business Solutions & Custom Software Development
Odoo POS Development Services by CandidRoot Solutions
ISO 45001 Occupational Health and Safety Management System

Pete Marshall - casmadrid2015 - Continuous Delivery in Legacy Environments

  • 1. Practices, mechanisms and organisational models that can be applied to any software project, big or small, old or new. Continuous Delivery in a Legacy Environment
  • 2. - Technical Architect at Planday - Lead consultant at Lean Software - 16+ Years in software development, based in London & Madrid Peter Marshall MAIL info@leansoftwareservices.com TWITTER @petemar5hall LINKEDIN https://www.linkedin.com/in/petedmarshall
  • 3. How many people are practicing continuous delivery or have a devops team/culture?
  • 4. How long would it take your organisation to build and safely deploy a change that involved just one small feature or a single line of code?
  • 6. “Continuous delivery is about focusing on technical excellence”
  • 7. “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.” Martin Fowler, May 30, 2013
  • 9. 1. YESTERDAY Your software is deployable throughout its lifecycle Key Characteristics
  • 10. 1. YESTERDAY Your team prioritises keeping the software deployable over working on new features Key Characteristics
  • 11. You can perform push-button deployments of any version of your software to any environment on demand Key Characteristics
  • 12. Anybody can get fast, automated feedback on the state of their systems any time somebody makes a change to them Key Characteristics
  • 14. The Leading Workforce Collaboration Solution for shift based businesses Driven by simple, powerful and beautifully designed SaaS technology
  • 15. Healthy & organic growth for 11 years Investment from Creandum in 2014 ($3.75 million) Global expansion Founded in 2004
  • 16. 70+ people HQ in Copenhagen Offices in Oslo Aalborg Hanoi London New York
  • 17. Founded in 2004 1. YESTERDAY “Conquer the world in the next 12 months!” which translated to: “Move into the USA with the next 6-12 months” “Be ahead of the game, always” “maintain our reputation of producing quality software”
  • 18. vs. “to be able to deliver software quick, easily, and with very low risk of failure” “to be able to scale our systems very quickly” Technical Goals
  • 19. Web Portal Models & Controllers Business Logic Data Access Salary Scheduler Messaging Services Punchclock REST Sign Up Android iOS Planday Monolith Mobile Databases Supplementary Web Apps .net
  • 20. “Always have at least some idea of where you are now, and where you want to go, and share that with the team, organisation, and even customers.”
  • 22. Build Agent & Devel The delivery pipeline Pre commit tests Code review PO/UX review Branch / Merge Build Unit tests Contract tests Component tests Coverage Static analysis Component performance End to end component tests NFR tests Exploratory Test performance testing Story sign off / Demos NFRs Analytics Monitoring Production tests canary or blue / green release CI Environments Developer Local Pre-Production Production Virtualised Full stack environments Commit Auto-Deploy Promote Release Build Pipeline: There can be multiple pipelines, usually per system, should execute in minutes Commit: The commit can include changes to the infrastructure, database, or application code. Outputs: Software, infrastructure and configuration Environment manifests Release notes stabilise
  • 23. Remove the fear. Remove unnecessary human intervention from the process. Remove the magic.
  • 24. Put simple continuous integration in place, with build monitors. Put a simple deployment mechanism in place. Make it easy to clone, build, and commit code.
  • 26. Second pass. Improve our knowledge of the state and behaviour of the system.
  • 27. Simple environment provisioning. Lets run some tests. Logging and monitoring.
  • 28. “A good, easily accessible event & error monitoring system is essential for anyone releasing software. Build an early warning system into your environment!”
  • 29. “Understanding your systems steady state allows you to react quickly to any deviation”
  • 30. second pass Build & Test Deployment & Provisioning Logging & Monitoring Infrastructure - Environment provisioning
  • 31. Back to the business goal. We had stabilised the system, made it easy to work with, and now we had to win the business! Put continuous delivery into ACTION!
  • 32. Deliver whatever, whenever. Scale quickly and safely.
  • 33. Can we do something with our current monolith? What about microservices, they could solve all our problems, right? we have a lot of user experience experiments to do, we needed to support quick small experiments. quick releasing. Would modern UI frameworks be better to work with than aged .net technologies?
  • 34. As a business we knew we would win the game by focusing on user experience, over making or improving existing features
  • 37. Web Portal Models & Controllers Business Logic Data Access Salary Scheduler Messaging Services Punchclock REST Sign Up Android iOS Planday Monolith Mobile Databases Supplementary Web Apps
  • 38. Existing Planday Monolith Domain Data Mapping / Access Salary Scheduler Messaging Services API WebServer:IIS Android iOS Web Applications Mobile Windows Databases New Front End Modules (JS using REACT) Punchclock Sign UpPortal Existing Front End
  • 39. broke direct dependencies Introduced package management Introduced load balancing Introduced caching at the application layer technology geared to rapid developmentincreased logging, monitoring & analysis to cover JS, Server, Database, & Infrastructure adopted domain driven development feature toggling
  • 40. Domain + BL Data Mapping + Access Salary Scheduler Messaging Services API WebServer:IIS Android iOS Mobile Windows Databases Client side front end modules Punchclock Sign UpPortal Integration Partners Caching Client side Old Monolith
  • 43. CPH Development Team Hanoi Development Team Teams working very much in silos. Unaligned. No process. No management. No attachment to the business. Poor communication. Before Design Team Product Team
  • 44. Product Teams Web Mobile API Supporting Teams Dev Ops Tech Management All teams are cross functional with end- to-end responsibility for one or more parts of the system. We use a mixture of scrum and Kanban. Some teams use sprints, others use flow based systems. Common elements occur regardless such as daily standups, estimation sessions, & planning sessions. Our architecture and deployment strategy allow teams to release on their own schedule with minimal impact to others. Virtual teams appear as and when the need arises. After Marketing
  • 47. We value overall simplicity over localised simplicity. We value software developed with a focus on operation and maintenance in production. Deliver in small batches Don't do loads of things
  • 48. Development process Build > Deploy > Learn cycle Product requirements are identified by a Product Group and then built by one or more product teams Initiatives that support long term business goal Hypothesis driven with an aim to be proven by specific measurements Feature toggling mechanisms allow experimentation, exploration and controlled feature launches Master Feature Build the feature Toggle it on or off Measure the impact
  • 51. Build Agent & Devel Technical Foundations Pre commit tests Code review PO/UX review Branch / Merge Build Unit tests Contract tests Component tests Coverage Static analysis Component performance End to end component tests NFR tests Exploratory Test performance testing Story sign off / Demos NFRs Analytics Monitoring Production tests canary or blue / green release CI Environments Developer Local Pre-Production Production Virtualised Full stack environments Commit Deploy Promote Release Build Pipeline: There can be multiple pipelines, usually per system Commit: The commit can include changes to the infrastructure, database, or application code. Outputs: Software, infrastructure and configuration Environment manifests Release notes
  • 52. Learnings We know we will fail sometimes Simplicity is key Common & share vision Strong leadership
  • 53. Thank you! TWITTER @petemar5hall Agile Consultant & Technical Architect @planday Peter Marshall fiveMAIL info@leansoftwareservices.com LINKEDIN https://www.linkedin.com/in/ petedmarshall