Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/2pdF2OP.
Adam Tornhill introduces an approach with the potential to change how we view software systems, offering an overview of techniques, based on software evolution and findings from various fields within psychology, that help uncover both problematic code and the social dimension of the teams that build software. He illustrates each point with a case study from a real-world codebase. Filmed at qconlondon.com.
Adam Tornhill is the founder and CTO of Empear, where he designs tools for software analysis. He’s also the author of Your Code as a Crime Scene, has written the popular Lisp for the Web tutorial, and self-published a book on patterns in C.
2. InfoQ.com: News & Community Site
Watch the video with slide
synchronization on InfoQ.com!
https://www.infoq.com/presentations
/priority-technical-debt
• Over 1,000,000 software developers, architects and CTOs read the site world-
wide every month
• 250,000 senior developers subscribe to our weekly newsletter
• Published in 4 languages (English, Chinese, Japanese and Brazilian
Portuguese)
• Post content from our QCon conferences
• 2 dedicated podcast channels: The InfoQ Podcast, with a focus on
Architecture and The Engineering Culture Podcast, with a focus on building
• 96 deep dives on innovative topics packed as downloadable emags and
minibooks
• Over 40 new content items per week
3. Purpose of QCon
- to empower software development by facilitating the spread of
knowledge and innovation
Strategy
- practitioner-driven conference designed for YOU: influencers of
change and innovation in your teams
- speakers and topics driving the evolution and innovation
- connecting and catalyzing the influencers and innovators
Highlights
- attended by more than 12,000 delegates since 2007
- held in 9 cities worldwide
Presented at QCon London
www.qconlondon.com
4. “Like a financial debt, the technical debt incurs interest payments,
which come in the form of the extra effort that we have to do in
future development”
Questioning Technical Debt
https://martinfowler.com/bliki/TechnicalDebt.html
@AdamTornhill
5. Interest Rate Is A Function Of Time
http://i.imgur.com/a8Xo4Hp.png
@AdamTornhill
8. There’s A Strong Link Between
Technical Debt And The Organisation
@AdamTornhill
9. Wish List: Information to Prioritize Technical Debt
@AdamTornhill
Where’s the Highest Interest Rate?
Does the Architecture Support the way our System Evolves?
Any Productivity Bottlenecks for Inter-Team Coordination?
14. Hotspots - A Tool To Prioritize
Hotspots
Hotspots
15. All Code is Equal
…but some Code is more equal than others*
* Sorry, George Orwell
16. Why Hotspots Work
1 Year in Roslyn (C#, VB) 6 Years of Erlang 12 Years of Ruby on Rails
Each file in the system
ChangeFrequency
Reference: Your Code as a Crime Scene, ISBN:1680500384
Prioritize improvements here!
Ignore the long tail
24. Hotspots Summary
Hotspots find the code with the highest interest rate.
Hotspots work because all code isn’t equal.
Supervise the Complexity Trend of your Hotspots.
39. Fractal Value: M. D’Ambros, M. Lanza, and H Gall. Fractal Figures: Visualizing Development Effort for CVS Entities.
Inter-Team Overlap
Fractal Value
0 ~1.0
Views
IntegrationTasks
Backup
Tests
Measure Team Coordination
Excess Parallel Work
The Diffusion of Responsibility
40. Measuring Conway’s Law
Architectural Pattern: Package by Feature
Views
Features
@AdamTornhill
Front-End Team
Export Team
Recommendations Team
Ads Team
Calculations Team
Backup Team
44. @AdamTornhill
Time - The Hidden Dimension of Software Design
http://www.empear.com/blog/software-revolution-part3/
The Day I Parsed A Monster
http://www.empear.com/blog/parse-a-monster/
Read The Book: Your Code As A Crime Scene
https://pragprog.com/book/atcrime/your-code-as-a-crime-scene
CodeScene: The Analyses as a Service
https://codescene.io/
adam.tornhill@empear.com
45. Watch the video with slide synchronization on
InfoQ.com!
https://www.infoq.com/presentations/priority-
technical-debt