warning icon QCon London 2021 has been canceled. See our current virtual and in-person events.
You are viewing content from a past/completed QCon -

Track: Dark Code: The Legacy/Tech Debt Dilemma

Location: Mountbatten, 6th flr.

Day of week: Monday

How do you evolve your code and modernize your architecture when you're stuck with part legacy code and technical debt? Lessons from the trenches.

Track Host: Michael Feathers

Author of Working Effectively with Legacy Code
Michael Feathers is the founder and Director of R7K Research & Conveyance, a company specializing in software and organization design. Prior to forming R7K, Michael was the Chief Scientist of Obtiva and a consultant with Object Mentor International. Over the years, Michael has spent a great deal of time helping teams after design over time in code bases. Michael is also the author of the book Working Effectively with Legacy Code (Prentice Hall, 2004).

Strategic Code Deletion

In most systems, code lives forever. Occasionally, we can delete it if we are sure it is not used; however, static path analysis and production monitoring of code usage are often expensive and present inconclusive results. In this talk, Michael Feathers will describe techniques that allow us to generate more certainty around our assessments of feature liveness, and strategies that can be used to remove code that does not have high value.

Michael Feathers, Author of Working Effectively with Legacy Code

A Crystal Ball To Prioritize Technical Debt

The technical debt metaphor has taken the software world with storm. No wonder, since software projects have their fair share of challenges. Most organizations find it hard to prioritize and repay their technical debt. The main reason is the scale of modern systems with million lines of code and multiple development teams; no one has a holistic overview. So what if we could mine the collective intelligence of all contributing programmers and start to make decisions based on data from how the organization actually works with the code?

Adam Tornhill introduces one such 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 your software. This combination lets you prioritize the parts of your system that benefit the most from improvements, detect organizational issues, and make practical decisions guided by data. Adam illustrates each point with a case study from a real-world codebase.

This new perspective on software development will change how you work with legacy systems.

Adam Tornhill, Founder and CTO of Empear

Refactoring Mount Doom - Tackling Legacy Code

We’ve all had that nightmare where you are try to get to your destination, and keeping moving, trying different things, but for various reasons, you never arrive.

Some refactorings are like that - you extract methods, name constants, increase readability… In short, you spend a lot of time cleaning up - but you never get to a good place with the code. In this talk, I will show you how to refactor for the right reasons and the right methods to use your time efficiently. Let’s make working with that code easier in the future.

Franziska Sauerwein, Software Craftswoman @Codurance

Using Quality Views to Tackle Tech Debt @Tesla

When you work in engineering or operations, you become intimately familiar with the challenges of technical debt. It can be difficult, however, to communicate the full cost to others in the organization, particularly to people who are non-technical. Communicating the risks for software systems that are not directly customer-facing can be especially difficult. For these systems, it can be easy to ignore the technical debt until it becomes crippling.

Colin Breck has been using quality views to highlight technical debt and ensure the risks associated with it are balanced against the product development objectives of the organization. Quality views represent the system holistically, describing where investments are being made and where they are not being made. They highlight risks and demonstrate how the system is evolving over time. He will share his approach, explore examples, and provide some practical advice and observations based on his experience using quality views.

Quality views may help you improve communication in support of tackling technical debt in your organization.

Colin Breck, Sr. Staff Software Engineer @Tesla

Crushing Tech Debt Through Automation at Coinbase

In the past 4 years Coinbase has grown from one service in production to over 100. Our team has grown 50x, we’ve launched in 30 countries and reinvented ourselves several times as we mature and our industry evolves. We believe a failure mode of financial companies is the death of innovation once encumbered by tech debt and the fear to change that follows. While maintaining an uncompromising level of increasingly scrutinized security, we’ve systematically attacked tech debt to stay agile and step ahead of our competitors. This talk will take a deep dive into how Coinbase attacks tech debt, including deployments, testing, immutable + codified infrastructure. We’ll share a recent "Scorched Earth" event where we upgraded and rebuilt 100% of our infrastructure from scratch in 24 hours. Tech includes AWS, Docker, CoreOS, Terraform, GeoEngineer and more.

Rob Witoff, Chief Architect @Coinbase

Last Year's Tracks

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.