Slide 1

Slide 1 text

DevOps & Legacy Scrum Day Stuttgart, 2021 @DevOps_Events

Slide 2

Slide 2 text

What is Legacy? ?

Slide 3

Slide 3 text

Why DevOps?

Slide 4

Slide 4 text

How?

Slide 5

Slide 5 text

Tight Coupling Specialists Manual Processes SS4CP* Brittleness Why is it so hard? *Simple Solutions for Complex Problems

Slide 6

Slide 6 text

Tight Coupling Specialists Manual Processes SS4CP* Brittleness *Simple Solutions for Complex Problems Why is it so hard? Overwhelming

Slide 7

Slide 7 text

Tight Coupling Comes in different flavours: ■ Architecture ■ Infrastructure ■ Code ■ ... the degree of interdependence between things* a measure of how closely connected two things* are the strength of the relationships between things* things*: components, infrastructure, modules, code, people...

Slide 8

Slide 8 text

Tight Coupling Comes in different flavours: ■ Architecture ■ Infrastructure ■ Code ■ ...

Slide 9

Slide 9 text

Tight Coupling Comes in different flavours: ■ Architecture ■ Infrastructure ■ Code ■ ...

Slide 10

Slide 10 text

Tight Coupling Comes in different flavours: ■ Architecture ■ Infrastructure ■ Code ■ ...

Slide 11

Slide 11 text

Tight Coupling Comes in different flavours: ■ Architecture ■ Infrastructure ■ Code ■ ...

Slide 12

Slide 12 text

Tight Coupling Comes in different flavours: ■ Architecture ■ Infrastructure ■ Code ■ ...

Slide 13

Slide 13 text

Tight Coupling Comes in different flavours: ■ Architecture ■ Infrastructure ■ Code ■ ...

Slide 14

Slide 14 text

Tight Coupling Comes in different flavours: ■ Architecture ■ Infrastructure ■ Code ■ ...

Slide 15

Slide 15 text

Tight Coupling Comes in different flavours: ■ Architecture ■ Infrastructure ■ Code ■ ... public class Foo { public void foo() { new Bar().bar(); } } var GLOBAL_SHARED_VALUE = 23 import http.client con = http.client .HTTPSConnection("devops-events.de") con.request("GET", "/") res = connection.getresponse() print("Status: {} and reason: {}" .format(res.status, res.reason)) connection.close()

Slide 16

Slide 16 text

Dealing with Legacy Code 1. Identify change points 2. Find test points 3. Break dependencies 4. Write tests 5. Make changes and refactor

Slide 17

Slide 17 text

Baby Steps ■ Big Bangs don’t work. ■ There is always the next baby step. ■ Legacy systems took time to grow bad. It will take time to fix them.

Slide 18

Slide 18 text

About Us Peter Götz [email protected] @petersgoetz Save 50% for our next DevOps Lab training https://www.devops-events.de/trainings/devops-lab Buy one ticket and bring a friend or colleague for free (coupon code “2-4-1”) Oliver Hankeln [email protected] @mydalon

Slide 19

Slide 19 text

Credits ■ @alexagorn (https://unsplash.com/photos/smuS_jUZa9I) ■ @matthew_t_rader (https://unsplash.com/photos/bZbd02TN9t0) ■ @jentheodore (https://unsplash.com/photos/qRtLPwRlXxI) ■ @harlsta (https://unsplash.com/photos/ouyjDk-KdfY) ■ @byrawpixel (https://www.pexels.com/photo/baby-s-standing-on-gray-floor-rug-1776136/) ■ GoodReads.com (https://i.gr-assets.com/images/S/compressed.photo.goodreads.com/books/1348 627451i/44919._UY630_SR1200,630_.jpg)