“Technical debt” is a dirty word in the software engineering field, but financial debt isn’t universally reviled in the same way. The difference is intention.
What if tech debt wasn’t always an accident, caused by incorrect assumptions and unexpected circumstances? How would you spend a tech debt mortgage? This talk presents an investment-based approach to thinking about software development. Time is our currency; we can spend it now, and we can also take on technical debt that commits us to spend time later. Project tasks are investments that cost time and return something of value, like user-facing features or learnings for the development team. But watch out—most investments aren't a sure thing, so you need to spend wisely. By taking risk into account and prioritizing creating value sooner, you can reduce wasted effort and improve your project's odds for success. We'll discuss how this framework was used to rapidly build and ship Squarespace's Email Campaigns product in less than 15 months. Along the way you'll get several practical guidelines for how tech debt can supercharge your technical investments, with real examples from inside Squarespace.