Your SlideShare is downloading. ×
0
Continuous Delivery
Daily releases to production
Anders Lundsgård
Peter Sandberg
Engineers, Scania Connected Services
Our ...
Continuous Delivery
Deployment
Release
Quality
Do you have the guts to deploy
to production 50 times a day!?
This is Agile!
© Bestoutcome Ltd 2014
This is Agile!
Weeks
Months!
Prod
Last Mile
http://www.perforce.com/continuous-delivery-report
Why Continuous Delivery?
Major measure for Continuous Delivery
CYCLE TIME
”How long would it take your organization to
deploy a change [to producti...
Smartphone access
to driver/vehicle
data
Scania Connected Services
FMP
Communication
Servers
Web Servers
Monitoring
Report...
Key koncepts for CD
• Test Driven Development
• Deployment Pipeline
• Continuous Integration
• Configuration Management
• ...
Technical patterns
QA in Continuous Delivery
Test Driven Development
Design Code Test
CodeTest
Design
Deploy
Deploy
Code in to VCS Manual work
Prod
Prod
Test Pyramid
Unit Tests
Integration Tests
GUI
Tests
Manual
”inspection”
Test Ice Cream?
Unit
Tests
Integration Tests
GUI Tests
Manual Regression
Test movement
Communication via error reports Communication face to face
Tests executed in desktop
environment
Tests into ...
Deployment Pipeline
Deployment Pipeline
Commit Stage Acceptance Stage Load Stage Deploy Stage
Compile Unit Test Analysis Packaging Acc.
Deploy...
Deployment Pipeline
Commit Stage Acceptance Stage Load Stage Deploy Stage
Compile Unit Test Analysis Packaging Acc.
Deploy...
NO IDE Build, Test or Deploy!!
Continuous Integration
• Maintain a Single Source Repository
• Automate the Build
• Make Your Build Self-Testing
• Everyon...
Configuration Management
R&D IT
Config file here
and there…
Click here and
there …
First script #1
and then script
#2…
Fai...
Feature Branch
Dev Branch #1
Main
Release Branch #1
Dev Branch #2
Feature Toggle
Main
GUI
Business
Logic
Database
Feature Toggles
A/B tests
A/B tests
20%
of users
Always On
DB
Web1 Web2
Load balancer
1. Add new schema
2. Write to both schemas
3. Backfill historical data
4. Read from new schema
...
Cultural change
1. Tear the walls
2. Empower the engineers
DevOps
Operations people are rewarded for things
not going wrong.
Developers are rewarded for getting
releases out.
And th...
If I had an idea last night…
…I coded it up this morning…
…I got it on the site this afternoon…
and tomorrow I got data.
I...
At the end of the day it is the person
who writes the code who is responsible
for whether or not it works.
Are we making
Is Prod
doing well?
Code
metrics
Implemented CD i 2 months!
The Software Revolution Behind LinkedIn’s Gushing Profits
- We wanted to be at the point where…...
Resources
ISBN-13:978-0321601919
www.continuousdelivery.eu
Contact
• Peter Sandberg
– peter.sandberg@scania.com
• Anders Lundsgård
– anders.lundsgard@scania.com
Continuous Delivery - Scania Connected Services - NFI Testforum 2014
Continuous Delivery - Scania Connected Services - NFI Testforum 2014
Continuous Delivery - Scania Connected Services - NFI Testforum 2014
Continuous Delivery - Scania Connected Services - NFI Testforum 2014
Continuous Delivery - Scania Connected Services - NFI Testforum 2014
Continuous Delivery - Scania Connected Services - NFI Testforum 2014
Continuous Delivery - Scania Connected Services - NFI Testforum 2014
Continuous Delivery - Scania Connected Services - NFI Testforum 2014
Upcoming SlideShare
Loading in...5
×

Continuous Delivery - Scania Connected Services - NFI Testforum 2014

1,270

Published on

Presentation about Continuous Delivery at Scania Connected Services by Anders Lundsgård and Peter Sandberg. The presentation was held in Stockholm the 9th of April on NFI Testfourm 2014.

3 Comments
3 Likes
Statistics
Notes
No Downloads
Views
Total Views
1,270
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
15
Comments
3
Likes
3
Embeds 0
No embeds

No notes for slide
  • What is CD?How to do CD?Who does CD?
  • Testers not responsible for quality.Everyone is responsible for quality!
  • http://my.gartner.com/portal/server.pt?open=512&objID=202&&PageID=5553&mode=2&in_hi_userid=2&cached=true&resId=2310016&ref=AnalystProfile
  • Transcript of "Continuous Delivery - Scania Connected Services - NFI Testforum 2014"

    1. 1. Continuous Delivery Daily releases to production Anders Lundsgård Peter Sandberg Engineers, Scania Connected Services Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. from ”the agile manifesto”
    2. 2. Continuous Delivery Deployment Release Quality
    3. 3. Do you have the guts to deploy to production 50 times a day!?
    4. 4. This is Agile! © Bestoutcome Ltd 2014
    5. 5. This is Agile! Weeks Months! Prod Last Mile
    6. 6. http://www.perforce.com/continuous-delivery-report
    7. 7. Why Continuous Delivery?
    8. 8. Major measure for Continuous Delivery CYCLE TIME ”How long would it take your organization to deploy a change [to production] that involves just one single line of code? Do you do this on a repeatable, reliable basis?” Mary and Tom Poppendieck Implementing Lean Software Development
    9. 9. Smartphone access to driver/vehicle data Scania Connected Services FMP Communication Servers Web Servers Monitoring Report Email and SMS remiders/ alarms Fleet Management Portal Remote Diagnosis Current status message every minute Web Service Interface FMP MPMP
    10. 10. Key koncepts for CD • Test Driven Development • Deployment Pipeline • Continuous Integration • Configuration Management • Feature Toggles • A/B tests • Always On • Tear the walls Cultural changes Technical patterns
    11. 11. Technical patterns
    12. 12. QA in Continuous Delivery
    13. 13. Test Driven Development Design Code Test CodeTest Design Deploy Deploy Code in to VCS Manual work Prod Prod
    14. 14. Test Pyramid Unit Tests Integration Tests GUI Tests Manual ”inspection”
    15. 15. Test Ice Cream? Unit Tests Integration Tests GUI Tests Manual Regression
    16. 16. Test movement Communication via error reports Communication face to face Tests executed in desktop environment Tests into the Deployment Pipeline GUI-oriented tests Tests towards service layer Test specific dev environment Same dev environment as developers Separated test teams Embedded testers
    17. 17. Deployment Pipeline
    18. 18. Deployment Pipeline Commit Stage Acceptance Stage Load Stage Deploy Stage Compile Unit Test Analysis Packaging Acc. Deploy Acc. Tests Exploraty Tests Load Tests Perf Tests Staging Deploy Prod Deploy ... .. …..
    19. 19. Deployment Pipeline Commit Stage Acceptance Stage Load Stage Deploy Stage Compile Unit Test Analysis Packaging Acc. Deploy Acc. Tests Exploraty Tests Load Tests Perf Tests Staging Deploy Prod Deploy ... .. …..
    20. 20. NO IDE Build, Test or Deploy!!
    21. 21. Continuous Integration • Maintain a Single Source Repository • Automate the Build • Make Your Build Self-Testing • Everyone Commits To the Mainline Every Day • Every Commit Should Build the Mainline on an Integration Machine • Keep the Build Fast • Test in a Clone of the Production Environment • Make it Easy for Anyone to Get the Latest Executable • Everyone can see what's happening • Automate Deployment
    22. 22. Configuration Management R&D IT Config file here and there… Click here and there … First script #1 and then script #2… Failover this and that… Register key here and there … First alias #1 and then alias #2… Release plans Single source of truth VCS
    23. 23. Feature Branch Dev Branch #1 Main Release Branch #1 Dev Branch #2
    24. 24. Feature Toggle Main GUI Business Logic Database
    25. 25. Feature Toggles
    26. 26. A/B tests
    27. 27. A/B tests 20% of users
    28. 28. Always On
    29. 29. DB Web1 Web2 Load balancer 1. Add new schema 2. Write to both schemas 3. Backfill historical data 4. Read from new schema 5. Remove writes to old schema 6. Remove old schema
    30. 30. Cultural change 1. Tear the walls 2. Empower the engineers
    31. 31. DevOps Operations people are rewarded for things not going wrong. Developers are rewarded for getting releases out. And those two goals are in conflict. Jez Humble: co-author of the book: Continuous Delivery
    32. 32. If I had an idea last night… …I coded it up this morning… …I got it on the site this afternoon… and tomorrow I got data. In a couple of weeks I’ve learned as much as I would have in over a year in a regular system. http://www.infoq.com/presentations/Facebook-Moving-Fast-at-Scale
    33. 33. At the end of the day it is the person who writes the code who is responsible for whether or not it works.
    34. 34. Are we making Is Prod doing well? Code metrics
    35. 35. Implemented CD i 2 months! The Software Revolution Behind LinkedIn’s Gushing Profits - We wanted to be at the point where… as soon as they were checking in their code… it was qualified and releasable… - We were able to scale the team to hundreds of developers. - It was a pretty big risk the business took, to say to its engineering team, you’re going to run across a bridge and burn it behind you. 2011 Kevin Scott
    36. 36. Resources ISBN-13:978-0321601919 www.continuousdelivery.eu
    37. 37. Contact • Peter Sandberg – peter.sandberg@scania.com • Anders Lundsgård – anders.lundsgard@scania.com
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×