Chapter 19. The Refresh Problem

As a group, we spend proportionately way too much time talking about new software development. Although those are the projects people prefer to work on—the “green field” development we hear so much about—the plain fact of the matter is that software lives for a very long time. As a result, we spend a lot of time maintaining and upgrading legacy code. It is not uncommon for systems’ lives to be measured in decades, not years. Now one might ask, in a field that changes so rapidly, why does software hang around for so long?

There are a few reasons. First, initial development costs are usually much higher than forecast, so the “sunk cost” of a newly deployed system is already more than was anticipated at the origination ...

Get Software Development Edge, The: Essays on Managing Successful Projects 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.