My team lead is changing companies, so we’ve had various discussions as of late about design decisions we’ve made in our area of the project and others we’re considering for future work. Given this situation happened at my previous job, and I’ve had informal discussions with other developers, I imagine it’s a fairly common occurrence during knowledge transfer.
During our discussion, I jokingly said that we needed a debt transfer agreement where I acknowledge that I’m aware of the technical debt we’ve incurred, and that because I’m taking over as team lead, the debt is now “mine,” so to speak.
We were both surprised that some amused/sarcastic developer somewhere hadn’t created and shared such an agreement already. Yours truly has drafted said agreement, so feel free to avail yourself of it.
Acknowledgement of Technical Debt Form
I, the undersigned,
name of developer who will pay the debt,
do hereby acknowledge that I am in receipt of the technical debt incurred by
name of developer who is leaving
in the sum of
types of debt (e.g., duplicated code, lack of tests, highly coupled design, LINQ statements only a compiler can understand)
reasons for taking on debt (e.g., we had to ship or deal with the consequences, the DB team would have taken forever to write a stored procedure, if we put logic in the UI we don’t have to unit test it).
Signed on date, as witnesses architect, project manager.
(Text adopted from the Acknowledgement of Debt form found here.)