SlideShare a Scribd company logo
1 of 48
@paul_boocock paulboocock@codeweavers.net
Continuously Delivering Software
to Big Brands
Step 1.
Introduce myself!
Step 2.
Talk about the fundamentals
Step 3.
How do we do it at Codeweavers?
Continuously Delivering Software to Big Brands
• Some Northern fella…
Academy Leader
Who am I?
Delivering software to a production environment is often
one of the most riskiest and stressful parts of the software
lifecycle.
Delivering Software
How can we:
• Reduce Risk?
• Eliminate Tedious Work?
• Increase Confidence?
For many organisations,
releasing software is:
• Manually Intensive
• Error Prone
• Risky
Big Brands
How long would it take your business to safely deploy a
change that involves one line of code to the production
environment?
Within Six Months?
Question
How long would it take your business to safely deploy a
change that involves one line of code to the production
environment?
Within Three Months?
Question
How long would it take your business to safely deploy a
change that involves one line of code to the production
environment?
Within One Month?
Question
How long would it take your business to safely deploy a
change that involves one line of code to the production
environment?
Within One Week?
Question
How long would it take your business to safely deploy a
change that involves one line of code to the production
environment?
Within One Day?
Question
How long would it take your business to safely deploy a
change that involves one line of code to the production
environment?
Within One Hour?
Question
How long would it take your business to safely deploy a
change that involves one line of code to the production
environment?
Within 30 Minutes?
Question
How long would it take your business to safely deploy a
change that involves one line of code to the production
environment?
Within 15 Minutes?
Question
How long would it take your business to safely deploy a
change that involves one line of code to the production
environment?
How Low?!?
Question
How long would it take your business to safely deploy a
change that involves one line of code to the production
environment?
This is known as your Cycle Time
Question
Lowering Cycle Time is something to strive for
Can be achieved through automation
Creating a reliable, predictable, visible and largely automated
process with well understood risks.
Cycle Time
Technologies
The foundation of what we will talk about today
Vital to have a solid CI environment before moving
onto continuous delivery
Continuous Integration
Source Control
Commit Frequently
Automatic Builds
Automated Tests
Staging Environment
Continuous Integration
Build Fast
Build Every Commit
Make it visible
Source Control
Commit Frequently
Automatic Builds
Automated Tests
Staging Environment
Continuous Integration
Build Fast
Build Every Commit
Make it visible
Unable to commit when build is broken
Run all tests before committing
Never go home on a broken build
Be ready to revert
Don’t comment out failing tests
Take responsibility
The Essentials
CI Build Process
Total Build Time: ~4 Minutes
The build and tests should be fast – go parallel if possible
Test coverage should be high – aim for 75%+
If it breaks we cannot continue
Prevents defects getting to production
Early Feedback
Every commit should be safe enough to be deployed to
production
Usually leads to better code quality and maintainability
Can use feature toggles if required but try to avoid
Every commit can be released
Manual Deployment
Has to be manually tested to ensure everything works
Leads to tense release day
Prone to human error
Take hours assuming everything goes well
Deployment
The alternative…
Automate your deploys
Only human element is to pick the environment and press deploy
Will lead to a repeatable and reliable deployment process
No reliance on the deploy expert at work
Deployment
Isn’t just the way we deploy, it’s essential to our business
• Commit and build
• Deploy to staging environment
• Deploy to live
Continuous Delivery
Every commit should be deployable
So deploy them!
Get early feedback on feature from clients
Ensure any issues can be found earlier
Deploy Frequently
Day Commits
Staging
Deploy
Production
Deploy
Friday 72 181 14
Thursday 126 115 23
Wednesday 134 86 25
Tuesday 94 37 11
Monday 131 62 27
Deliverables are not done until they are at least in
production
Kanban board reflects this
Only done when delivering value to the customer
Done when released
Ensure that everybody is involved in deploying their code
Take ownership of your own work
Fail early / feedback fast so you can fix it quickly
No one person responsible for deployment
Remove the barriers in your teams
Everybody is responsible
So with all these features in place, how does it all stitch
together?
Developer Journey – From Story to Live
Move on to next MMF
(Minimum Marketable Feature)
Developer Journey – From Story to Live
Write some code!
Developer Journey – From Story to Live
Commit Frequently
Developer Journey – From Story to Live
Monitor the build on CI (~4 Minutes)
CruiseControl.NET & Nant scripts automate this
Developer Journey – From Story to Live
If successful deploy to staging (~2 Minutes)
Developer Journey – From Story to Live
If successful deploy to production (~4 Minutes)
Developer Journey – From Story to Live
And we’re live!
If everything goes
smoothly, from
commit to production in
15 minutes
Developer Journey – From Story to Live
Keep things visible
Keep things visible
Started tracking Cycle Time in 2016 to see how long it takes a
code change to go live
Currently averages at 7.32 hours from commit to live
Cycle Time
What does it give us?
Iterate & deliver quickly
Reduces bottlenecks in the delivery pipeline
Increases visibility
Work Sustainably
Continuous Delivery helps towards working with
Sustainable Pace
Sustainable Pace
What does it give us?
Iterate & delivery quickly
Reduce bottlenecks
Increases visibility
Work Sustainably
And occasionally…
Break things (but we can fix them quickly!)
What do our clients get from it?
Continuous Delivery
Jez Humble & David Farley
ISBN13: 978-0-321-60191-9
The Bible

More Related Content

What's hot

Agile at Salesforce From theory to practice, how to be agile at scale
Agile at Salesforce From theory to practice, how to be agile at scaleAgile at Salesforce From theory to practice, how to be agile at scale
Agile at Salesforce From theory to practice, how to be agile at scaleSalesforce Engineering
 
Accelerate agilely with salesforce
Accelerate agilely with salesforceAccelerate agilely with salesforce
Accelerate agilely with salesforceSumma
 
EuregJUG 2016-01-07 - Swimming upstream in the container revolution
EuregJUG 2016-01-07 - Swimming upstream in the container revolutionEuregJUG 2016-01-07 - Swimming upstream in the container revolution
EuregJUG 2016-01-07 - Swimming upstream in the container revolutionBert Jan Schrijver
 
Devoxx BE 2015 - Swimming upstream in the container revolution
Devoxx BE 2015 - Swimming upstream in the container revolutionDevoxx BE 2015 - Swimming upstream in the container revolution
Devoxx BE 2015 - Swimming upstream in the container revolutionBert Jan Schrijver
 
How technical excellence helps in LeSS adoption
How technical excellence helps in LeSS adoptionHow technical excellence helps in LeSS adoption
How technical excellence helps in LeSS adoptionAnton Bevzuk
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integrationdrluckyspin
 
Continuous delivery its not about the technology, its about the people.
Continuous delivery its not about the technology, its about the people.Continuous delivery its not about the technology, its about the people.
Continuous delivery its not about the technology, its about the people.Tomas Riha
 
Continuous Delivery: why ? where to start ? how to scale ?
Continuous Delivery: why ? where to start ? how to scale ?Continuous Delivery: why ? where to start ? how to scale ?
Continuous Delivery: why ? where to start ? how to scale ?Jean-Philippe Briend
 
Continuous Deployment (english)
Continuous Deployment (english)Continuous Deployment (english)
Continuous Deployment (english)Titas Norkūnas
 
NextBuild 2015 - Swimming upstream in the container revolution
NextBuild 2015 - Swimming upstream in the container revolutionNextBuild 2015 - Swimming upstream in the container revolution
NextBuild 2015 - Swimming upstream in the container revolutionBert Jan Schrijver
 
Software Development 2020 - Swimming upstream in the container revolution
Software Development 2020 - Swimming upstream in the container revolutionSoftware Development 2020 - Swimming upstream in the container revolution
Software Development 2020 - Swimming upstream in the container revolutionBert Jan Schrijver
 
DevOPs Transformation Workshop
DevOPs Transformation WorkshopDevOPs Transformation Workshop
DevOPs Transformation WorkshopJules Pierre-Louis
 
#SPSDetroit 2017 improving #DevOps using #microsoft business productivity to...
#SPSDetroit 2017  improving #DevOps using #microsoft business productivity to...#SPSDetroit 2017  improving #DevOps using #microsoft business productivity to...
#SPSDetroit 2017 improving #DevOps using #microsoft business productivity to...Vincent Biret
 
Continuous delivery test strategies
Continuous delivery test strategiesContinuous delivery test strategies
Continuous delivery test strategiesHylke Stapersma
 
The Business Case for DevOps - Justifying the Journey
The Business Case for DevOps - Justifying the JourneyThe Business Case for DevOps - Justifying the Journey
The Business Case for DevOps - Justifying the JourneyXebiaLabs
 
Continuous Integration and Builds
Continuous Integration and BuildsContinuous Integration and Builds
Continuous Integration and BuildsBhavin Javia
 
Continuous business goal validation
Continuous business goal validationContinuous business goal validation
Continuous business goal validationHylke Stapersma
 
Site Reliability Engineering (SRE) - Tech Talk by Keet Sugathadasa
Site Reliability Engineering (SRE) - Tech Talk by Keet SugathadasaSite Reliability Engineering (SRE) - Tech Talk by Keet Sugathadasa
Site Reliability Engineering (SRE) - Tech Talk by Keet SugathadasaKeet Sugathadasa
 
We thought we were doing continuous delivery and then...
We thought we were doing continuous delivery and then... We thought we were doing continuous delivery and then...
We thought we were doing continuous delivery and then... Suzie Prince
 

What's hot (20)

Agile at Salesforce From theory to practice, how to be agile at scale
Agile at Salesforce From theory to practice, how to be agile at scaleAgile at Salesforce From theory to practice, how to be agile at scale
Agile at Salesforce From theory to practice, how to be agile at scale
 
Accelerate agilely with salesforce
Accelerate agilely with salesforceAccelerate agilely with salesforce
Accelerate agilely with salesforce
 
EuregJUG 2016-01-07 - Swimming upstream in the container revolution
EuregJUG 2016-01-07 - Swimming upstream in the container revolutionEuregJUG 2016-01-07 - Swimming upstream in the container revolution
EuregJUG 2016-01-07 - Swimming upstream in the container revolution
 
Devoxx BE 2015 - Swimming upstream in the container revolution
Devoxx BE 2015 - Swimming upstream in the container revolutionDevoxx BE 2015 - Swimming upstream in the container revolution
Devoxx BE 2015 - Swimming upstream in the container revolution
 
How technical excellence helps in LeSS adoption
How technical excellence helps in LeSS adoptionHow technical excellence helps in LeSS adoption
How technical excellence helps in LeSS adoption
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
Continuous delivery its not about the technology, its about the people.
Continuous delivery its not about the technology, its about the people.Continuous delivery its not about the technology, its about the people.
Continuous delivery its not about the technology, its about the people.
 
Continuous Delivery: why ? where to start ? how to scale ?
Continuous Delivery: why ? where to start ? how to scale ?Continuous Delivery: why ? where to start ? how to scale ?
Continuous Delivery: why ? where to start ? how to scale ?
 
Continuous Deployment (english)
Continuous Deployment (english)Continuous Deployment (english)
Continuous Deployment (english)
 
NextBuild 2015 - Swimming upstream in the container revolution
NextBuild 2015 - Swimming upstream in the container revolutionNextBuild 2015 - Swimming upstream in the container revolution
NextBuild 2015 - Swimming upstream in the container revolution
 
Software Development 2020 - Swimming upstream in the container revolution
Software Development 2020 - Swimming upstream in the container revolutionSoftware Development 2020 - Swimming upstream in the container revolution
Software Development 2020 - Swimming upstream in the container revolution
 
DevOPs Transformation Workshop
DevOPs Transformation WorkshopDevOPs Transformation Workshop
DevOPs Transformation Workshop
 
Dev ops
Dev opsDev ops
Dev ops
 
#SPSDetroit 2017 improving #DevOps using #microsoft business productivity to...
#SPSDetroit 2017  improving #DevOps using #microsoft business productivity to...#SPSDetroit 2017  improving #DevOps using #microsoft business productivity to...
#SPSDetroit 2017 improving #DevOps using #microsoft business productivity to...
 
Continuous delivery test strategies
Continuous delivery test strategiesContinuous delivery test strategies
Continuous delivery test strategies
 
The Business Case for DevOps - Justifying the Journey
The Business Case for DevOps - Justifying the JourneyThe Business Case for DevOps - Justifying the Journey
The Business Case for DevOps - Justifying the Journey
 
Continuous Integration and Builds
Continuous Integration and BuildsContinuous Integration and Builds
Continuous Integration and Builds
 
Continuous business goal validation
Continuous business goal validationContinuous business goal validation
Continuous business goal validation
 
Site Reliability Engineering (SRE) - Tech Talk by Keet Sugathadasa
Site Reliability Engineering (SRE) - Tech Talk by Keet SugathadasaSite Reliability Engineering (SRE) - Tech Talk by Keet Sugathadasa
Site Reliability Engineering (SRE) - Tech Talk by Keet Sugathadasa
 
We thought we were doing continuous delivery and then...
We thought we were doing continuous delivery and then... We thought we were doing continuous delivery and then...
We thought we were doing continuous delivery and then...
 

Similar to Continuous Delivery Software Big Brands

One trunk one pipeline one truth
One trunk one pipeline one truthOne trunk one pipeline one truth
One trunk one pipeline one truthPaul Boocock
 
Continuous everything
Continuous everythingContinuous everything
Continuous everythingTEST Huddle
 
Agile & DevOps - It's all about project success
Agile & DevOps - It's all about project successAgile & DevOps - It's all about project success
Agile & DevOps - It's all about project successAdam Stephensen
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous IntegrationPreetam Palwe
 
The Continuous delivery value - Funaro
The Continuous delivery value - FunaroThe Continuous delivery value - Funaro
The Continuous delivery value - FunaroCodemotion
 
The Continuous delivery Value @ codemotion 2014
The Continuous delivery Value @ codemotion 2014The Continuous delivery Value @ codemotion 2014
The Continuous delivery Value @ codemotion 2014David Funaro
 
Continuous delivery @ hi q
Continuous delivery @ hi qContinuous delivery @ hi q
Continuous delivery @ hi qTomas Riha
 
Continuous Delivery Testing @HiQ
Continuous Delivery Testing @HiQContinuous Delivery Testing @HiQ
Continuous Delivery Testing @HiQTomas Riha
 
Continuous, continuous, continuous
Continuous, continuous, continuousContinuous, continuous, continuous
Continuous, continuous, continuousMichele Orselli
 
Enterprise Devops Presentation @ Magentys Seminar London May 15 2014
Enterprise Devops Presentation @ Magentys Seminar London May 15 2014Enterprise Devops Presentation @ Magentys Seminar London May 15 2014
Enterprise Devops Presentation @ Magentys Seminar London May 15 2014Jwooldridge
 
Introducing Continuous Integration Using Vsts
Introducing Continuous Integration Using VstsIntroducing Continuous Integration Using Vsts
Introducing Continuous Integration Using VstsMohamed Samy
 
Continuous delivery its not about the technology, its about the people. @pipe...
Continuous delivery its not about the technology, its about the people. @pipe...Continuous delivery its not about the technology, its about the people. @pipe...
Continuous delivery its not about the technology, its about the people. @pipe...Tomas Riha
 
Five (easy?) Steps Towards Continuous Delivery
Five (easy?) Steps Towards Continuous DeliveryFive (easy?) Steps Towards Continuous Delivery
Five (easy?) Steps Towards Continuous DeliveryEberhard Wolff
 
Continuous Delivery (The newest)
Continuous Delivery (The newest)Continuous Delivery (The newest)
Continuous Delivery (The newest)Eduards Sizovs
 
DevOps - Understanding Core Concepts
DevOps - Understanding Core ConceptsDevOps - Understanding Core Concepts
DevOps - Understanding Core ConceptsNitin Bhide
 
How To Ensure Quality With Automation
How To Ensure Quality With AutomationHow To Ensure Quality With Automation
How To Ensure Quality With AutomationMindbowser Inc
 
Continuous delivery is more than dev ops
Continuous delivery is more than dev opsContinuous delivery is more than dev ops
Continuous delivery is more than dev opsAgile Montréal
 
Dev ops culture and practices
Dev ops culture  and  practicesDev ops culture  and  practices
Dev ops culture and practicesAnkaraCloud
 

Similar to Continuous Delivery Software Big Brands (20)

One trunk one pipeline one truth
One trunk one pipeline one truthOne trunk one pipeline one truth
One trunk one pipeline one truth
 
Continuous Integration vs Continuous Delivery vs Continuous Deployment
Continuous Integration vs Continuous Delivery vs Continuous Deployment Continuous Integration vs Continuous Delivery vs Continuous Deployment
Continuous Integration vs Continuous Delivery vs Continuous Deployment
 
Continuous everything
Continuous everythingContinuous everything
Continuous everything
 
Agile & DevOps - It's all about project success
Agile & DevOps - It's all about project successAgile & DevOps - It's all about project success
Agile & DevOps - It's all about project success
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
The Continuous delivery value - Funaro
The Continuous delivery value - FunaroThe Continuous delivery value - Funaro
The Continuous delivery value - Funaro
 
The Continuous delivery Value @ codemotion 2014
The Continuous delivery Value @ codemotion 2014The Continuous delivery Value @ codemotion 2014
The Continuous delivery Value @ codemotion 2014
 
Continuous delivery @ hi q
Continuous delivery @ hi qContinuous delivery @ hi q
Continuous delivery @ hi q
 
Continuous Delivery Testing @HiQ
Continuous Delivery Testing @HiQContinuous Delivery Testing @HiQ
Continuous Delivery Testing @HiQ
 
Continuous, continuous, continuous
Continuous, continuous, continuousContinuous, continuous, continuous
Continuous, continuous, continuous
 
Enterprise Devops Presentation @ Magentys Seminar London May 15 2014
Enterprise Devops Presentation @ Magentys Seminar London May 15 2014Enterprise Devops Presentation @ Magentys Seminar London May 15 2014
Enterprise Devops Presentation @ Magentys Seminar London May 15 2014
 
Introducing Continuous Integration Using Vsts
Introducing Continuous Integration Using VstsIntroducing Continuous Integration Using Vsts
Introducing Continuous Integration Using Vsts
 
Continuous delivery its not about the technology, its about the people. @pipe...
Continuous delivery its not about the technology, its about the people. @pipe...Continuous delivery its not about the technology, its about the people. @pipe...
Continuous delivery its not about the technology, its about the people. @pipe...
 
Five (easy?) Steps Towards Continuous Delivery
Five (easy?) Steps Towards Continuous DeliveryFive (easy?) Steps Towards Continuous Delivery
Five (easy?) Steps Towards Continuous Delivery
 
Continuous Delivery (The newest)
Continuous Delivery (The newest)Continuous Delivery (The newest)
Continuous Delivery (The newest)
 
DevOps - Understanding Core Concepts
DevOps - Understanding Core ConceptsDevOps - Understanding Core Concepts
DevOps - Understanding Core Concepts
 
How To Ensure Quality With Automation
How To Ensure Quality With AutomationHow To Ensure Quality With Automation
How To Ensure Quality With Automation
 
Continuous delivery is more than dev ops
Continuous delivery is more than dev opsContinuous delivery is more than dev ops
Continuous delivery is more than dev ops
 
Dev ops culture and practices
Dev ops culture  and  practicesDev ops culture  and  practices
Dev ops culture and practices
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous Delivery
 

More from Paul Boocock

The Toyota Way in Action
The Toyota Way in ActionThe Toyota Way in Action
The Toyota Way in ActionPaul Boocock
 
Creating an agile, adaptive, and forward thinking company
Creating an agile, adaptive, and forward thinking companyCreating an agile, adaptive, and forward thinking company
Creating an agile, adaptive, and forward thinking companyPaul Boocock
 
Writing RESTful Web Services
Writing RESTful Web ServicesWriting RESTful Web Services
Writing RESTful Web ServicesPaul Boocock
 
Writing Tests Effectively
Writing Tests EffectivelyWriting Tests Effectively
Writing Tests EffectivelyPaul Boocock
 
Codeweavers Development - The Toyota Way
Codeweavers Development - The Toyota WayCodeweavers Development - The Toyota Way
Codeweavers Development - The Toyota WayPaul Boocock
 
Releasing the dopamine
Releasing the dopamineReleasing the dopamine
Releasing the dopaminePaul Boocock
 
Bringing the cloud into the classroom
Bringing the cloud into the classroomBringing the cloud into the classroom
Bringing the cloud into the classroomPaul Boocock
 

More from Paul Boocock (9)

The Toyota Way in Action
The Toyota Way in ActionThe Toyota Way in Action
The Toyota Way in Action
 
Creating an agile, adaptive, and forward thinking company
Creating an agile, adaptive, and forward thinking companyCreating an agile, adaptive, and forward thinking company
Creating an agile, adaptive, and forward thinking company
 
Writing RESTful Web Services
Writing RESTful Web ServicesWriting RESTful Web Services
Writing RESTful Web Services
 
Writing Tests Effectively
Writing Tests EffectivelyWriting Tests Effectively
Writing Tests Effectively
 
Codeweavers Development - The Toyota Way
Codeweavers Development - The Toyota WayCodeweavers Development - The Toyota Way
Codeweavers Development - The Toyota Way
 
Releasing the dopamine
Releasing the dopamineReleasing the dopamine
Releasing the dopamine
 
Clean Code Pt I
Clean Code Pt IClean Code Pt I
Clean Code Pt I
 
Habits
HabitsHabits
Habits
 
Bringing the cloud into the classroom
Bringing the cloud into the classroomBringing the cloud into the classroom
Bringing the cloud into the classroom
 

Recently uploaded

How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 

Recently uploaded (20)

DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 

Continuous Delivery Software Big Brands

  • 2. Step 1. Introduce myself! Step 2. Talk about the fundamentals Step 3. How do we do it at Codeweavers? Continuously Delivering Software to Big Brands
  • 3. • Some Northern fella… Academy Leader Who am I?
  • 4. Delivering software to a production environment is often one of the most riskiest and stressful parts of the software lifecycle. Delivering Software How can we: • Reduce Risk? • Eliminate Tedious Work? • Increase Confidence? For many organisations, releasing software is: • Manually Intensive • Error Prone • Risky
  • 6. How long would it take your business to safely deploy a change that involves one line of code to the production environment? Within Six Months? Question
  • 7. How long would it take your business to safely deploy a change that involves one line of code to the production environment? Within Three Months? Question
  • 8. How long would it take your business to safely deploy a change that involves one line of code to the production environment? Within One Month? Question
  • 9. How long would it take your business to safely deploy a change that involves one line of code to the production environment? Within One Week? Question
  • 10. How long would it take your business to safely deploy a change that involves one line of code to the production environment? Within One Day? Question
  • 11. How long would it take your business to safely deploy a change that involves one line of code to the production environment? Within One Hour? Question
  • 12. How long would it take your business to safely deploy a change that involves one line of code to the production environment? Within 30 Minutes? Question
  • 13. How long would it take your business to safely deploy a change that involves one line of code to the production environment? Within 15 Minutes? Question
  • 14. How long would it take your business to safely deploy a change that involves one line of code to the production environment? How Low?!? Question
  • 15. How long would it take your business to safely deploy a change that involves one line of code to the production environment? This is known as your Cycle Time Question
  • 16. Lowering Cycle Time is something to strive for Can be achieved through automation Creating a reliable, predictable, visible and largely automated process with well understood risks. Cycle Time
  • 18. The foundation of what we will talk about today Vital to have a solid CI environment before moving onto continuous delivery Continuous Integration
  • 19. Source Control Commit Frequently Automatic Builds Automated Tests Staging Environment Continuous Integration Build Fast Build Every Commit Make it visible
  • 20.
  • 21.
  • 22. Source Control Commit Frequently Automatic Builds Automated Tests Staging Environment Continuous Integration Build Fast Build Every Commit Make it visible
  • 23. Unable to commit when build is broken Run all tests before committing Never go home on a broken build Be ready to revert Don’t comment out failing tests Take responsibility The Essentials
  • 24. CI Build Process Total Build Time: ~4 Minutes
  • 25. The build and tests should be fast – go parallel if possible Test coverage should be high – aim for 75%+ If it breaks we cannot continue Prevents defects getting to production Early Feedback
  • 26. Every commit should be safe enough to be deployed to production Usually leads to better code quality and maintainability Can use feature toggles if required but try to avoid Every commit can be released
  • 27. Manual Deployment Has to be manually tested to ensure everything works Leads to tense release day Prone to human error Take hours assuming everything goes well Deployment
  • 28. The alternative… Automate your deploys Only human element is to pick the environment and press deploy Will lead to a repeatable and reliable deployment process No reliance on the deploy expert at work Deployment
  • 29. Isn’t just the way we deploy, it’s essential to our business • Commit and build • Deploy to staging environment • Deploy to live Continuous Delivery
  • 30. Every commit should be deployable So deploy them! Get early feedback on feature from clients Ensure any issues can be found earlier Deploy Frequently Day Commits Staging Deploy Production Deploy Friday 72 181 14 Thursday 126 115 23 Wednesday 134 86 25 Tuesday 94 37 11 Monday 131 62 27
  • 31. Deliverables are not done until they are at least in production Kanban board reflects this Only done when delivering value to the customer Done when released
  • 32. Ensure that everybody is involved in deploying their code Take ownership of your own work Fail early / feedback fast so you can fix it quickly No one person responsible for deployment Remove the barriers in your teams Everybody is responsible
  • 33. So with all these features in place, how does it all stitch together? Developer Journey – From Story to Live
  • 34. Move on to next MMF (Minimum Marketable Feature) Developer Journey – From Story to Live
  • 35. Write some code! Developer Journey – From Story to Live
  • 36. Commit Frequently Developer Journey – From Story to Live
  • 37. Monitor the build on CI (~4 Minutes) CruiseControl.NET & Nant scripts automate this Developer Journey – From Story to Live
  • 38. If successful deploy to staging (~2 Minutes) Developer Journey – From Story to Live
  • 39. If successful deploy to production (~4 Minutes) Developer Journey – From Story to Live
  • 40. And we’re live! If everything goes smoothly, from commit to production in 15 minutes Developer Journey – From Story to Live
  • 43. Started tracking Cycle Time in 2016 to see how long it takes a code change to go live Currently averages at 7.32 hours from commit to live Cycle Time
  • 44. What does it give us? Iterate & deliver quickly Reduces bottlenecks in the delivery pipeline Increases visibility Work Sustainably
  • 45. Continuous Delivery helps towards working with Sustainable Pace Sustainable Pace
  • 46. What does it give us? Iterate & delivery quickly Reduce bottlenecks Increases visibility Work Sustainably And occasionally… Break things (but we can fix them quickly!)
  • 47. What do our clients get from it?
  • 48. Continuous Delivery Jez Humble & David Farley ISBN13: 978-0-321-60191-9 The Bible