Issue No. 09 - September (2001 vol. 34)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/2.947084
<p>Working effectively with legacy code requires understanding a legacy computer program's culture: the combination of programmer background, hardware environment, and programming techniques that guided its creation. </p><p>Software systems typically pass through a series of stages. During the development stage, software developers create a functioning version of the code. An evolution stage follows, during which developmental efforts focus on extending system capabilities to meet user needs. The servicing stage restricts development to minor repairs and simple functional changes. The phase-out stage essentially freezes the system, but it still produces value. Finally, in the close down stage, developers withdraw the system and possibly replace it.</p><p>Effective comprehension requires viewing a legacy program as an artifact of the circumstances in which it was developed. This information can be important in determining appropriate strategies for the program's transition from the evolution stage to the servicing or phase-out stage.</p>
V. Rajlich, H. Page, N. Wilde and M. Buckellew, "Software Cultures and Evolution," in Computer, vol. 34, no. , pp. 24-28, 2001.