Upgrade to Pro — share decks privately, control downloads, hide ads and more …

DevOpsDays Seattle 2017 - Continuous Integration: A bittersweet story

DevOpsDays Seattle 2017 - Continuous Integration: A bittersweet story

This is the bittersweet story of Continuous Integration. CI is practice that we fell in love with, embraced and then never fully committed to. I’ll share with you the current state of CI, what we think we are doing when we say CI and what we are really doing in terms of CI. Then I’ll remind us all why we fell in love with CI in the first place and make some suggestions on how to get back to the good stuff.

Presented at DevOpsDays Seattle 2017.

suziejprince

April 27, 2017
Tweet

More Decks by suziejprince

Other Decks in Technology

Transcript

  1. DevOpsDays Seattle 2017 @pm_suzie ❤ CONTINUOUS INTEGRATION: A BITTERSWEET LOVE

    STORY
  2. DevOpsDays Seattle 2017 Head of Product for ThoughtWorks Products 12+

    years experience with agile, continuous integration and continuous delivery practices Tweeting @pm_suzie
  3. @pm_suzie DevOpsDays Seattle 2017 ❤ ci forever

  4. @pm_suzie DevOpsDays Seattle 2017 hands up !

  5. @pm_suzie DevOpsDays Seattle 2017 What is CI?

  6. @pm_suzie DevOpsDays Seattle 2017

  7. @pm_suzie – Jez Humble, continuousdelivery.com “ … I N C

    I D E V E LO P E R S I N T E G R AT E A L L T H E I R W O R K I N TO T R U N K ( A L S O K N OW N A S M A I N L I N E O R M A S T E R ) O N A R E G U L A R BA S I S ( AT L E A S T DA I LY ) . ”
  8. @pm_suzie DevOpsDays Seattle 2017 daily master

  9. @pm_suzie DevOpsDays Seattle 2017 Check everything in

  10. @pm_suzie DevOpsDays Seattle 2017 Build every commit

  11. @pm_suzie DevOpsDays Seattle 2017 Self testing code

  12. @pm_suzie DevOpsDays Seattle 2017 Automate the build

  13. @pm_suzie DevOpsDays Seattle 2017 Keep it fast! &

  14. @pm_suzie DevOpsDays Seattle 2017 Show visible failures

  15. @pm_suzie DevOpsDays Seattle 2017 Fix failures immediately

  16. @pm_suzie daily master

  17. @pm_suzie DevOpsDays Seattle 2017 Why we fell in love with

    CI?
  18. @pm_suzie DevOpsDays Seattle 2017 Avoid merge conflicts

  19. @pm_suzie DevOpsDays Seattle 2017 Fast feedback

  20. @pm_suzie DevOpsDays Seattle 2017 Reduce risks

  21. @pm_suzie DevOpsDays Seattle 2017 Collective ownership

  22. @pm_suzie DevOpsDays Seattle 2017 1996 Steve McConnell describes the "Daily

    Build and Smoke Test" technique 2000 Martin Fowler’s first published his comprehensive Continuous Integration article 2010 Book “Continuous Delivery” by Humble and Farley published Our story so far….. 1993 Grady Booch used the phrase “continuous integration” in Object-Oriented Analysis and Design with Applications 2007 Book “Continuous Integration” by Duvall published 2017 Wikipedia lists 15+ continuous integration Tools 2001 The first continuous integration server Cruise Control is released 2015 CI described as “most essential technical practice” in SAFe 1998 Continuous integration is cited as a core practice of Extreme Programming (XP) ❤
  23. @pm_suzie DevOpsDays Seattle 2017 COMPLICATED IT’S

  24. @pm_suzie DevOpsDays Seattle 2017 !*+,-

  25. @pm_suzie 3% 5% 6% 18% Daily 68% Daily Weekly Monthly

    Other Never http://stackoverflow.com/research/developer-survey-2016#work-checking-in-code How often do you check in or commit code?
  26. @pm_suzie 40% 20% 40% Practising Plans to practice No plans

    http://public.brighttalk.com/resource/core/88443/december_16_agile_in_the_enterprise_wholz_131607.pdf When did or will your organization begin to practice continuous integration?
  27. https://blog.snap-ci.com/blog/2016/07/26/continuous-delivery-integration-devops-research/ @pm_suzie Contextual research affinity wall

  28. https://blog.snap-ci.com/blog/2016/07/26/continuous-delivery-integration-devops-research/ @pm_suzie What do people know about Continuous Integration? Do

    they practice Continuous Integration? How do they practice Continuous Integration? What tools do people use to practice Continuous Integration? How do people define Continuous Integration?
  29. https://blog.snap-ci.com/blog/2016/07/26/continuous-delivery-integration-devops-research/ @pm_suzie You commit some code, something picks it up

    and builds and makes sure it still builds I push the code to the master branch after it's been tested on the test branch. That in return triggers something and gets deployed …testing your code all the time. Executing the code that you write all the time, making sure the code doesn't go stale
  30. https://blog.snap-ci.com/blog/2016/07/26/continuous-delivery-integration-devops-research/ @pm_suzie We tend to do anywhere between 15 and

    50 branches in a push The most challenging thing is when you end up with a lot of features piled together in one commit Anytime a feature is finally complete then it get’s merged into master
  31. @pm_suzie DevOpsDays Seattle 2017 COMPLICATED IT’S

  32. @pm_suzie DevOpsDays Seattle 2017 “CI Theatre”

  33. @pm_suzie DevOpsDays Seattle 2017

  34. @pm_suzie DevOpsDays Seattle 2017 Not getting the benefits of CI

  35. @pm_suzie DevOpsDays Seattle 2017 Painful

  36. @pm_suzie DevOpsDays Seattle 2017 Not ready for Continuous Delivery or

    DevOps
  37. @pm_suzie DevOpsDays Seattle 2017 SAVE YOUR CI NOW! 3 HOT

    TIPS
  38. @pm_suzie DevOpsDays Seattle 2017 Commit more often

  39. @pm_suzie DevOpsDays Seattle 2017 Automate, automate, automate

  40. @pm_suzie DevOpsDays Seattle 2017 Trunk based development

  41. @pm_suzie daily master

  42. @pm_suzie DevOpsDays Seattle 2017 ❤ ci forever

  43. @pm_suzie DevOpsDays Seattle 2017 To be continued…