Treat your code as a crime scene

Wednesday, 11:00 AM EST - SEA WATCH/SEA SHORE

We'll never be able to understand a software system from a single snapshot of the code. Instead we need to understand how the code evolved and how the people who work on it are organized. We also need strategies for finding bottlenecks and technical debt impairing our productivity, as well as uncovering hidden dependencies between code and people. Where do you find such strategies if not within the field of criminal psychology?

This workshop starts with a crash course in offender profiling before we quickly move on to adopt those principles to software development. You'll learn how easily obtained version-control data lets you 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.

Key insights include:
Prioritizing Technical Debt: Techniques to identify and address technical debt in large-scale systems based on return on investment.
Balancing Improvements and Features: Strategies for deciding between improving existing code versus adding new features.
Mitigating Key Person Dependencies: Methods to identify and reduce risks associated with critical dependencies on key individuals.

During the workshop, you get access to CodeScene – a behavioral code analysis tool that automates the analyses – which we use for the practical exercises. We’ll do the exercises on real world codebases in Java, C#, JavaScript and more to discover real issues. No coding experience is necessary.

About Adam Tornhill

Adam Tornhill

Adam Tornhill is a programmer who combines degrees in engineering and psychology. He’s the founder of CodeScene where he designs tools for code analysis. Adam is also the author of multiple technical books, including the best selling Your Code as a Crime Scene and Software Design X-Rays. Adam’s other interests include modern history, music, retro computing, and martial arts.

More About Adam »