Software products exist in most areas of our life, e.g. in home entertainment equipment, for water supply control, in fully automated production streets and many more. High quality software needs verification and validation to provide compliance with specification documents and customer requirements. Today there are various methods to support construction, verification and validation of software products, e.g. several development methods, reviews, software inspection and testing approaches. The application of one individual method focuses on the specific document type but rarely considers information from previous project phases. Thus, it is reasonable to combine quality assurance methods in order to provide a high quality product along the product life cycle. Quality assurance strategies, e.g. bundles of balanced quality assurance (QA) techniques, aim at improving over product quality. These approaches can be summarized under the headline of software product and process improvement.
Every project has special characteristics which can be used to classify them into specific groups with related attributes (e.g. project size, duration) and affect best practice method selection. Up until now some quality methods are more applicable for particular project types than for others. The selection of an appropriate method depends on the project manager or maybe on company standards as well. The project management's decision is usually based on the experience of past projects with the same team and personal knowledge. The purpose of this work is to include an overall point of view in that decision processes, e.g. the consideration of the whole product development lifecycle. Therefore, combining different analytical quality assurance methods addressing special types of software projects, special types of quality attributes and company strategies will multiply the positive effect for this venture.
It is important to realize the need of mapping project related data and candidate methods according to selected criteria which can have an impact on product quality in every project. The key aspects of different quality assurance methods are related to these project elements and therefore they can be compared with the help of predefined values. The main idea is to create a vector of attributes for different quality assurance methods. These attributes can be converted into discrete values to generalize them for comparison with the attributes of different project types.
Because of these reasons this thesis presents an attribute based approach to match different project types with various combinations of quality assurance methods to get an adjusted support for any project.
Some metrics will be introduced to compare different projects and methods. These measurements will be necessary for improvement purposes by providing feedback from the project application. It is necessary to collect data of project types, used methods and the qualitative outcome of any collected project. This thesis deals with the construction and evaluation of an overall quality strategy that can be adjusted to different project types, to support project and quality managers with their decision making. It should be an approach to fill the research gap of finding the best quality assurance strategy to different software development methods.
Therefore a method should be implemented to describe and rate some basic quality assurance methods and different project types, to deploy a framework of attributes to classify different project types and to indicate a way to compare these two approaches to get a feasible solution for attribute based quality decision making.