Development and Maintenance

Up through the '90s, software people made an artificial distinction between development and maintenance.

This separation between development and maintenance was partly a hangover from government contracting practices. Traditionally, pure hardware (trebuchets, howitzers, and the like) were designed, then manufactured, by one contractor. After that, keeping the weapon systems working was someone else’s job. The Army, for example, employed tank mechanics.

It took a *long* time for the “softness” of software to have an effect on process. Even when yearly releases of commercial software were the norm, people still clung to the separation between development and maintenance. For example, the people fixing bugs in Version 2 might be completely separate, organizationally, from the people designing and building Version 3.