Controlling programmes through measurement

Abstract The authors believe that in principle metrics should be chosen to achieve specific goals, some of which are clearly to do with the control of programmes, development or maintenance. Furthermore, it is their belief that the best way to attack the balance between development and maintenance costs, which is usually quoted as the 30:70 split, and indeed to bring down whole lifecycle costs, is by having a well controlled development and maintenance programme, the goals of which include designing and controlling for maintainability, extendability, and portability. The paper discusses what is required to provide the basis for controlling development programmes through measurement of the process and the partial products that are created. Without the application of such control, it cannot be claimed that software engineering is truly being practised. Finally, it reviews the costs involved in setting up and running such a programme. The paper does not aim to distinguish particular metrics, as it is the authors' belief that the correct way to establish the metrics to be used, e.g., for maintenance, or for any other phase, should be selected on the basis of the goals that they help achieve. Instead it concentrates on the principles involved in control of any programme, no matter what the life-cycle stage or style.