Using Quality Function Deployment in Software Requirements Specification
Essay by review • December 18, 2010 • Research Paper • 5,187 Words (21 Pages) • 2,260 Views
Essay Preview: Using Quality Function Deployment in Software Requirements Specification
USING QUALITY FUNCTION DEPLOYMENT IN SOFTWARE REQUIREMENTS SPECIFICATION
Abstract. We present in this paper an approach to requirements specification based on quality function deployment (QFD). We discuss how techniques like QFD with accompanying tool-support can contribute to the development of high quality requirements models that are the basis for information systems that are perceived as valuable by the stakeholders of the systems. Based on the practical application of this technique on a number of information systems projects, including both traditional development projects and the implementation of packaged solutions, it is our experience that the quality of requirements specifications can be improved by using this technique, in particular when used together with groupware tools supporting the overall process. Especially, what we term semantic, pragmatic, and social quality are often affected positively. On the other hand, the QFD-technique is not sufficient alone, but needs to be combined with other RE-techniques such as prototyping, observations, and more traditional conceptual modeling to be able to cover and analyze all types of systems requirements.
1 Introduction
Information systems development is a group activity, needing the input of many people to result in innovative systems that truly support the needs of the stakeholders. Software requirements can be classified into three categories: Normal, exciting and expected .
1. Normal Requirements are what the stakeholders communicate during traditional facilitated sessions or in interviews. They cover the base functionality of the application. These requirement contribute proportionally to customer satisfaction and expectations.
2. Exciting Requirements are aspects which the users do not expect. Often exciting requirements involve innovation of the business process or new ways of handling functionality. Stakeholder satisfaction with the application can be dramatically improved through the implementation of a few exciting requirements. Failure to implement these requirements do not adversely affect overall satisfaction. Exciting requirements can be identified through a number of techniques. These include: observation, brainstorming, affinity analysis, relations diagramming and causal loop diagramming.
3. Expected Requirement are those aspects that the users assume the developers already know. Missing an expected requirement represents the greatest risk to user satisfaction. There is little benefit for implementing these requirements. However, there is a heavy price if they are omitted. Observation techniques represent one approach to addressing unstated and expected requirements. Studying the existing system and prototyping are other techniques often used.
According to Zultner [24], traditional software development is unfocused. In order to satisfy the customer within the schedule and resource constraints that all projects face, it is necessary to concentrate the best efforts on those things of greatest importance to the stakeholders of the system. To do this requires that the project team during requirements specification obtains the customer's priorities for their requirements and pass these on to the next phases. Each subsequent phase must direct the developer's best efforts to the high-priority items, and continue to pass the priority information to the next phase. This involves spending the most time on, and assigning the best people for, the matters that are most crucial in delivering the most value to the customers. Figs. 1 and 2 illustrates these principles.
Fig. 1. Unfocused development process.
Fig. 2. Focused (coherent) development process
Quality Function Deployment (QFD) [24] is a method for focusing the effort and limited resources of a project team on what delivers the best value to the most important stakeholders. Software QFD (SQFD) is a technique that is developed specifically for the use of QFD-techniques in information systems development. The technique is commercially available as part of Andersen Consulting's Method/1 [1]. Different tool-support is available, going from simple spreadsheets to more advanced groupware tools which enable a larger proportion of the stakeholders to participate actively in the process.
In the next section, we give an overview of the SQFD technique. Then we evaluated the technique based on experiences using it in different kinds of projects. We have evaluated the approach on to what extent it can help in the process of creating requirements models of high quality. We conclude the paper pointing to future work as we get further practical experience with the use of the technique and tools.
2 Overview of SQFD
QFD was first introduced in Japan by Akao in 1966. Since 1984 a number of companies have used QFD with cross-functional teams and concurrent engineering to improve their products, and product or service development process [24], including the development of software [8]. Yearly, several major international conferences are held on the subject, see e.g. [4] for a current overview of the breath of problem areas attacked with QFD.
SQFD [19] focuses on improving the software development process by implementing quality improvement techniques during requirements specification. In order to satisfy the stakeholders under the constraints faced by a project, it is necessary to concentrate the best efforts on those things of greatest importance. To do this requires that the project team during requirements specification obtains the stakeholders' priorities for their requirements and pass this information on to the next phases of development in a visible way.
The rest of this section describes the SQFD process defined in Method/1 [1]. The majority of the activities associated with SQFD occur during planning and analysis where the project's scope and value are determined. The SQFD process is organized around the deliverables that are displayed in Fig. 3.
The matrices to the right are similar to the House of Quality (HOQ) matrices found in other QFD- techniques, although not including the HOQ-'roof' where it is possible to relate different functional requirements to indicate to what extent they are consistent or inconsistent. SQFD-deliverables are in Method/1 to be developed during facilitated sessions. Also other kinds of conceptual models such as data, process, and event models or alternatively object-oriented models are created as part of requirements specification and analysis, but focus early on RE is on the goal-oriented modeling using
...
...