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
780
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Your Architecture as a Crime Scene: Improvements with Forensic Analysis @ijs Munich 2024
Manfred Steyer
PRO
November 12, 2024
More Decks by Manfred Steyer
See All by Manfred Steyer
Generative UI & AI-Assistants for Your Angular Solutions
manfredsteyer
PRO
1
480
Generative UI & AI-Assistants for Your Angular Solutions
manfredsteyer
PRO
0
200
Nostalgia Meets Technology: Super Mario with TypeScript
manfredsteyer
PRO
0
290
Signal Forms: Details & Live Coding @enterJS 2026 in Mannheim
manfredsteyer
PRO
0
290
Strategic Design in the Frontend: Moduliths & Micro Frontends @DDDEurope
manfredsteyer
PRO
0
210
Agentic UI
manfredsteyer
PRO
0
310
Signal Forms: Beyond the Basics @ngBaguette 2026 in Paris
manfredsteyer
PRO
0
350
Agentic UI beyond Chats Architecture Patterns & Open Standards @ngMunich 05/2026
manfredsteyer
PRO
0
290
Agentic AI in the Frontend: Architectures with Open Standards @iJS London 2026
manfredsteyer
PRO
0
230
Other Decks in Programming
See All in Programming
AWS Step Functions 大規模並列の壁を越える / jaws-sonic-2026-niigata-step-functions
kasacchiful
PRO
0
310
AI に Inclusive UI を書かせよう — Design Rules Skill で Compose UI を作り直す
theoriatec2024
1
430
まずはプロンプトガイドを読もう、話はそれからだ
kiakiraki
1
250
Pythonの実行はどこまで賢くなったのか? CPythonとPyPyから見る最適化のしくみ
curekoshimizu
4
2.7k
Jindong: Introducing Declarative Haptics in Compose Multiplatform
l2hyunwoo
0
140
私のClaude Code活用法 (個人開発編) - PHPerKaigi mini #4(2026/08/24)
panda_program
1
210
이 함수, 실패하면 어떻게 되나요? null부터 Rich Errors까지, Kotlin 에러 처리 15년
haeti2
0
120
20260828_品質と開発生産性を両立させる、AI時代のE2Eテストの考え方
magicpod
0
130
From 6 People Classroom Meetup to 100 People Regional Conference / FOSS4G Hiroshima 2026
furukawayasuto
0
100
思考垂れ流し開発 ~音声入力 × AIエージェント × 開発ハーネスによる試行錯誤~
npostring
0
810
PyConJP2026_wat_Python × Signal Processing: How to Draw Pictures with Sound Using Spectrogram Art
wat
0
660
ALB ログから Trace を気合で繋げる技術
fohte
7
860
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1033
470k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
4.6k
Claude Code のすすめ
schroneko
67
230k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
240
For a Future-Friendly Web
brad_frost
183
10k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
260
Amusing Abliteration
ianozsvald
1
280
How Software Deployment tools have changed in the past 20 years
geshan
1
34k
Discover your Explorer Soul
emna__ayadi
2
1.3k
The Cost Of JavaScript in 2023
addyosmani
55
10k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.1k
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