I came across some interesting articles about technical dept and the design of death which we may encounter during development on the DeltaShell parts.
"You have a piece of functionality that you need to add to your system. You see two ways to do it, one is quick to do but is messy - you are sure that it will make further changes harder in the future. The other results in a cleaner design, but will take longer to put in place.
Technical Debt is a wonderful metaphor developed by Ward Cunningham to help us think about this problem. In this metaphor, doing things the quick and dirty way sets us up with a technical debt, which is similar to a financial debt. Like a financial debt, the technical debt incurs interest payments, which come in the form of the extra effort that we have to do in future development because of the quick and dirty design choice. We can choose to continue paying the interest, or we can pay down the principal by refactoring the quick and dirty design into the better design. Although it costs to pay down the principal, we gain by reduced interest payments in the future." Martin Fowler: Technical Dept
Other good articles about this topic:
Eric Ries: Lessons learned:Embrace technical depth
Kane Mar: Technical Debt and Design Death
Dave Laribee: Using Agile Techniques to Pay Back Technical Debt and 9 Useful Tactics for Paying Back Technical Debt
Don't forget this one: