Economy of Software Maintenance

Friday, December 5, 2008

Program maintenance is an entropy-increasing process, and even its most skillful execution only delays the subsidence of the system into unfixable obsolescence.

Frederick P. Brooks, Jr., “The Mythical Man-Month”

In the old model, large companies built large pieces of software and had to support nearly every user and their myriad edge cases and behaviors. This meant fixing a huge amount of bugs, especially at the corner cases of the software because of the sheer volume of users. This model didn’t adequately factor in the ongoing software maintenance costs associated directly with the number of bugs found by the users, contrasted with the organizational costs and loss of inertia from perpetual maintenance.

In the new model, companies and pieces of software are smaller and more numerous. The competition between products and companies means that software consumers have a choice and market economics have a chance to provide some great benefits. Notably, if one company’s software is buggy in an edge case, they need not worry about fixing the bug unless it would earn them more income than the cost it would take to fix; the user can simply purchase a different piece of software. Small companies can choose what they fix and who their customers are, enabling them to stay small, innovate faster, compete better and optimize for growth or profit.

A great deal of this ability also stems from the generally increased state of data interoperability and increased competition at the different levels of software implementation. Operating systems are still relatively few in number, but drivers, utilities, word processors, graphics applications and so forth are intensely numerous. Add to that the arrival of the Internet as a platform and you have the most thriving and successful software ecosystem in history.

Quickly fading are the days when a monolithic company worked tirelessly to fix every reported bug, only to end up with a mediocre product constantly teetering on the edge of its own implosion. And it can’t change fast enough.

written by Brad Fults

Archived at: http://h3h.net/2008/12/economy-of-software-maintenance/

Comments are closed for this post. Please contribute to the discussion by posting your own article and linking back to this one.