~/talk

Continuous Delivery for Legacy Code

Talkat NDC London 2024 · 2024-01-29..02-02· [devops-and-delivery]
slides:none on file

Five million lines across Classic ASP, .NET, VBA, T‑SQL and more, no VCS, copy‑to‑prod deployments and 4,000 tables with ~2,000 huge stored procedures become a measured problem: put everything into Git, add a CI pipeline that compiles, parameterized infra scripts, automated smoke and performance tests, code cartter hotspot visuals, randomized categorization tests (approval tests) and Red production metrics in Grafana. Cycle time drops from six months to about 60 minutes, duplicate installs and a million hidden lines get pruned, and automated monitoring gives enough confidence for regular deployments.

AI-written summary · about

  1. 0:00Introduction
  2. 1:10Legacy vs low-quality software
  3. 3:19Case study: broken legacy system
  4. 9:41Legacy paradox and business impact
  5. 10:46Fixing the foundation with version control
  6. 12:56Automated deployment pipeline
  7. 13:40Hotspots mindset for refactoring
  8. 14:21CodeCutter: visualizing quality
  9. 17:36Quality views for management
  10. 19:41Architecture tests for legacy
  11. 20:25Broken Window Theory focus
  12. 21:32Start with critical tests
  13. 23:17Sprouting tested code
  14. 24:20Testing untestable code
  15. 26:27Refactoring: coupling and cohesion
  16. 27:51Seams and feature flags
  17. 28:56Strangler Fig pattern
  18. 30:00RED metrics in production
  19. 34:13Continuous delivery pipeline
  20. 35:39Cycle time reduction
  21. 36:24Why legacy happens
  22. 39:18Changing behavior with Atomic Habits
  23. 42:03Summary and resources
  24. 42:37Q&A: Duplicated legacy code
  25. 45:13Q&A: Untestable code side effects
  26. 47:21Q&A: Behavioral change
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.