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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Manfred Steyer
PRO
November 12, 2024
Programming
720
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
190
Generative UI & AI-Assistants for Your Angular Solutions
manfredsteyer
PRO
0
110
Nostalgia Meets Technology: Super Mario with TypeScript
manfredsteyer
PRO
0
180
Signal Forms: Details & Live Coding @enterJS 2026 in Mannheim
manfredsteyer
PRO
0
230
Strategic Design in the Frontend: Moduliths & Micro Frontends @DDDEurope
manfredsteyer
PRO
0
160
Agentic UI
manfredsteyer
PRO
0
230
Signal Forms: Beyond the Basics @ngBaguette 2026 in Paris
manfredsteyer
PRO
0
290
Agentic UI beyond Chats Architecture Patterns & Open Standards @ngMunich 05/2026
manfredsteyer
PRO
0
240
Agentic AI in the Frontend: Architectures with Open Standards @iJS London 2026
manfredsteyer
PRO
0
170
Other Decks in Programming
See All in Programming
1B+ /day規模のログを管理する技術
broadleaf
0
140
えっ!!コードを読まずに開発を!?
hananouchi
0
220
LLMによるContent Moderationの本番運用の裏側と品質担保への挑戦
suikabar
3
860
【やさしく解説 設計編 #1】「ドメイン駆動」と「実装駆動」ってなに? 〜設計の考え方を、たとえ話で学ぼう〜
panda728
PRO
1
120
act1-costs.pdf
sumedhbala
0
230
act2-costs.pdf
sumedhbala
0
110
AWS CDK を「作」ってみた 〜フルスクラッチで見えた CDK の裏側〜 / aws-cdk-from-scratch
gotok365
3
430
霧の中の代数的エフェクト
funnyycat
1
390
Foundation Models frameworkで画像分析
ryodeveloper
1
120
Welcome to the "Parametricity" 🏙️ − Generic だけど Specific な世界 −
guvalif
PRO
1
170
型も通る、synthも通る、それでも危ない 〜AIのCDKの権限とコストを機械で検証する〜 / It Passes Type Checks, It Passes Synth Checks, but It’s Still Risky — Automatically Verifying Permissions and Costs in AI’s CDK —
seike460
PRO
1
350
AI時代の仕事技芸論〜ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ(スクフェス仙台 2026バージョン)
kuranuki
0
650
Featured
See All Featured
Exploring anti-patterns in Rails
aemeredith
3
440
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.6k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
The Curious Case for Waylosing
cassininazir
1
430
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
600
How STYLIGHT went responsive
nonsquared
100
6.2k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
340
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
970
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
900
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
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