Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Your Architecture as a Crime Scene: Improvement...
Search
Manfred Steyer
PRO
November 12, 2024
Programming
0
380
Your Architecture as a Crime Scene: Improvements with Forensic Analysis @ijs Munich 2024
Manfred Steyer
PRO
November 12, 2024
Tweet
Share
More Decks by Manfred Steyer
See All by Manfred Steyer
The Price of Micro Frontends… and Your Alternatives @bastacon 2025 in Frankfurt
manfredsteyer
PRO
0
10
Your Architecture as a Crime Scene:Forensic Analysis @bastacon 2025 in Frankfurt
manfredsteyer
PRO
0
7
Modern Angular with Signals and Signal StoreNew Rules for Your Architecture @bastacon 2025 in Frankfurt
manfredsteyer
PRO
0
2
Effective Signals in Angular 19+: Rules and Helpers
manfredsteyer
PRO
0
830
Effective Signals in Angular 19+: Rules and Helpers @ngbe2024
manfredsteyer
PRO
0
460
Your Architecture as a Crime Scene: Improvements with Forensic Analysis
manfredsteyer
PRO
0
24
Micro Frontends Unmasked Opportunities, Challenges, Alternatives
manfredsteyer
PRO
0
430
3 Effective Rules for Using Signals in Angular
manfredsteyer
PRO
0
280
3 Effective Rules for Using Signals in Angular
manfredsteyer
PRO
0
180
Other Decks in Programming
See All in Programming
はじめての Go * WASM *OCR
sgash708
1
100
Jakarta EE meets AI
ivargrimstad
0
340
『テスト書いた方が開発が早いじゃん』を解き明かす #phpcon_nagoya
o0h
PRO
8
2.4k
dbt Pythonモデルで実現するSnowflake活用術
trsnium
0
260
XStateを用いた堅牢なReact Components設計~複雑なClient Stateをシンプルに~ @React Tokyo ミートアップ #2
kfurusho
1
990
コミュニティ駆動 AWS CDK ライブラリ「Open Constructs Library」 / community-cdk-library
gotok365
2
240
技術を改善し続ける
gumioji
0
120
責務と認知負荷を整える! 抽象レベルを意識した関心の分離
yahiru
8
1.3k
Amazon Q Developer Proで効率化するAPI開発入門
seike460
PRO
0
120
データの整合性を保つ非同期処理アーキテクチャパターン / Async Architecture Patterns
mokuo
54
19k
SwiftUI Viewの責務分離
elmetal
PRO
2
270
「個人開発マネタイズ大全」が教えてくれたこと
bani24884
1
190
Featured
See All Featured
The Pragmatic Product Professional
lauravandoore
32
6.4k
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
Scaling GitHub
holman
459
140k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.4k
Rails Girls Zürich Keynote
gr2m
94
13k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7.1k
Bootstrapping a Software Product
garrettdimon
PRO
306
110k
Optimising Largest Contentful Paint
csswizardry
34
3.1k
Automating Front-end Workflow
addyosmani
1368
200k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
The Invisible Side of Design
smashingmag
299
50k
Transcript
AngularArchitects.io | @ManfredSteyer Your Architecture as a Crime Scene: Improvements
with Forensic Analysis
Which One is More Complex? [Adam Tornhill: Your Code as
a Crime Scene, 2nd edition, 2024]
Same „Cyclomatic Complexity“ [Adam Tornhill: Your Code as a Crime
Scene, 2nd edition, 2024]
[https://www.se.cs.uni-saarland.de/publications/docs/PAP+21.pdf]
Can we Support Architecture and Code Reviews with Code Metrics?
First Reaction … NO!
Goodhart‘s Law: „When a measure becomes a target, it ceases
to be a good measure.“ -- Charles A. E. Goodhart
What‘s Important for Architects? Minimal Dependencies Vertical 1 Vertical 2
Vertical 3 Feature UI Data Feature UI Data Feature UI Data
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!
Code Churn Code that changes often: Indicator for Issues
None
Forensic Analysis Source Code History History History Forensic Analysis „Hidden“
Patterns e.g., Git History
Agenda • Tools for Forensic Analysis • Limitations of Forensic
Analysis • DEMO • Lab • Discussion: Your Findings
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
Tools
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/
Detective • Our take on Forensic Analysis • Open Source
• Limited to a few methods • Architecture Level • Primarily TypeScript • Focus: Help for Reviews • Appetizer for CodeScene!
Limitations
Awesome, but not a replacement for … Code Review Best
Practices Architectural Goals Consequences/ Trade-offs Advise Joint Walkthrough Developer Interviews More general: Stakeholder Interviews
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
DEMO
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:
Contact and Downloads [web] ANGULARarchitects.io [twitter] ManfredSteyer d Slides &
Examples Remote and In-House http://softwarearchitekt.at/workshops