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

Software altert nicht, oder doch?

Software altert nicht, oder doch?

Welche Gründe gibt es, dass wir Software als veraltet (legacy) ansehen?
Und welche Möglichkeiten gibt es dagegen etwas zu tun?

Avatar for Richard Attermeyer

Richard Attermeyer

June 06, 2023
Tweet

Other Decks in Programming

Transcript

  1. © OPITZ CONSULTING 2023 Öffentlich Informationsklassifikation nach ISO 27001: Hinweis

    MKTG: Die Jahreszahl muss hier auf der Toplevel Masterfolie ggf. pro Jahr V1.0 05.01.2021 Hinweis MKTG: Fußzeile über „Einfügen Kopf- und Fußzeile ändern! 1 Und wie man Alterung verlangsamen kann Gummersbach, 03.06.2023 Richard Attermeyer SOFTWARE ALTERT NICHT … ODER DOCH? Foto von Taylor Flowe auf Unsplash (https://unsplash.com/de/fotos/ESv61OGyiOc)
  2. © OPITZ CONSULTING 2023 Öffentlich Informationsklassifikation nach ISO 27001: Hinweis

    MKTG: Die Jahreszahl muss hier auf der Toplevel Masterfolie ggf. pro Jahr V1.0 05.01.2021 Hinweis MKTG: Fußzeile über „Einfügen Kopf- und Fußzeile ändern! Präsentation ¢ Bits und Bytes können nicht altern ¢ Es muss also an etwas anderem liegen… 2
  3. © OPITZ CONSULTING 2023 Öffentlich Informationsklassifikation nach ISO 27001: Hinweis

    MKTG: Die Jahreszahl muss hier auf der Toplevel Masterfolie ggf. pro Jahr V1.0 05.01.2021 Hinweis MKTG: Fußzeile über „Einfügen Kopf- und Fußzeile ändern! ZITATE Präsentation 3 "Legacy-Software ist jedes Softwaresystem, das nicht mehr vom Hersteller unterstützt wird oder für das keine weiteren Updates oder Patches verfügbar sind. Es kann in Bezug auf Technologie oder Funktionalität veraltet sein und kann schwierig und teuer sein, es zu pflegen.“ (Quelle: Gartner Glossar, https://www.gartner.com/en/information- technology/glossary/legacy-software) "Legacy-Systeme werden oft als 'Black Boxes' bezeichnet, mit wenig oder keiner Dokumentation, was es schwierig macht, zu verstehen, wie sie funktionieren. Dieser Mangel an Wissen kann Wartung und Updates herausfordernder machen, da Entwickler das System reverse-engineeren müssen, um Änderungen vorzunehmen." (Quelle: Software Engineering Institute, Carnegie Mellon University, https://www.sei.cmu.edu/reports/10tn011.pdf) Zitate von chat-gpt generiert. Quellen konnten nicht verifiziert werden J
  4. © OPITZ CONSULTING 2023 Öffentlich Informationsklassifikation nach ISO 27001: Hinweis

    MKTG: Die Jahreszahl muss hier auf der Toplevel Masterfolie ggf. pro Jahr V1.0 05.01.2021 Hinweis MKTG: Fußzeile über „Einfügen Kopf- und Fußzeile ändern! IST DAS EIN BEISPIEL FÜR ALTERUNG? Präsentation 4 ¢ Zuverlässigkeit schwindet über Zeit ¢ Bit rot in Systemen, etwa bei lang laufenden Systemen durch Weltraumstrahlung kann eine Ursache sein ¢ Restart eine Möglichkeit Interessant. Aber heute nicht Gegenstand.
  5. © OPITZ CONSULTING 2023 Öffentlich Informationsklassifikation nach ISO 27001: Hinweis

    MKTG: Die Jahreszahl muss hier auf der Toplevel Masterfolie ggf. pro Jahr V1.0 05.01.2021 Hinweis MKTG: Fußzeile über „Einfügen Kopf- und Fußzeile ändern! BUSINESS SICHT Präsentation 5 ¢ Compliance Problem: Sicherheit kann nicht länger gewährleistet werden ¢ UX Problem: Nutzeroberfläche angestaubt, kompliziert und nicht mehr aktuell ¢ Qualitätsproblem: ¢ Releases erzeugen neue Fehler, anstatt nur Fehler zu beseitigen ¢ Performanceproblem: ¢ Antwortzeiten oder Verabeitungszeiten werden nicht mehr erreicht ¢ Wartungsproblem: Umsetzung von Anforderungen dauert immer länger ¢ Abkündigung: SaaS Produkt wird nicht mehr angeboten
  6. © OPITZ CONSULTING 2023 Öffentlich Informationsklassifikation nach ISO 27001: Hinweis

    MKTG: Die Jahreszahl muss hier auf der Toplevel Masterfolie ggf. pro Jahr V1.0 05.01.2021 Hinweis MKTG: Fußzeile über „Einfügen Kopf- und Fußzeile ändern! EINE ANDERE DEFINITION Präsentation 6 To me, legacy code is simply code without tests. (Michael Feathers, Working Effetively With Legacy Code)
  7. © OPITZ CONSULTING 2023 Öffentlich Informationsklassifikation nach ISO 27001: Hinweis

    MKTG: Die Jahreszahl muss hier auf der Toplevel Masterfolie ggf. pro Jahr V1.0 05.01.2021 Hinweis MKTG: Fußzeile über „Einfügen Kopf- und Fußzeile ändern! AUSSAGEN PARNAS, SOFTWARE AGING (1994) Präsentation 7 ¢ Lack of Movement: Unless software is frequently updated, it’s users will become dissatisfied ¢ Ignorant Surgery: Changes are made by people who do not understand the original design concept almost always cause the structure of the program to degrade ¢ Software that has been repeatedly modified (maintained) in this way becomes very expensive to update ¢ Software Aging is inevitable: ¢ Our ability to design for change depends on our ability to predict the future. ¢ We can do so only approximately and imperfectly.
  8. © OPITZ CONSULTING 2023 Öffentlich Informationsklassifikation nach ISO 27001: Hinweis

    MKTG: Die Jahreszahl muss hier auf der Toplevel Masterfolie ggf. pro Jahr V1.0 05.01.2021 Hinweis MKTG: Fußzeile über „Einfügen Kopf- und Fußzeile ändern! Präsentation 8 Foto von Anna Samoylova auf Unsplash
  9. © OPITZ CONSULTING 2023 Öffentlich Informationsklassifikation nach ISO 27001: Hinweis

    MKTG: Die Jahreszahl muss hier auf der Toplevel Masterfolie ggf. pro Jahr V1.0 05.01.2021 Hinweis MKTG: Fußzeile über „Einfügen Kopf- und Fußzeile ändern! Präsentation 9 ¢ Gleiche Mannschaft ¢ … ein Stockwerk drauf ¢ … und noch eins ¢ Ist die Teamgröße noch angemessen? ¢ Trägt das Fundament? Created by craiyon
  10. © OPITZ CONSULTING 2023 Öffentlich Informationsklassifikation nach ISO 27001: Hinweis

    MKTG: Die Jahreszahl muss hier auf der Toplevel Masterfolie ggf. pro Jahr V1.0 05.01.2021 Hinweis MKTG: Fußzeile über „Einfügen Kopf- und Fußzeile ändern! KOMPLEXITÄT ÜBER ZEIT Präsentation 10 ¢ Funktionalität wird in der Regel erweitert (selbst wenn keine techn. Schulden eingegangen werden) ¢ Damit wächste der Codeumfang (Lines-of- Code) und auch andere Maße (zyklomatische Komplexität) ¢ Damit wächst insgesamt die Komplexität ¢ Das Team bleibt häufig gleich oder es existiert gar keine feste Zuständigkeit Zeit Komplexität
  11. © OPITZ CONSULTING 2023 Öffentlich Informationsklassifikation nach ISO 27001: Hinweis

    MKTG: Die Jahreszahl muss hier auf der Toplevel Masterfolie ggf. pro Jahr V1.0 05.01.2021 Hinweis MKTG: Fußzeile über „Einfügen Kopf- und Fußzeile ändern! LEGACY: DER MENSCHLICHE ASPEKT Präsentation 11 ¢ Software wird auch “legacy“, wenn ein Team die Komplexität nicht mehr beherrschen kann ¢ Welchen Einfluss hat der Tausch von Teammitgliedern? ¢ è You build it, you run it ¢ Architekturbeurteilung muss Menschen und Kontext berücksichtigen Zeit Komplexität Maximale vom Team beherrschbare Komplexität
  12. © OPITZ CONSULTING 2023 Öffentlich Informationsklassifikation nach ISO 27001: Hinweis

    MKTG: Die Jahreszahl muss hier auf der Toplevel Masterfolie ggf. pro Jahr V1.0 05.01.2021 Hinweis MKTG: Fußzeile über „Einfügen Kopf- und Fußzeile ändern! Präsentation 12 Produktspezifisch § Qualitätsanforderungen ändern sich § Funktionalität wächst § Teamzusammensetzung verändert sich Externe Änderungen § Abhängigkeiten veraltern § SaaS Software wird abgekündigt § Schwachstellen werden entdeckt
  13. © OPITZ CONSULTING 2023 Öffentlich Informationsklassifikation nach ISO 27001: Hinweis

    MKTG: Die Jahreszahl muss hier auf der Toplevel Masterfolie ggf. pro Jahr V1.0 05.01.2021 Hinweis MKTG: Fußzeile über „Einfügen Kopf- und Fußzeile ändern! Präsentation 13 Product Owner und Architektenaufgaben § Kurskorrekturen vornehmen, um nicht aufzulaufen § Anpassung der Architektur zur Komplexitätsreduktion § Anpassung der Teamorganisation, um steigender Komplexität gerecht zu werden
  14. © OPITZ CONSULTING 2023 Öffentlich Informationsklassifikation nach ISO 27001: Hinweis

    MKTG: Die Jahreszahl muss hier auf der Toplevel Masterfolie ggf. pro Jahr V1.0 05.01.2021 Hinweis MKTG: Fußzeile über „Einfügen Kopf- und Fußzeile ändern! Präsentation 14 Foto von Austin Distel auf Unsplash Investiere erst in Menschen, dann in Software
  15. © OPITZ CONSULTING 2023 Öffentlich Informationsklassifikation nach ISO 27001: Hinweis

    MKTG: Die Jahreszahl muss hier auf der Toplevel Masterfolie ggf. pro Jahr V1.0 05.01.2021 Hinweis MKTG: Fußzeile über „Einfügen Kopf- und Fußzeile ändern! Präsentation 15 ¢Verstehe, warum Entwickler:innen das System nicht verstehen ¢Plane Fortbildung für das Wartungsteam und neue Teammitglieder ein
  16. © OPITZ CONSULTING 2023 Öffentlich Informationsklassifikation nach ISO 27001: Hinweis

    MKTG: Die Jahreszahl muss hier auf der Toplevel Masterfolie ggf. pro Jahr V1.0 05.01.2021 Hinweis MKTG: Fußzeile über „Einfügen Kopf- und Fußzeile ändern! VERMEIDE WISSENSINSELN Präsentation 16 ¢ Pair Programming ¢ Code Review, aber wirklich ¢ Technische Dokumentation am Code ¢ ASCIIDOC im gleichen Repository ¢ Nutzung von ADRs ¢ Messung: Über Repository Mining Foto von Muha Ajjan auf Unsplash
  17. © OPITZ CONSULTING 2023 Öffentlich Informationsklassifikation nach ISO 27001: Hinweis

    MKTG: Die Jahreszahl muss hier auf der Toplevel Masterfolie ggf. pro Jahr V1.0 05.01.2021 Hinweis MKTG: Fußzeile über „Einfügen Kopf- und Fußzeile ändern! VERMEIDE WISSENSINSELN Präsentation 17 ¢ Pair Programming ¢ Code Review, aber wirklich ¢ Technische Dokumentation am Code ¢ ASCIIDOC im gleichen Repository ¢ Nutzung von ADRs ¢ Messung: Über Repository Mining Foto von Clay Banks auf Unsplash
  18. © OPITZ CONSULTING 2023 Öffentlich Informationsklassifikation nach ISO 27001: Hinweis

    MKTG: Die Jahreszahl muss hier auf der Toplevel Masterfolie ggf. pro Jahr V1.0 05.01.2021 Hinweis MKTG: Fußzeile über „Einfügen Kopf- und Fußzeile ändern! VERMEIDE WISSENSINSELN Präsentation 18 ¢ Pair Programming ¢ Code Review, aber wirklich ¢ Technische Dokumentation am Code ¢ ASCIIDOC im gleichen Repository ¢ Nutzung von ADRs ¢ Messung: Über Repository Mining
  19. © OPITZ CONSULTING 2023 Öffentlich Informationsklassifikation nach ISO 27001: Hinweis

    MKTG: Die Jahreszahl muss hier auf der Toplevel Masterfolie ggf. pro Jahr V1.0 05.01.2021 Hinweis MKTG: Fußzeile über „Einfügen Kopf- und Fußzeile ändern! VERMEIDE WISSENSINSELN Präsentation 19 ¢ Pair Programming ¢ Code Review, aber wirklich ¢ Technische Dokumentation am Code ¢ ASCIIDOC im gleichen Repository ¢ Nutzung von ADRs ¢ Messung: Über Repository Mining
  20. © OPITZ CONSULTING 2023 Öffentlich Informationsklassifikation nach ISO 27001: Hinweis

    MKTG: Die Jahreszahl muss hier auf der Toplevel Masterfolie ggf. pro Jahr V1.0 05.01.2021 Hinweis MKTG: Fußzeile über „Einfügen Kopf- und Fußzeile ändern! VERMEIDE WISSENSINSELN Präsentation 20 ¢ Pair Programming ¢ Code Review, aber wirklich ¢ Technische Dokumentation am Code ¢ ASCIIDOC im gleichen Repository ¢ Nutzung von ADRs ¢ Messung: Über Repository Mining
  21. © OPITZ CONSULTING 2023 Öffentlich Informationsklassifikation nach ISO 27001: Hinweis

    MKTG: Die Jahreszahl muss hier auf der Toplevel Masterfolie ggf. pro Jahr V1.0 05.01.2021 Hinweis MKTG: Fußzeile über „Einfügen Kopf- und Fußzeile ändern! Präsentation 21 Standardverletzungen erkennen
  22. © OPITZ CONSULTING 2023 Öffentlich Informationsklassifikation nach ISO 27001: Hinweis

    MKTG: Die Jahreszahl muss hier auf der Toplevel Masterfolie ggf. pro Jahr V1.0 05.01.2021 Hinweis MKTG: Fußzeile über „Einfügen Kopf- und Fußzeile ändern! Präsentation 22 Architekturverletzungen erkennen
  23. © OPITZ CONSULTING 2023 Öffentlich Informationsklassifikation nach ISO 27001: Hinweis

    MKTG: Die Jahreszahl muss hier auf der Toplevel Masterfolie ggf. pro Jahr V1.0 05.01.2021 Hinweis MKTG: Fußzeile über „Einfügen Kopf- und Fußzeile ändern! REDUZIERE „COGNITIVE LOAD“ DURCH STANDARDS Präsentation 23 ¢ Checklisten / Templates helfen wichtige Informationen nicht zu vergessen ¢ Struktur hilft sich besser zurecht zu finden ¢ Struktur hilft bei der Automatisierung von Abläufen ¢ Automatisch überprüfbare Standards vermeiden stupide Aufgaben ¢ Setze Standards automatisiert durch Foto von Glenn Carstens-Peters auf Unsplash
  24. © OPITZ CONSULTING 2023 Öffentlich Informationsklassifikation nach ISO 27001: Hinweis

    MKTG: Die Jahreszahl muss hier auf der Toplevel Masterfolie ggf. pro Jahr V1.0 05.01.2021 Hinweis MKTG: Fußzeile über „Einfügen Kopf- und Fußzeile ändern! CHECKLISTS AND GIT AND LINITING Präsentation 24 ¢ Git Commit Templates ¢ Git commit linting (https://github.com/alessandrojcm/commitli nt-pre-commit-hook) ¢ Generiere automatisch Changelog (https://github.com/git-chglog/git-chglog) ################################################## # Write a title summarizing what this commit does. ################################################## # Conventional commits # see https://www.conventionalcommits.org/en/v1.0.0/#summary (and below) #<type>[(optional <scope>)]: <description> # #[optional <body>] # #[optional <footer(s)>] # type: build, change, chore, ci, deprecate, docs, feat, fix, perf, refactor # type: revert, security, style, test ######################################################################## # Why is this change happening? # Describe the purpose, such as a goal, or use case, or user story, etc. # For every line, use 72 char maximum width, which is this line's width. ######################################################################## #Why: ######################################################################## # How is this change happening? # Describe any relevant algorithms, protocols, implementation spec, etc. # For every line, use 72 char maximum width, which is this line's width. ######################################################################## #How: ######################################################################## # Add any tags you want, such as search text, hashtags, keywords, codes. # For every line, use 72 char maximum width, which is this line's width. ######################################################################## #Tags: ### GIT TRAILERS -- THESE MUST BE LAST IN THE COMMIT MESSAGE ### # Provide links to any relevant tickets, articles or other resources # # See: # Co-authored-by: Alice Adams <[email protected]> # Sponsored-by: Adam Anderson <[email protected]> # Close / Closes / Closed: # Fix / Fixes / Fixed: # Resolve / Resolves / Resolved: https://gist.github.com/rattermeyer/9a7a9c596ab163bb4c25220f9f9eb2b1
  25. © OPITZ CONSULTING 2023 Öffentlich Informationsklassifikation nach ISO 27001: Hinweis

    MKTG: Die Jahreszahl muss hier auf der Toplevel Masterfolie ggf. pro Jahr V1.0 05.01.2021 Hinweis MKTG: Fußzeile über „Einfügen Kopf- und Fußzeile ändern! MERGE UND ISSUE TEMPLATES Präsentation 25 ¢ Nutze Templates auch für Pull Requests und Issues ¢ Gitlab, Github, Gitea, Bitbucket
  26. © OPITZ CONSULTING 2023 Öffentlich Informationsklassifikation nach ISO 27001: Hinweis

    MKTG: Die Jahreszahl muss hier auf der Toplevel Masterfolie ggf. pro Jahr V1.0 05.01.2021 Hinweis MKTG: Fußzeile über „Einfügen Kopf- und Fußzeile ändern! AUTOMATISIERTE STANDARDS Präsentation 26 ¢ Code Formatierung ¢ Editorconfig ¢ Pre-Commit Frameworks
  27. © OPITZ CONSULTING 2023 Öffentlich Informationsklassifikation nach ISO 27001: Hinweis

    MKTG: Die Jahreszahl muss hier auf der Toplevel Masterfolie ggf. pro Jahr V1.0 05.01.2021 Hinweis MKTG: Fußzeile über „Einfügen Kopf- und Fußzeile ändern! AUTOMATISIERTE STANDARDS Präsentation 27 ¢ Code Formatierung ¢ Editorconfig ¢ Pre-Commit Frameworks
  28. © OPITZ CONSULTING 2023 Öffentlich Informationsklassifikation nach ISO 27001: Hinweis

    MKTG: Die Jahreszahl muss hier auf der Toplevel Masterfolie ggf. pro Jahr V1.0 05.01.2021 Hinweis MKTG: Fußzeile über „Einfügen Kopf- und Fußzeile ändern! AUTOMATISIERTE STANDARDS Präsentation 28 ¢ Code Formatierung ¢ Editorconfig ¢ Pre-Commit Frameworks ¢ WSL2, Linux, Mac vorausgesetzt J § Syntax Checks (XML, YAML, …) § Linter integration (alles mögliche) § Code Formatting Integration (spotless, gradle) § Secrets / Credential Detection § Large File Detection § Style Checks (checkstyle, …)
  29. © OPITZ CONSULTING 2023 Öffentlich Informationsklassifikation nach ISO 27001: Hinweis

    MKTG: Die Jahreszahl muss hier auf der Toplevel Masterfolie ggf. pro Jahr V1.0 05.01.2021 Hinweis MKTG: Fußzeile über „Einfügen Kopf- und Fußzeile ändern! HALTE DOKUMENTATION UP-TO- DATE Präsentation 29 ¢ Pull Request: ¢ Code ¢ (ggf.) Dokumentation ¢ Wichtig ¢ Dokumentation im gleichen Repository ¢ Option ¢ Documentation-as-Code
  30. © OPITZ CONSULTING 2023 Öffentlich Informationsklassifikation nach ISO 27001: Hinweis

    MKTG: Die Jahreszahl muss hier auf der Toplevel Masterfolie ggf. pro Jahr V1.0 05.01.2021 Hinweis MKTG: Fußzeile über „Einfügen Kopf- und Fußzeile ändern! DOCUMENTATION-AS-CODE Präsentation 30 ¢ Feste Templates ¢ Arc 42 ¢ ADR ¢ Wichtig ¢ Dokumentation im gleichen Repository ¢ Option ¢ Documentation-as-Code
  31. © OPITZ CONSULTING 2023 Öffentlich Informationsklassifikation nach ISO 27001: Hinweis

    MKTG: Die Jahreszahl muss hier auf der Toplevel Masterfolie ggf. pro Jahr V1.0 05.01.2021 Hinweis MKTG: Fußzeile über „Einfügen Kopf- und Fußzeile ändern! LINTE EVERYTHING Präsentation 31 ¢ Everything is code ¢ Java, HTML, CSS, YAML, XML, Ansible, Shell Scripte, Typescript, JavaScript, Terraform ¢ ShellCheck, csslint, eslint, sass-lint, markdownlint, htmllintm dockerfile_lint, go- lint, tflint, ansible-lint, nglint, spectral/vacuum,
  32. © OPITZ CONSULTING 2023 Öffentlich Informationsklassifikation nach ISO 27001: Hinweis

    MKTG: Die Jahreszahl muss hier auf der Toplevel Masterfolie ggf. pro Jahr V1.0 05.01.2021 Hinweis MKTG: Fußzeile über „Einfügen Kopf- und Fußzeile ändern! SCHREIBE SAUBEREN CODE Präsentation 32 ¢ Unterstütze Entwickler beim Schreiben von sauberen Code ¢ RuleSets durch IDEs ¢ sonarlint ¢ Unmittelbares Feedback in IDE / Editor ¢ Sonarqube ¢ Feedback im CI/CD Workflow ¢ Automatisierte (Unit) Tests für Programmcode
  33. © OPITZ CONSULTING 2023 Öffentlich Informationsklassifikation nach ISO 27001: Hinweis

    MKTG: Die Jahreszahl muss hier auf der Toplevel Masterfolie ggf. pro Jahr V1.0 05.01.2021 Hinweis MKTG: Fußzeile über „Einfügen Kopf- und Fußzeile ändern! BETRACHTE ENTWICKLUNGEN NICHT SNAPSHOTS Präsentation 33 ¢ Setze Untergrenzen für Code Coverage in neuem Code ¢ Beobachte Test Coverage über Zeit ¢ Plötzlicher Anstieg oder Abfall sind Signale, die man sich anschauen sollte ¢ Gleiches gilt auch für andere Maße ¢ LoC, Cyclomatische Complexität AWS java sdk: https://sonarcloud.io/project/activity?graph=coverage&id=aws_aws-sdk-java-v2
  34. © OPITZ CONSULTING 2023 Öffentlich Informationsklassifikation nach ISO 27001: Hinweis

    MKTG: Die Jahreszahl muss hier auf der Toplevel Masterfolie ggf. pro Jahr V1.0 05.01.2021 Hinweis MKTG: Fußzeile über „Einfügen Kopf- und Fußzeile ändern! Präsentation 34 Foto von Ruth Enyedi auf Unsplash
  35. © OPITZ CONSULTING 2023 Öffentlich Informationsklassifikation nach ISO 27001: Hinweis

    MKTG: Die Jahreszahl muss hier auf der Toplevel Masterfolie ggf. pro Jahr V1.0 05.01.2021 Hinweis MKTG: Fußzeile über „Einfügen Kopf- und Fußzeile ändern! Präsentation 35 Wer kennt den Begriff „Technische Schulden“ ? Wer kennt den Unterschied zwischen strategischen, unvermeidlichen und ungewollten technischen Schulden? Wer managed seine technischen Schulden aktiv?
  36. © OPITZ CONSULTING 2023 Öffentlich Informationsklassifikation nach ISO 27001: Hinweis

    MKTG: Die Jahreszahl muss hier auf der Toplevel Masterfolie ggf. pro Jahr V1.0 05.01.2021 Hinweis MKTG: Fußzeile über „Einfügen Kopf- und Fußzeile ändern! Präsentation 36 ¢Bewusste Verletzung der vereinbarten Architektur, Design, Pattern, Muster, Quality Gates ¢In der Regel, um ein kurzfristiges Ziel zu erreichen unter Gefährdung einer langfristigen Wirtschaftlichkeit ¢Unvermeidlich, wenn sich Qualitätsziele ändern, oder Abhängigkeiten überholt sind ¢Können ungewollt aus Unkenntnis von Konsequenzen oder Unachtsamkeit entstehen
  37. © OPITZ CONSULTING 2023 Öffentlich Informationsklassifikation nach ISO 27001: Hinweis

    MKTG: Die Jahreszahl muss hier auf der Toplevel Masterfolie ggf. pro Jahr V1.0 05.01.2021 Hinweis MKTG: Fußzeile über „Einfügen Kopf- und Fußzeile ändern! Präsentation 38
  38. © OPITZ CONSULTING 2023 Öffentlich Informationsklassifikation nach ISO 27001: Hinweis

    MKTG: Die Jahreszahl muss hier auf der Toplevel Masterfolie ggf. pro Jahr V1.0 05.01.2021 Hinweis MKTG: Fußzeile über „Einfügen Kopf- und Fußzeile ändern! GRUNDSÄTZE Präsentation 39 ¢Technische Schulden sind unvermeidbar ¢Daher: Vorbereitete Kommunikations- und Managementstrategie ¢Wichtig: Technische Schulden sichtbar machen è Technical Debt Register ¢Buy-in vom Auftraggeber für die Managementstrategie: ¢Im Vorfeld definiert, wann und welche technische Schulden abgebaut werden ¢Vermeidet jedesmal neue „Verhandlungen“ mit PM über Schuldenabbau vs Feature-Umsetzung
  39. © OPITZ CONSULTING 2023 Öffentlich Informationsklassifikation nach ISO 27001: Hinweis

    MKTG: Die Jahreszahl muss hier auf der Toplevel Masterfolie ggf. pro Jahr V1.0 05.01.2021 Hinweis MKTG: Fußzeile über „Einfügen Kopf- und Fußzeile ändern! GRUNDSÄTZE Präsentation 40 ¢Nicht alle Schulden müssen zwingend abgebaut werden ¢Es ist immer eine Wirtschaftlichkeitsbetrachtung ¢Baue Schulden schrittweise ab ¢Baue die teuersten Schulden zuerst ab
  40. © OPITZ CONSULTING 2023 Öffentlich Informationsklassifikation nach ISO 27001: Hinweis

    MKTG: Die Jahreszahl muss hier auf der Toplevel Masterfolie ggf. pro Jahr V1.0 05.01.2021 Hinweis MKTG: Fußzeile über „Einfügen Kopf- und Fußzeile ändern! PRODUKTORIENTIERUNG BEI ENTSCHEIDUNGEN Präsentation 41 Foto von Miguel A Amutio auf Unsplash Foto von Nicolas Hoizey auf Unsplash Project as a Sprint Product as Marathon
  41. © OPITZ CONSULTING 2023 Öffentlich Informationsklassifikation nach ISO 27001: Hinweis

    MKTG: Die Jahreszahl muss hier auf der Toplevel Masterfolie ggf. pro Jahr V1.0 05.01.2021 Hinweis MKTG: Fußzeile über „Einfügen Kopf- und Fußzeile ändern! PROJEKTORIENTIERUNG KANN SCHADEN Präsentation 42 ¢ Zahlt die Beseitigung auf die Ziele des nächsten Sprints ein? ¢ Mögliche Opfer: Sicherheit, Maintainibility (Logging, Metrics, …), Erzielung von Quality Attributes ¢ Problem: Fokus / Inzentivierung auf zu kurze Ziele… ¢ Emergent Design kann teuer sein (Big Design Upfront auch) Foto von Nicolas Hoizey auf Unsplash
  42. © OPITZ CONSULTING 2023 Öffentlich Informationsklassifikation nach ISO 27001: Hinweis

    MKTG: Die Jahreszahl muss hier auf der Toplevel Masterfolie ggf. pro Jahr V1.0 05.01.2021 Hinweis MKTG: Fußzeile über „Einfügen Kopf- und Fußzeile ändern! PRODUKTORIENTIERUNG BEI ENTSCHEIDUNGEN Präsentation 43 ¢ Fear of the Review: ¢ Können wir im Review etwas zeigen, dass einen Mehrwert für die Business-Anwender darstellt? ¢ Überlasst das Review nicht allein den Softwareentwicklern! ¢ Betriebswirtschaftliche Betrachtungen / Präsentation von nicht offensichtlichen notwendigen Aufgaben gehört zu den Projektmanagmentaufgaben ¢ Gemeinsam kann man ein betriebswirtschaftliche Kostenmodell entwickeln Foto von Miguel A Amutio auf Unsplash
  43. © OPITZ CONSULTING 2023 Öffentlich Informationsklassifikation nach ISO 27001: Hinweis

    MKTG: Die Jahreszahl muss hier auf der Toplevel Masterfolie ggf. pro Jahr V1.0 05.01.2021 Hinweis MKTG: Fußzeile über „Einfügen Kopf- und Fußzeile ändern! BEISPIELE SECURITY ERODIERUNG Präsentation 44 Applikation ¢ Jahrelang kein Budget um kontinuierlich einzelne Libraries zu aktualisieren ¢ Runtime Plattform: JBoss EAP 7.1 ¢ Applikation ¢ 41 Critical ¢ 87 High ¢ 23 Medium ¢ 4 Low ¢ Beseitigung der Critical CVEs bedingt Upgrade des Applikationsservers ¢ Nur mal eben Abhängigkeiten hochziehen: ¢ Lange Zeit nicht deploy-fähige Anwendung ¢ Fortschritt schwer zu bewerten ¢ Vertrauen schwindet (zu DL und SW)
  44. © OPITZ CONSULTING 2023 Öffentlich Informationsklassifikation nach ISO 27001: Hinweis

    MKTG: Die Jahreszahl muss hier auf der Toplevel Masterfolie ggf. pro Jahr V1.0 05.01.2021 Hinweis MKTG: Fußzeile über „Einfügen Kopf- und Fußzeile ändern! PATTERN: DEPENDENCY MANGEMENT Präsentation 45 ¢ Beginn einer jeden neuen Iteration / Releases / Jahres (“TÜV“ / Technical Maintenance) ¢ Upgrade der Abhängigkeiten auf letzte GA Releases ¢ Regelmäßigkeit hat zur Folge ¢ Überschaubare Nacharbeiten ¢ Nicht alles auf einmal ¢ Technische Schulden werden regelmäßig zurückgezahlt ¢ Häufig bedingt in der Regel Fokus auf ausreichende Abdeckung mit automatisierten Tests ¢ Überwachung der Abhängigkeiten (Software Supply Chain Mgmt) ¢ Dependency Track / Dependency Check ¢ Artifactory XRay, Nexus Lifecycle, … ¢ Automatisierte Hinweise auf Dependency Updates integriert im Workflow ¢ Renovate Foto von Alvaro Reyes auf Unsplash
  45. © OPITZ CONSULTING 2023 Öffentlich Informationsklassifikation nach ISO 27001: Hinweis

    MKTG: Die Jahreszahl muss hier auf der Toplevel Masterfolie ggf. pro Jahr V1.0 05.01.2021 Hinweis MKTG: Fußzeile über „Einfügen Kopf- und Fußzeile ändern! WAS IHR MITNEHMEN SOLLT Präsentation 46 ¢ Investiere in Menschen vor Tools (Ausbildung + Dokumentation) ¢ Produkt- statt Projektorientierung ¢ Konzentriere Reviews auf Verständnis und Verbesserung ¢ Automatisiere alles andere weg ¢ Unterstütze durch Checklisten / Templates ¢ Prüfe (techn) Dokumentation zusammen mit Code ohne Medienbrüche ¢ Lege Umgang mit technischen Schulden im Vorfeld fest ¢ Regelmäßige und häufiges Update von Abhängigkeiten
  46. © OPITZ CONSULTING 2023 Öffentlich Informationsklassifikation nach ISO 27001: Hinweis

    MKTG: Die Jahreszahl muss hier auf der Toplevel Masterfolie ggf. pro Jahr V1.0 05.01.2021 Hinweis MKTG: Fußzeile über „Einfügen Kopf- und Fußzeile ändern! … UND NOCH EINEN Präsentation 47 ¢ Nur die „Entwickler-Perspektive“ betrachtet ¢ Product Owner muss auch die „Business Perspektive“ betrachten ¢ Welche Teile der Software werden noch genutzt? ¢ Können wir Teile der Software entfernen (… und damit Komplexität reduzieren?) ¢ Welche Daten werden noch benötigt? ¢ Sind Daten aktuell, wie halten wir Daten aktuell, wann werden Daten obsolet? ¢ Kennen Sie die implementierten Business Prozesse? ¢ … und auch Enterprise Architecture ¢ Wer ist Owner der Applikation ¢ Wie sieht Landscape Planung aus? ¢ Wir System-Ersatz wirklich verfolgt, oder nur neue Systeme aufgebaut, aber alte nicht vollständig abgebaut?
  47. © OPITZ CONSULTING 2023 Öffentlich Informationsklassifikation nach ISO 27001: Hinweis

    MKTG: Die Jahreszahl muss hier auf der Toplevel Masterfolie ggf. pro Jahr V1.0 05.01.2021 Hinweis MKTG: Fußzeile über „Einfügen Kopf- und Fußzeile ändern! FRAGEN? Präsentation 48
  48. © OPITZ CONSULTING 2023 Öffentlich Informationsklassifikation nach ISO 27001: Hinweis

    MKTG: Die Jahreszahl muss hier auf der Toplevel Masterfolie ggf. pro Jahr V1.0 05.01.2021 Hinweis MKTG: Fußzeile über „Einfügen Kopf- und Fußzeile ändern! Präsentation 49 Richard Attermeyer Chief Architect [email protected]