The difficulty of identifying future requirements and the inflexibilit
y of information systems make what is normally called the maintenance
process difficult and costly, and may lead to information systems fail
ure or obsolescence. This paper addresses the problem in a number of w
ays. It discusses three techniques which might be used to help identif
y future requirements. Two of these techniques are drawn from other di
sciplines; the third is not used widely in the information systems dom
ain. All the techniques have broader applicability than maintenance al
one, in that they are concerned with reducing uncertainty. The paper o
utlines some tenets ff good applications software design, drawn from a
number of sources, which will facilitate change by making the softwar
e design more flexible. Finally, these tenets are incorporated into in
formation systems design through a proposed modification of the inform
ation systems life cycle framework. This framework-part of a ''code of
good practice'' for information systems developers-could be incorpora
ted into information systems development methodologies.