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

Your Architecture as a Crime Scene: Forensic An...

Your Architecture as a Crime Scene: Forensic Analysis @bastacon 2025 in Frankfurt

Manfred Steyer

March 03, 2025
Tweet

More Decks by Manfred Steyer

Other Decks in Programming

Transcript

  1. • Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten @ManfredSteyer Your

    Architecture as a Crime Scene Forensic Analysis Manfred Steyer, ANGULARarchitects.io
  2. • Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten @ManfredSteyer 2

    [Adam Tornhill: Your Code as a Crime Scene, 2nd edition, 2024] Which One is More Complex?
  3. • Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten @ManfredSteyer 3

    Same Cyclomatic Complexity [Adam Tornhill: Your Code as a Crime Scene, 2nd edition, 2024]
  4. • Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten @ManfredSteyer 4

    [https://www.se.cs.uni-saarland.de/publications/docs/PAP+21.pdf]
  5. • Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten @ManfredSteyer Goodhart‘s

    Law: „When a measure becomes a target, it ceases to be a good measure.“ -- Charles A. E. Goodhart
  6. • Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten @ManfredSteyer 6

    What‘s Important for Architects? Minimal Dependencies Vertical 1 Vertical 2 Vertical 3 Feature UI Data Feature UI Data Feature UI Data
  7. • Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten @ManfredSteyer 7

    What‘s Important for Architects? Low Coupling Vertical 1 Vertical 2 Vertical 3 Conway‘s Law High Cohesion High Cohesion High Cohesion Single Responsibility? Most Changes: Within ONE Verical Reduce Cognitive Load!
  8. • Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten @ManfredSteyer 10

    Forensic Analysis Source Code History History History Forensic Analysis „Hidden“ Patterns e.g., Git History
  9. • Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten @ManfredSteyer 11

    1) Tools for Forensic Analysis 2) DEMO 3) Limitations of Forensic Analysis Agenda
  10. • Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten @ManfredSteyer 12

    About Me (Remote) Angular Workshops and Consulting Google Developer Expert for Angular Blog, Books, Articles, and Talks about Angular Manfred Steyer, ANGULARarchitects.io
  11. • Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten @ManfredSteyer •

    By Adam Tornhill • Free for Open Source Projects • Lots of analysis methods • Awesome visualization • Several Programming Languages • Code & Architecture Level • https://codescene.com/ 14 Code Scene
  12. • Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten @ManfredSteyer •

    My take on Forensic Analysis • Open Source • Limited to a few methods • Architecture Level • Primarily TypeScript • Focus: Help for Reviews • Appetizer for CodeScene! 15 Detective
  13. • Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten @ManfredSteyer 18

    Awesome, but No Replacement for … Code Review Best Practices Architectural Goals Consequences/ Trade-offs Advise Joint Walkthrough Developer Interviews More general: Stakeholder Interviews
  14. • Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten @ManfredSteyer 19

    Awesome, but No Replacement for … Code Review Best Practices Architectural Goals Consequences/ Trade-offs Advise Joint Walkthrough Developer Interviews More general: Stakeholder Interviews (Forensic) Analysis Better Questions
  15. • Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten @ManfredSteyer 20

    Awesome, but No Replacement for … Change Coupling Hotspots Team Alignment Some Good Questions to Discuss
  16. • Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten 21 [Social

    Media] Manfred Steyer [web] ANGULARarchitects.io Manfred Steyer @ Manfred Steyer Slides & Examples Remote Company Workshops and Consulting http://angulararchitects.io