Software development teams are required to produce applications that are enmeshed with contributory systems over which the team have no control. This highlights the need for an approach that allows the developed application to evolve gracefully to changes in the contributory systems. This work proposes an approach to graceful evolution which is appropriate for rapid application development environments. The approach combines elements of Risk Analysis Method (Anton, 1997), with the perspective given by considering Dynamic Inconsistency (Lamsweerde, Letier and Ponsard, 1997). The approach investigates assumptions made about requirements; the obstacles to those assumptions are then identified. The obstacles are assessed with respect to their impact on the running system and the decision is made to resolve, monitor or ignore the obstacle. The assessment provides both directly and through the monitoring logs guidance to the software development teams of the type of corrective action needed. This work considers a theoretical example drawn from experience in the action needed. This work considers a theoretical example drawn from experience in the telecommunications industry for which one of the enmeshed systems was a legacy system. .
Software applications are developed for the use in continually evolving business and technical environments; there are consequent implications for incorporating into them extensibility and adaptability. Around major legacy systems there are developed large numbers of small applications which are important to a particular department but are of low priority to the owners' of the major legacy systems. These applications are jeopardised by unpredictable changes in their operating environments yet these are the applications that need to be developed and delivered quickly (Page and Sivagurunathan, 1996). There is never a right time to develop these applications as the enmeshed systems undergo continual evolution themselves.