The Technical Debt Posted by Federico Navarrete on July 30, 2019 code cruft deliberate TD refactoring risks software architecture technical debt +