The Technical Debt Snowball

Every project you work on has its share of technical debt. Maybe you coded it in a hurry to meet a deadline; maybe you were almost finished when you realized that everything would have been more robust and more flexible with a different architecture; maybe you were learning a new library or framework, and your naïveté is reflected in the code you wrote with it. Whatever your reasons for taking on debt in your code, now you have to deal with the consequences: interest payments. You get constant bug reports; every new feature causes another to break; chasing down interdependencies doubles the time you spend in your code. You feel trapped, unable to make any progress, bogged down by the weight of your past indiscretions. You’re ready to throw it all away and declare bankruptcy. It doesn’t have to be this way. You don’t have to abandon your plugin; you don’t have to rewrite it from the ground up. Start making small changes now. Automated testing, refactoring, documentation, design, style guides—even a little bit will have immediate returns. By paying off your small debts, you’ll find that you have the resources to begin tackling your larger debts. Let’s get started today, identifying the low-hanging fruit to get your technical debt snowball rolling.