Podcast: Play in new window | Download (Duration: 51:04 — 70.1MB)
Panel:
- Aaron Patterson (twitter github blog)
- Charles Max Wood (twitter github Teach Me To Code Rails Summer Camp)
- James Edward Gray II (blog twitter github)
- Josh Susser (twitter github blog)
Discussed in this episode:
- Deliberate technical debt – deferring development to when you can later afford the time
- Inadvertent technical debt – adding technical debt without realizing it or because libraries/frameworks go out of date.
- When would you deliberately accrue technical debt?
- Time crunches
- Everything pretty much devolves down to time
- Deferring for lack of expertise
- Shorten time to market by trading time.
- Lean Startup
- What’s the right solution? Fix your code? or rewrite your code?
- Quantify the cost of your technical debt – Josh gave an example.
- Sources of Technical Debt:
- Upgrade costs
- Test coverage
- Application features
- Non-core features
- Compatibility costs
- Coupled code
- Dependencies
- Early adoption
- Solutions:
- Versioning
- Upgrading
- Do the work
- Bypassing the problem – Solving it a different way
- How do you know you’re adding technical debt?
- When you start to feel the pain.
- When you make the initial payment.
- Technical debt is a deficiency in your code or process. It’s costing you time.
- Counter-examples:
- Code you don’t need to maintain
- Code you can avoid without incurring immediate or eventual cost
- How do you avoid technical debt?
- Good abstractions
- Good refactoring
- Refactoring
(by Martin Fowler)
- Declaring Bankruptcy – Folding up the project? Restarting/rewriting?
Picks
- Working Effectively with Legacy Code
by Michael Feathers (Aaron)
- SGU – Skeptic’s Guide to the Universe Podcast (James)
- SGU – Stargate Universe (amazon.com) (James)
- Coda Hale – Metrics, Metrics, everywhere (video) (Josh)
- Wunderlist (Chuck)








[...] now, pay later Technical Debt, a panel discussion with Aaron Patterson, Charles Max Wood, James Edward Gray II and Josh [...]