Design, implementation and evaluation of a process to structure the collection of software project requirements
Richard Pierce Hubbard, Charles N. Schroeder · 1999
The process of collecting requirements for a software project includes any means of identification, explanation and recording of expectations of the project prior to its development, construction or implementation. The requirements collection process is an important—and fundamentally inherent—activity of all software development projects. While the later-stages of many software development life-cycles can be extremely rigorous and engineering-like in nature, many earlier stage activities (including collecting requirements) are unstructured, open-ended and yield inconsistent results. The success (or failure) of all aspects of a software development project are directly dependent upon the success (or failure) of the process used to collect the project's requirements. Analysis, design, construction and deployment tasks will be delayed or accelerated in some proportion to the degree of failure or success of the project's requirements collection process. Yet requirements collection processes—and other project initiation activities—are frequently viewed as “taking too long,” and “costing too much.” An efficient requirements collection process is needed that meaningfully engages customers and suppliers, and meets business needs. This work reports on the design, implementation and evaluation of a highly structured, group-focused experimental process for the collection of requirements of “business application” software development projects. The experimental process is evaluated by comparison with respect to a conventional technique (i.e., the Unstructured Interview Method). The experimental process is demonstrated to be more efficient than the Unstructured Interview Method.