Automated Release Notes - STC19

Automated Release Notes - STC19

As a team practicing DevOps for Xfinity Mobile, we are always looking for opportunities to increase the velocity in which we move software through the deployment pipeline. This becomes increasingly important as we begin to discover production issues which are impacting our customers and require immediate attention.

A common side-effect of increasing speed is a reduction in quality. We MUST avoid this as much as possible. Through automating processes which are good candidates for automation, we can actually increase both speed and quality at the same time.

We identified Software Release Notes as a highly repeatable process that was a good candidate for automation. Since we automated the process, not only did we save hundreds of hours worth of manual work, but we also have increased the accuracy of our releases.

D2985b36fb510e4b37ec87d7b9ac979b?s=128

Michael Scott Winslow

May 06, 2019
Tweet

Transcript

  1. • Michael Winslow • Core Application - Comcast • I’ve

    automated myself out of 2 jobs before Automated Release Notes @michaelswinslow michaelswinslow #stc19
  2. @michaelswinslow

  3. + != @michaelswinslow https://pixabay.com/vectors/ford-mustang-car-racing-car-146580/ https://pixabay.com/photos/bulldog-puppy-dog-pet-sweet-black-1047518/ https://pixabay.com/photos/rug-carpet-woven-handmade-textiles-1088557/

  4. + Dev Ops DevOps != @michaelswinslow

  5. YOU FOOL! It’s not about Dev+Ops, it’s about CULTURE! @michaelswinslow

  6. Culture Automation Measurement Sharing C A M S Credit: Damon

    Edwards, John Willis https://itrevolution.com/devops-culture-part-1 @michaelswinslow
  7. What’s an example of DevOps, Smart Guy? @michaelswinslow

  8. Find something small to AUTOMATE. Then MEASURE, CODE and DELIVER

    it! @michaelswinslow
  9. What to AUTOMATE? @michaelswinslow https://pixabay.com/photos/learn-school-student-mathematics-1996846/

  10. HOW TO FIND THINGS TO AUTOMATE • Create a Value

    Stream Map • Cycle Time = Lead Time + Process Time • Identify things that are blocking the process • Toil (Manual, Highly Repeated Processes) Example
  11. HOW TO FIND THINGS TO AUTOMATE Request Received Coding QA

    Approval Release
  12. Change Acceptance Board Software Release Notes Software Release Notes The

    Change Acceptance Board (CAB) requires release notes with every release to Production They slow things down significantly. @michaelswinslow
  13. Measure it! @michaelswinslow

  14. developers deployment scrum master 6 hours 3 hours 2 hours

    • Veracode Scanning Change Acceptance Board • Create Release Notes Page • Create Summary (tickets) • Links to QA Tests • Verify Completeness • Add List of Artifacts • Verify Versioning • Verify Rollback Version • Create MOP Software Release Notes Software Release Notes 9 People 11 Hours @michaelswinslow
  15. Is there a better way? @michaelswinslow

  16. Code it! @michaelswinslow

  17. <1 minute < 1 minute < 1 minute • Veracode

    Scanning Change Acceptance Board • Create Release Notes Page • Create Summary (tickets) • Links to QA Tests • Verify Completeness • Add List of Artifacts • Verify Versioning • Verify Rollback Version • Create MOP Software Release Notes Software Release Notes 0 People ~1 minute @michaelswinslow
  18. IMPORTANT: Choose tools that can be extended

  19. None
  20. Deliver it! @michaelswinslow

  21. @michaelswinslow

  22. @michaelswinslow

  23. Now it’s FAST What about the QUALITY? @michaelswinslow

  24. scrum master 1 hour Change Acceptance Board • Create Release

    Notes Page • Create Summary (tickets) • Links to QA Tests • Verify Completeness Software Release Notes 1.0 1.1 1.1 @michaelswinslow
  25. scrum master 1 hour Change Acceptance Board • Create Release

    Notes Page • Create Summary (tickets) • Links to QA Tests • Verify Completeness Software Release Notes 1.0 1.1 1.1 Pre and Post Release States Identical @michaelswinslow
  26. developers deployment scrum master 6 hours 3 hours 1 hour

    • Veracode Scanning Change Acceptance Board • Create Release Notes Page • Create Summary (tickets) • Links to QA Tests • Verify Completeness • Add List of Artifacts • Verify Versioning • Verify Rollback Version • Create MOP Software Release Notes 1.1 1.1 Human Errors @michaelswinslow
  27. The Generated Release Notes @michaelswinslow

  28. @michaelswinslow

  29. @michaelswinslow

  30. @michaelswinslow

  31. @michaelswinslow

  32. @michaelswinslow

  33. @michaelswinslow

  34. @michaelswinslow

  35. @michaelswinslow

  36. RESULTS • Over 4900 man hours saved (as of 5/4/2019)

    • Note: there are 2080 work hours in a year (40 hours x 52 weeks) But even better: • Release Management TRUSTS the validity of the Release Notes • Security BELIEVES that security scans are always performed • QA COORDINATES with the development teams • Technical Writing BUILDS these into public facing Release Notes • Senior Leadership INVESTS in automation (tools + development) …and that is CULTURE. @michaelswinslow
  37. YOU WONDERFUL COLLEAGUE! We just scored a big win for

    DEVSECOPS! @michaelswinslow
  38. •Thank You! Automated Release Notes @michaelswinslow michaelswinslow