Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
State of Continuous Delivery
in 2015
Pavel Chunyayev
Minsk, 15-5-2015
Our common goal
• Give customer what they want
• When they want
• At the lowest costs possible
• Quickly, cheaply and reli...
One in six IT projects have an average cost overrun of 200% and a
schedule overrun of 70%. (Harvard Business Review, 2011)...
Software delivery process
Design Develop Test Operate
Last mile problem
• Streamlined value delivery from left to right
• We need to remove the wall of separation between devel...
Unreleased changes = Waste
Released changes = Value
Our highest priority is to satisfy the
customer through early and
continuous delivery
of valuable software.
The Agile Mani...
Continuous Delivery overview
Inception
•Business idea
•Needed immediately
•Should generate
money
Plan
•Create user stories...
Principles of CD
• Create repeatable and reliable process for releasing software
• Keep everything in the source control
•...
Repeatable and reliable process
Everything in the source control
Automate (almost) everything
Build quality in
‘Done’ means released
Everybody is responsible for the
release process
Implement continuous
improvements
Principles of CD
• Create repeatable and reliable process for releasing software
• Keep everything in the source control
•...
Continuous Delivery vs
Continuous Deployment
• Possibility to aggregate changes in preproduction
• Possibility to deploy e...
Quality > Speed
CD != Tools
CD != CI++
CD = modern application lifecycle
management
CD = Changing the way we deliver
IT services (software) to our users
How long would it take your
organization to deploy a change that
involves just one single line of code?
Do you do this on a repeatable,
reliable basis?
Does each deployment pass
through the same stages?
How to start?
• Agile development
• Continuous Integration
• Infrastructure automation
• Automated testing
• Automated dep...
Agile
Inception Plan Develop Integrate Testing Release Operate
Agile
CD builds up on Agile
Agile is the best approach to
develop software
CD is the best approach to deliver
software
Inception Plan Develop Integrate Testing Release Operate
Agile
DevOps
Inception Plan Develop Integrate Testing Release Operate
DevOps
DevOps - Unified IT, synchronized
technically and highly
collaborative
Continuous Delivery – What
DevOps - How
Conway’s law
Organizations which design systems ... are constrained to produce
designs which are copies of the communicati...
Build teams that look like the
architecture you want
CALMS
Culture
Automation
Lean
Measurement
Sharing
Automate!
• Build
• DB schema changes
• Tests
• Infrastructure
• Deployments
• Monitoring
Release != deployment
Deployment = boring repeatable
Release = marketing
CD pipeline = process model
Process perspective
• Workflow
• Each step – repeatable
• No defects go further
• No local optimizations that degrade over...
Lean
Inception Plan Develop Integrate Testing Release Operate
Lean
Lean software development
• Deliver as fast as possible
• Build quality in
• Optimize for the whole
• Eliminate waste
• Am...
Waste
• Inventory (work waiting)
• Defects
• Handovers
• Manual setups
• Manual tests
• Manual deployments
• Slow internal...
Most delay in product
development is a wait time
Shorten cycle time
• Waterfall – months
• Agile (Iterative development) – weeks
• Kanban – days
• CD - hours
Quickly validate business ideas
Lean startup/enterprise
1. Make a guess based on experience and observation.
2. Propose an explanation - hypothesis.
3. Ma...
The most important skill to
master?
The ability to improve
Yesterday’s best practice is
tomorrow’s anti-pattern
Overview
Inception Plan Develop Integrate Testing Release Operate
Lean
DevOps
Agile
Some big shifts happening
• Testing in production
• Microservices
• Containers/Cloud
• Role of QA/System administrator
Key takeaways
• Create repeatable and reliable process
for releasing software
• Automate (almost) everything
• Build quali...
Prochain SlideShare
Chargement dans…5
×
Prochain SlideShare
Action Guides for the Enterprise Architect
Suivant
Télécharger pour lire hors ligne et voir en mode plein écran

0

Partager

Télécharger pour lire hors ligne

State of continuous delivery in 2015 - Minsk 15-5-2015

Télécharger pour lire hors ligne

The presentation gives high-level overview of most important aspects of implementing Continuous Delivery comparing CD with Agile, DevOps and Lean software development.

  • Soyez le premier à aimer ceci

State of continuous delivery in 2015 - Minsk 15-5-2015

  1. 1. State of Continuous Delivery in 2015 Pavel Chunyayev Minsk, 15-5-2015
  2. 2. Our common goal • Give customer what they want • When they want • At the lowest costs possible • Quickly, cheaply and reliably implement ideas for customers and receive feedback.
  3. 3. One in six IT projects have an average cost overrun of 200% and a schedule overrun of 70%. (Harvard Business Review, 2011) 75% of business and IT executives anticipate their software projects will fail. (Geneca, 2011) Fewer than a third of all projects were successfully completed on time and on budget over the past year. (Standish Group, 2013)
  4. 4. Software delivery process Design Develop Test Operate
  5. 5. Last mile problem • Streamlined value delivery from left to right • We need to remove the wall of separation between development/QA and Production. OperateLast mile
  6. 6. Unreleased changes = Waste Released changes = Value
  7. 7. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. The Agile Manifesto
  8. 8. Continuous Delivery overview Inception •Business idea •Needed immediately •Should generate money Plan •Create user stories •Prioritize •Refined •Estimated Develop •Scrum sprints •Create branch •Develop •Code review Integrate •Commit •Trigger pipeline •Build •Unit testing •Integration testing Testing •Journey across environments •Acceptance •Capacity •Security •Manual/exploratory Release •Automated •Push-button •Zero-downtime •Canary Operate •Monitoring •Validation •Money generation •Disposal
  9. 9. Principles of CD • Create repeatable and reliable process for releasing software • Keep everything in the source control • Automate (almost) everything • Build quality in • Redefine ‘Done’ to mean released • Make everybody responsible for the release process • Implement continuous improvements
  10. 10. Repeatable and reliable process
  11. 11. Everything in the source control
  12. 12. Automate (almost) everything
  13. 13. Build quality in
  14. 14. ‘Done’ means released
  15. 15. Everybody is responsible for the release process
  16. 16. Implement continuous improvements
  17. 17. Principles of CD • Create repeatable and reliable process for releasing software • Keep everything in the source control • Automate (almost) everything • Build quality in • Redefine ‘Done’ to mean released • Make everybody responsible for the release process • Implement continuous improvements
  18. 18. Continuous Delivery vs Continuous Deployment • Possibility to aggregate changes in preproduction • Possibility to deploy every change/commit
  19. 19. Quality > Speed
  20. 20. CD != Tools CD != CI++
  21. 21. CD = modern application lifecycle management
  22. 22. CD = Changing the way we deliver IT services (software) to our users
  23. 23. How long would it take your organization to deploy a change that involves just one single line of code?
  24. 24. Do you do this on a repeatable, reliable basis?
  25. 25. Does each deployment pass through the same stages?
  26. 26. How to start? • Agile development • Continuous Integration • Infrastructure automation • Automated testing • Automated deployments • Shared tools and procedures • Shared goals and communication
  27. 27. Agile Inception Plan Develop Integrate Testing Release Operate Agile
  28. 28. CD builds up on Agile
  29. 29. Agile is the best approach to develop software
  30. 30. CD is the best approach to deliver software
  31. 31. Inception Plan Develop Integrate Testing Release Operate Agile
  32. 32. DevOps Inception Plan Develop Integrate Testing Release Operate DevOps
  33. 33. DevOps - Unified IT, synchronized technically and highly collaborative
  34. 34. Continuous Delivery – What DevOps - How
  35. 35. Conway’s law Organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations. —Melvin Conway If the architecture of the system and the architecture of the organization are at odds, the architecture of the organization wins. —Ruth Malan
  36. 36. Build teams that look like the architecture you want
  37. 37. CALMS Culture Automation Lean Measurement Sharing
  38. 38. Automate! • Build • DB schema changes • Tests • Infrastructure • Deployments • Monitoring
  39. 39. Release != deployment
  40. 40. Deployment = boring repeatable Release = marketing
  41. 41. CD pipeline = process model
  42. 42. Process perspective • Workflow • Each step – repeatable • No defects go further • No local optimizations that degrade overall performance • Increase the flow, analyze and optimize • Reduce the batch size • Improve at the bottleneck Inception Plan Develop Integrate Testing Release Operate
  43. 43. Lean Inception Plan Develop Integrate Testing Release Operate Lean
  44. 44. Lean software development • Deliver as fast as possible • Build quality in • Optimize for the whole • Eliminate waste • Amplify learning • Decide as late as possible • Empower the team
  45. 45. Waste • Inventory (work waiting) • Defects • Handovers • Manual setups • Manual tests • Manual deployments • Slow internal communication
  46. 46. Most delay in product development is a wait time
  47. 47. Shorten cycle time • Waterfall – months • Agile (Iterative development) – weeks • Kanban – days • CD - hours
  48. 48. Quickly validate business ideas
  49. 49. Lean startup/enterprise 1. Make a guess based on experience and observation. 2. Propose an explanation - hypothesis. 3. Make a prediction from the hypothesis. 4. Test the prediction. 5. Repeat!
  50. 50. The most important skill to master?
  51. 51. The ability to improve
  52. 52. Yesterday’s best practice is tomorrow’s anti-pattern
  53. 53. Overview Inception Plan Develop Integrate Testing Release Operate Lean DevOps Agile
  54. 54. Some big shifts happening • Testing in production • Microservices • Containers/Cloud • Role of QA/System administrator
  55. 55. Key takeaways • Create repeatable and reliable process for releasing software • Automate (almost) everything • Build quality in • Reduce the batch size • Improve continuously :) pavel@levi9.com @PavelChunyayev Any questions?

The presentation gives high-level overview of most important aspects of implementing Continuous Delivery comparing CD with Agile, DevOps and Lean software development.

Vues

Nombre de vues

474

Sur Slideshare

0

À partir des intégrations

0

Nombre d'intégrations

12

Actions

Téléchargements

6

Partages

0

Commentaires

0

Mentions J'aime

0

×