Learn how to be a wildly successful small business programmer

Tag: Technical Debt

How to be more successful at software maintenance

In this post I want to explore the kind of software maintenance that happens after active maintenance ends. This is the stage of the software life cycle where the software has been in production for some time and the initial wave of bug fixes and enhancement requests ends. It’s also at this point that managers may cut the number of developers assigned to the project and turn their attention elsewhere.

Keeping this kind of project running safely, securely, and profitability as the years tick by–even if you’re not adding or changing functionality–is especially challenging.

I’ve spent more than a decade in this situation. And I’d like share some of my observations and advice about maintaining this kind of software with you.

Continue reading

How to make time to repay your technical debt

There are hundreds, if not thousands, of articles about how to pay down your technical debt and most of them miss step one. They don’t tell you how to make the time to repay your technical debt. It’s unlikely that you’ll be able to convince management to let you stop working on features and bug fixes to repay your technical debt for long enough to truly make a difference. And since it’s always hard to quantify the impact of repaying technical debt, it rarely gets to the top of anyone’s backlog. Well, I’m going show you how to get around this problem.

Continue reading

Technical debt: we need better communication, not better metaphors

Technical debt as a metaphor is not serving our profession well. It was meant to help us talk to business people and make better decisions about our software projects. But it has largely been a failure. Part of the problem is that business people aren’t afraid of future interest payments.

In business school, I learned about the power of leverage: what it is, how to get it, how to measure it, and how to manage it. Debt is a tool. My fellow business school grads are comfortable with leverage and debt. So when the programmers come to the business people complaining about technical debt, the business people are unconcerned. And why would they be? The metaphor is misleading; technical debt is only superficially similar to financial debt.

Continue reading