Annals of Software Engineering

, Volume 11, Issue 1, pp 15-44

First online:

Rules and Tools for Software Evolution Planning and Management

  • Meir M. LehmanAffiliated withDepartment of Computing, Imperial College
  • , Juan F. RamilAffiliated withDepartment of Computing, Imperial College

Rent the article at a discount

Rent now

* Final gross prices may vary according to local VAT.

Get Access


When first formulated in the early seventies, the laws of software evolution were, for a number of reasons, not widely accepted as relevant to software engineering practice. Over the years, however, they have gradually become recognised as providing useful inputs to understanding of the software process. Now eight in number, they have been supplemented by the software uncertainty principle and the FEAST (Feedback, Evolution And Software Technology) hypothesis. Based on all these and on the further results of the FEAST research projects this paper develops and presents some fifty rules for application in software system process planning and management and indicates tools available or that could usefully be developed to support their application. The listing is structured according to the laws that encapsulate the observed phenomena and that lead to the recommendations. Each sublist is preceded by a textual discussion providing at least some of the reasoning that has led to the recommended procedures. The references direct the interested reader to the literature that records observed behaviours, interpretations, models and metrics obtained from industrially evolved systems, and from which the recommendations were derived.

assumptions E-type software FEAST feedback laws of software evolution software management process improvement rules for process planning and management software evolution