None of the software development organizations I am familiar with (Rockwell Software, Microsoft, IBM, Sun Microssystems) have separate development and maintenance organizations, but I am aware that there are organizations that make this separation. This has lead me to speculate as to the conditions under which such a separation makes sense. All of the organizations I am familiar with follow an incremental development model. Additional major new functionality is added to a product over an extended time period after the initial release. In contrast, some organizations follow a replacement model. Except for maintenance work to fix bugs and cope with environment changes, no major changes are made in a piece of software until it is replaced by a completely new piece of software that was written "from scratch." If this is the case, then having a maintenance organization that works on the old piece of software and a different, development organization that works on the new software is a reasonable organizational structure. Under what circumstances does a replacement model make sense? Here are some of the situations that I would guess would encourage a replacement model: 1. The product involves tightly coupled hardware and software. Major system upgrades require both hardware and software changes. Major new software changes are always designed to use the latest hardware upgrades. Under these circumstances, it requires less effort to completely replace previous implimentations than to try and add new functionality to them. 2. The product is built on obsolete technology that cannot be upgraded or converted. An example might be a main frame version of an application in an organization that is moving to a distributed environment. Again, under these circumstances, costs would probably be lower to write a new distributed application "from scratch" than to try and convert the main frame application to distributed form. As warned at the beginning of this note, I have no direct experience with organizations that practice a replacement model. It would interesting to here from members of the PPIG community how far off the mark I am. Ruven Brooks
