220 likes | 944 Views
Applying Quality Function Deployment to Software Development. ISQFD’99-Brazil Pre-conference Workshop 2. Professor Hisakazu Shindo Yamanashi University (Japan) shindo@kki.yamanashi.ac.jp http://www.is.esi.yamanashi.ac.jp/~shindo/. Abstract.
E N D
Applying Quality Function Deployment to Software Development ISQFD’99-Brazil Pre-conference Workshop 2 Professor Hisakazu Shindo Yamanashi University (Japan) shindo@kki.yamanashi.ac.jp http://www.is.esi.yamanashi.ac.jp/~shindo/
Abstract QFD was proposed as a quality assurance methodology in developing a new product. Later, QFD has been introduced into various industries such as manufacturing, construction, service, software, etc. QFD applications to software development have been basically carried out in the similar manner as employed in other fields. Usually QFD starts with making a quality table consists of requirements for quality and quality elements. In software development, work of design said to be more important than that of other fields because its quality is almost determined by design itself.
In order to effectively apply QFD to software development, a new methodology is required. So, we must focus our attention on a design-oriented aspect of QFD. First, we consider two approaches to problem solving. Then, we re-recognize the significance of QFD. Lastly, we propose a basic concept for applying QFD to software development.
Contents Two approaches to problem solving Engineering and a two-dimensional table Relevant topics An application of QFD to software development
Two approaches to problem solving Analytic approach “QC story”isa typical one. Design-oriented approach QFD can be considered as one of design-oriented approaches.
Analytic approach past present This is on the causality basis. The process of asking “Why” many times leads to problem solving.
present future A design-oriented approach Satisfying a desire by realizing something to be made. This is correspondent to work of design itself.
Needs of design-oriented approaches grow while QA activity is shifting from down stream to up stream of a product development cycle.
Quality assurance has deeply related to design work. We cannot help thinking about what design is. Design is drawing or outline from which something may be made. Design is general arrangement or planning. Design is pattern. Design is purpose, intention, or mental plan.
15cm Engineering drawing (Engineering) drawing is the art of representing objects, scenes, etc by lines, with a pencil, chalk, etc. Front-view Side-view It consists of three orthogonal views. Everything shaped can be designed in this way. Top-view
15cm Analogy between drawing and a table
Why do we start QFD with grasping requirements for quality? ? We know this is an automobile. So we can express requirements for quality with relative ease. We don’t know what it is. So we cannot express our needs.
Why do we need such a large quality table? Applying QFD directly to a finished product, the size of its quality table easily becomes large. To reduce the size of the table, some people apply QFD restrictedly to a subsystem or a part of the product. However, it is a contradiction because the subsystem or the part is determined after the design process considerably progresses.
If we want to have a handy table for QFD, we should make it well-structured by any means. Note that any two items of column and row are allowed to exchange respectively. This operation never violates the content of the table. So, we can reduce the complexity of the table by positively using this operation. Quantification method of type three can be utilized.
This is an example of a description about staff and their expertise. Staff A has expertise concerning SPC and PC and TQM is shared by staff C, D, E, F, and G.
Applying QM3 to the previous table, we can obtain the following: The result indicates staff can be classified into four groups.
Function Price F x P Quality F x Q Reliability F x R A new paradigm of applying QFD Marketing Value Engineering Quality Management Reliability Engineering Establishing basic concept of the product Extracting major problems to be solved (Bottleneck engineering)
Establishing basic concept of the product Extracting major problems to be solved (Bottleneck engineering) Function A B C D E Quality Cost Reliability Balancing Balancing Technological viewpoint, Experiences, Knowledge, Tools
An application of QFD to software development (1)Extract requirement for function and relevant data from various kinds of users’ requirements. (2)Make a two dimensional table of function and data. (3)Apply the “QM3” to the table to nearly decompose it. (4)Specify the function and data of each subsystem or module and their interfaces. (5) Extract requirements for quality with respect to each subsystem and compose necessary quality tables. (6) Compose a quality table and determine the quality level of each function. (7) Design database while taking functions into consideration. (8) Design algorithms necessary to realize function of subsystem to the satisfactory degree. (9) Extract test cases considering actual operating environment.