Meir Lehman on maintainability and software development lifecycle.
Thus the question raised by the high cost of maintenance is not exclusively how to control and reduce that cost by avoiding errors or by detecting them earlier in the development and usage cycle. The unit cost of change must initially be made as low as possible and its growth, as the system ages, minimized. Programs must be made more alterable, and the alterability maintained throughout their lifetime. The change process itself must be planned and controlled. Assessments of the economic viability of a program must include total lifetime costs and their life cycle distribution, and not be based exclusively on the initial development costs. (Lehman 1980, 1061)
Managerial strategy will inevitably be dominated by a desire to achieve maxi-mum local payoff with visible short-term benefit. It will not often take into account long-term penalties, that cannot be precisely predicted and whose cost cannot be assessed. (Lehman 1980, 1065-1066)