Software methodology in the harsh light of economics

Abstract Design methodologies have as their objective the provision of a rational framework for the sequencing of choices in producing a design. Thus the so-called waterfall model establishes a sequence of stages-requirements, specifications, design, coding, testing and maintenance-to guide the development process. The success of a methodology can be measured by how well it accomplishes its intended function. A methodology is useful if it allows technical people and managers to allocate properly resources during development and makes the job of monitoring accomplishment easier. The waterfall method has been under considerable criticism recently because it is believed to misallocate resources, owing to it having an improper model of the software development process. A successful methodology must be founded on sound technical and economic bases. The use of economic methods is emphasized primarily as a rational basis for choice among alternatives, not as a monetary criterion. The concerns with productivity and the recent emphasis on software reuse stress both these aspects. Software development methodologies are analysed from both the technical and economic perspectives. Quantitative models consider the various organizational approaches to software development as well. In one of these models a quantitative analysis of the conditions needed for software reuse is provided, as well as an explanation of why it has generally not achieved the projected levels of success. Other models analyse the role of experts in the software development process, and the division of labour.