Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥

Your Architecture as a Crime Scene: Improvement...

Your Architecture as a Crime Scene: Improvements with Forensic Analysis @ijs Munich 2024

Manfred Steyer

November 12, 2024
Tweet

More Decks by Manfred Steyer

Other Decks in Programming

Transcript

  1. Goodhart‘s Law: „When a measure becomes a target, it ceases

    to be a good measure.“ -- Charles A. E. Goodhart
  2. What‘s Important for Architects? Minimal Dependencies Vertical 1 Vertical 2

    Vertical 3 Feature UI Data Feature UI Data Feature UI Data
  3. 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!
  4. Agenda • Tools for Forensic Analysis • Limitations of Forensic

    Analysis • DEMO • Lab • Discussion: Your Findings
  5. About me… Manfred Steyer, ANGULARarchitects.io (Remote) Angular Workshops and Consulting

    Google Developer Expert for Angular Blog, Books, Articles, and Talks about Angular Manfred Steyer
  6. Code Scene • By Adam Tornhill • Free for Open

    Source Projects • Lots of analysis methods • Awesome visualization • Several Programming Languages • Code & Architecture Level • https://codescene.com/
  7. Detective • Our take on Forensic Analysis • Open Source

    • Limited to a few methods • Architecture Level • Primarily TypeScript • Focus: Help for Reviews • Appetizer for CodeScene!
  8. Awesome, but not a replacement for … Code Review Best

    Practices Architectural Goals Consequences/ Trade-offs Advise Joint Walkthrough Developer Interviews More general: Stakeholder Interviews
  9. However, a tempting addition … Code Review Best Practices Architectural

    Goals Consequences/ Trade-offs Advise Joint Walkthrough Developer Interviews More general: Stakeholder Interviews (Forensic) Analysis Better Questions
  10. Try it out Now in Your Project! npm i @softarc/detective

    –D npx detective https://github.com/manfredsteyer/standalone-example-cli.git Run this in your own code base (prefered) or clone this example project:
  11. Contact and Downloads [web] ANGULARarchitects.io [twitter] ManfredSteyer d Slides &

    Examples Remote and In-House http://softwarearchitekt.at/workshops