Adam Tornhill is a programmer who combines degrees in engineering and psychology. He’s the founder of Empear where he designs the CodeScene tool. He’s also the author of Software Design X-Rays, Your Code as a Crime Scene, Lisp for the Web, and Patterns in C. Adam’s other interests include modern history, music, and martial arts.
In this workshop you learn novel analysis techniques that support both technical and organizational decisions around your codebase. The techniques use data from the most underused informational source that we have in our industry: our version-control system. Combined with metaphors from forensic psychology you learn to analyze version-control data. Read more...
Many codebases contain code that is overly complicated, hard to understand, and hence expensive to change and evolve. Prioritizing the technical debt to pay off is a hard problem as modern systems might have millions of lines of code and multiple development teams -- no-one has a holistic overview. In addition, there's always a trade-off between improving existing code versus adding new features so we need to use our time wisely. So what if we could mine the collective intelligence of all contributing programmers, and start to make decisions based on information from how the organization actually works with the code?
In this presentation you'll see how easily obtained version-control data let us uncover the behavior and patterns of the development organization. This language-neutral approach lets you prioritize the parts of your system that benefit the most from improvements, so that you can balance short- and long-term goals guided by data. The specific examples are from real-world codebases like Android, the Linux Kernel, .Net Core Runtime, and more. This new perspective on software development will change how you view code.
Author of “Domain-Driven Design”
Inventor of EventStorming
Student of Systems
UX person in love with DDD
Use Case Driven
Data Horticulturist. Code Tinkerer.
Development Manager and Architect
Domain Driven Developer
Ask Me About Dojos
Developer, Crafty Person, and Eater of Legacy Spaghetti
Junior Master Strategist
Event-driven Model Enthusiast
Author of Idea Flow
Engage and Embrace
Author and Obsessive Programmer
Engineering Excellence Evangelist
Author of PPP of DDD
Functional Domain Modeler
Distributed engineer, AFOL
Flow addict PM
Technical Debt Detective