InfoQ Homepage Technical Debt Content on InfoQ
-
How to Make Technical Debt Your Friend
Technical debt is a popular metaphor for communicating the long-term implications of architectural decisions and trade-offs to stakeholders. By exploiting the feedback mechanism of the Minimum Viable Architecture (MVA) approach, we have concluded that the technical debt metaphor is misleading because much of the so-called debt never needs to be, and in fact isn’t, repaid.
-
Simplicity, Speed, and Re-Use. Shipping Threads in 5 Months
In Jan 2023, we received word that we’d need to build a microblogging service to compete with Twitter in a couple of months. A small team was assembled to take on that challenge, and we shipped a new social network in July. This article describes how we developed and launched the Threads app at Meta last year.
-
How to Get Tech-Debt on the Roadmap
Only doing product-led work can lead to an unmaintainable system with lots of downtime. Unfortunately, getting time to work on the things that would prevent that can be challenging. Engineering roadmaps balance many competing demands, and the people making the decisions aren’t always the closest to the code. There is a need to learn how to speak their language.
-
What Does Technical Debt Tell You?
Technical debt is a popular metaphor for communicating the long-term implications of architectural decisions and trade-offs to stakeholders, but there are limitations to its usefulness. Incorporating quality attribute requirements, or using a different metaphor such as deferred maintenance, can help improve decision making.
-
Code Red: the Business Impact of Code Quality
Everyone in the software industry “knows” that code quality is important, yet we never had any data or numbers to prove it. In this article, we explore the impact by diving into recent research on code quality. With twice the development speed, 15 times fewer bugs, and a significant reduction of uncertainty in completion times, the business advantage of code quality is unmistakably clear.
-
Talking Like a Suit - Communicating the Importance of Engineering Work in Business Terms
This article explores how to construct engineering work as a story, including clearly presenting a problem, offering a solution, and showing the business a path to success that solves their problem and avoids failure. By presenting your case in this way, you significantly increase your chances of getting these engineering problems addressed, while also becoming a better partner for the business.
-
Managing Technical Debt in a Microservice Architecture
At QCon Plus, Glenn Engstrand described how Optum Digital engineering devised a method for reliably and predictably paying down tech debt for hundreds of microservices, forming relevant communities and identifying high-risk areas. The communities' collective decisions can be compiled into an actionable roadmap and presented to product managers in a systemic and non-confrontational way.
-
Avoiding Technical Bankruptcy: a Whole-Organization Perspective on Technical Debt
Technical debt is not primarily caused by clumsy programming, and hence we cannot hope to fix it by more skilled programming alone. Rather, technical debt is a third-order effect of poor communication. What we observe and label “technical debt” is the by-product of a dysfunctional process. To fix the problem of accumulating technical debt, we need to fix this broken process.
-
Technical Debt Isn't Technical: What Companies Can Do to Reduce Technical Debt
In this article, three experts discuss some of the key findings of the “State of Technical Debt 2021” report including the impact of technical debt on engineering teams, the pros and cons of dealing with maintenance work continuously, the future of technical debt and what each engineering teams can do to communicate the importance of dealing with technical debt to companies’ leadership.
-
Improving Testability: Removing Anti-Patterns through Joint Conversations
Code is always testable, but the cost may be high, and the effort exhausting. We can change code to be highly testable by identifying anti-patterns and fixing them. And developers can make the code fit the test requirements, by having discussions with the testers who actually test it.
-
‘Debt’ as a Guide on the Agile Journey: Technical Debt
In this article in a series on how ‘debt’ can be used to guide an agile journey, we will provide two examples of smells that are related to technical debt, explain the symptoms, the impact on the business and in our organization, outline the experiments (countermeasures) that we have introduced in an effort to try to remove the smell, and provide some specific advice for you to be inspired.
-
Signs You’re in a Death Spiral (and How to Turn It around before It’s Too Late)
Don’t let feature work blind you. Enterprises are ramping up their software delivery to compete in the digital-first world. But more features and faster time-to-market can lead your business into a death spiral if you neglect technical debt and risk work. Learn how to use value stream metrics to identify whether your business is in danger and how to reverse the trajectory before it’s too late.