conf.directory

Prioritizing Technical Debt as if Time & Money Matters • Adam Tornhill • GOTO 2019

About this talk

This presentation was recorded at GOTO Copenhagen 2019. #GOTOcon #GOTOcph http://gotocph.com Adam Tornhill - Author of "Your Code as a Crime Scene" @adamtornhill2546 @codescene-softwareengineer6553 RESOURCES https://twitter.com/AdamTornhill https://github.com/adamtornhill https://linkedin.com/in/adam-tornhill-71759b48 http://www.adamtornhill.com ABSTRACT Many codebases contain code that is overly complicated, hard to understand, and hence expensive to change and evolve. Prioritizing technical debt 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 [...] TIMECODES 0:00 Introduction 0:37 Lehman's "Laws" of Software Evolution 3:19 QUANTIFYING TECHNICAL DEBT? 4:56 THE PERILS QUANTIFYING TECHNICAL DEBT 8:32 Version-Control - A Behavioral Data Source 9:24 Case Study: Android 16:43 X-Ray of ActivityManager Service.java 19:41 Code Quality In Context: Why you shouldn't fix all code issues 21:51 What Is Legacy Code? 24:26 Case Study: Off-Boarding 24:54 Case Study: ASP.NET MVC Core 28:35 Tooling: Try it on your own Code 31:00 Analysing Microservice Architectures 33:25 Aggregation: Architectural Hotspots in Spinnaker 35:20 Microservice Dependencies: The Impact of Change 36:52 Change Coupling: Component or Feature Teams? 37:59 Dependencies and Teams: Locality of Change 43:13 Re-Think Software Architectures: From Accidental to Essential Download slides and read the full abstract here: https://gotocph.com/2019/sessions/974 RECOMMENDED BOOKS Adam Tornhill • Software Design X-Rays • https://amzn.to/3DEeEnI Adam Tornhill • Your Code as a Crime Scene • https://amzn.to/3FI5E2V Adam Tornhill • Lisp for the Web • https://leanpub.com/lispweb Adam Tornhill • Patterns in C • https://leanpub.com/patternsinc https://bsky.app/profile/gotocon.com https://twitter.com/GOTOcon https://www.linkedin.com/company/goto- https://www.instagram.com/goto_con https://www.facebook.com/GOTOConferences #Legacy #DeveloperProductivity #Teams #TechnicalDebt #AdamTornhill #CodeScene CHANNEL MEMBERSHIP BONUS Join this channel to get early access to videos & other perks: https://www.youtube.com/channel/UCs_tLP3AiwYKwdUHpltJPuA/join Looking for a unique learning experience? Attend the next GOTO conference near you! Get your ticket at https://gotopia.tech Sign up for updates and specials at https://gotopia.tech/newsletter SUBSCRIBE TO OUR CHANNEL - new videos posted almost daily. https://www.youtube.com/user/GotoConferences/?sub_confirmation=1

Stay Updated

Get notified about new features and conference additions.

Prioritizing Technical Debt as if Time & Money Matters • Adam Tornhill • GOTO 2019 by Adam Tornhill | conf.directory | conf.directory