I gave a talk on September 7, 2010, at the Neon Guild meeting.
I spoke about Ward Cunningham’s concept of technical debt, weaving in some ideas I got from Alistair Cockburn about the cost of making changes to software and practices such as refactoring and automated testing as a way to reduce ‘debt’.
The key idea is that software change becomes increasingly costly (exponentially as the number of changes). I related technical debt to a buildup of complexity and confusion in the software design over time. And I spoke of ‘building knowledge in’ as a way to reduce this problem. Building knowledge in means improving the design, as new understanding is acquired. New understand always occurs, but it is not always built back into the software, and thus risks getting lost in documents and in the heads of people who leave the project. Knowledge is built in by continually improving the design, as well as adding automated tests. The activities for doing this are paid back in cost savings over time.
Here’s a link to a PDF of the slides I used in the talk.