The rise of agile methods (particularly XP) makes some people wonder if there's any role left for software design. I argue that this change shifts from planned to evolutionary design.| martinfowler.com
Self-testing code has automated tests that are easily run to verify that it does what the programmers intended| martinfowler.com
Continuous Delivery means you build software in such a way that it can be released to production at any time| martinfowler.com
Technical Debt is a metaphor for the consequences of cruft. You either have to accept a drag on further features (paying interest) or fix the software (paying the principal)| martinfowler.com