Chapter 4. Writing software of quality

As a system evolves, its complexity increases unless work is done to maintain or reduce.

—Prof. Manny Lehman

Nobody likes debt but, as harsh as it might sound, some level of debt in life is unavoidable. Technical debt in software is no exception. Abstractly speaking, technical debt is sort of a mortgage taken out on your code. You take out a mortgage every time you do quick-and-dirty things in your code. Like mortgages in life, technical debt might allow you to achieve an immediate result (for example, meeting a deadline), but that comes at the cost of interest that needs to be paid back (for example, higher costs of further maintenance and refactoring).

In Chapter 2, “Designing for success,” we identified ...

Get Microsoft .NET: Architecting Applications for the Enterprise, Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.