Chapter 18. Design for Testing and Maintenance

Software is long-lived. Even simple throwaway applications have proved to be hard to turn off. If an application is both usable and useful, it tends to be used and extended for years. As developers we need to take this longevity into account. The best way to do so is to lose the project mindset and treat software as capital.[95] Regardless of what accounting guidelines are in place, software applications are capital assets, and replacing them requires a lot of expense and work.

Software craftsmanship seeks to maximize the useful life of applications because the costs and risks involved in replacing them are immense. First, consider the cost of the development project itself, which in most cases is ...

Get Software Craftsmanship: The New Imperative 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.