Loading...

Software Defect Prevention for better Software Quality

Key Determinants and their interlinked effects

Scientific Essay 2012 32 Pages

Computer Science - Commercial Information Technology

Excerpt

Content

Abstract

1. Starting Position and Problem Definition

2. Desk Research and Theoretical Background
2.1 Software Development Process
2.2 Software Defects

3. Software Defect Prevention
3.1 Outline of the four classes of defect prevention actions
3.2 Software Process Improvement Models for Defect Prevention
3.3 Costs and Benefits of Practical Defect Prevention
3.4 Summary of Desk Research and Theoretical Background

4. Method
4.1 Concept Design
4.2 Systemic Thinking / Cross-linked Thinking

5. The Model Concept
5.1 Model Structure
5.2 Identifying the Determinants
5.3 Examination of Applicable Determinants Based on
5.4 Comments on Target Variable and Determinants
5.5 Causal interdependencies, their effect directions and effect intensities

6. Results
6.1 Visualizations an Analyses
6.2 Explanation of Elements in the Result Matrix
6.3 Analysis of determinants in the result matrix

7. Discussion and Conclusion
7.1 Discussion
7.2 Conclusion

References

Abstract

This work aims to propose a qualitative “starter model” for a new software defect prevention for better Software Quality. Software defect prevention methods and models have made substantial progress in recent years. But this still falls short of the needs of today and the future. One contribution is a qualitative model that takes into account key determinants and their interlinked effects. The model is based on System Dynamics and the elements involved in the software development process, e.g. the human being, management, members of staff, work psychology, quality, methods, organizations, customer, culture etc. Current research status comprises 15 identified important key determinants, their respective strength, interrelationships and dynamics. The model is operationalized with a software tool capable of modelling all the key determinants defined, their effect directions and other data of the comprehensive matrix they make up. With the research results made, the new defect prevention model shows promise. The research is due to continue further in order to contribute to improved defect prevention in the software development process. The number of key determinants, their respective strength etc. be will be 140 in the final research work.

Keywords: Systemic, software, software development, Software-quality, defects, defect prevention, Determinants, System Dynamics, qualitative model, the human being, process, methods, technology, organization.

1. Starting Position and Problem Definition

Over the past years, software complexity has been rising steadily, with more complex processes in all areas of life progressively automated through software. Spectacular software defects over the last years have put man and nature at risk, causing extensive cost and frustrating customers. Consequently, software defect prevention in the software development process is growing in importance. Today’s defect prevention techniques have made substantial progress over the last years in a contribution to better defect prevention. This paper aims via comprehensive systemic approach that takes account of key determinants and their interlinked effects to further improvements to software defect prevention. The model is not meant to replace current defect prevention procedures but rather to consequently expand and complement the procedures.

The key focus in the research effort is on the first three phases (Requirement Analysis, Specification and Design) of the software development process. Based on the results of the research of available sources and in author’s own experience, 50 to 70 % of all defects come about in these three first development phases, with most only found in later phases.

2. Desk Research and Theoretical Background

2.1 Software Development Process

Methods

Different methods find use in the software development process. Consequently, the process may be implemented with various tools and methods. The methods and CASE (= Computer Aided Software Engineering) tools employed are major determinants of productivity and defect prevention efficiency (Balzert 1998, p. 15).

Process-/Procedure Models

For the development of software, process and procedure models are in use. A process model structures the software development process into activities and results (see Fig.1). The model defines rules governing the scope of the activities, their course and output. The activities and results fall under different types of operations such as project management. Process models further also define the relevant roles, tools and methods.

illustration not visible in this excerpt

FIG. 1: PROCESS MODEL

(Source: Bunse 2008, p. 4)

2.2 Software Defects

Software defects mainly are a result of human error in the development process. As the development process entails several phases, the defects may result e.g. from: Misconceptions in initial requirements; Design inadequacies; Programming errors. Defects not detected in the respective development phases stages may add and multiply in follow-up development phases by causing further defects. Hence a defect summation effect applies (Wallmüller 2001, p. 15).

3. Software Defect Prevention

Defect prevention is a key activity in the software development process. Late defect detection adds massively to costs. According to various analyses and author’s own experience, defect elimination costs as a variable multiply by a factor of about five to ten for each phase in the sequence. Consequently, defect prevention should be pursued as the primary aim. The following analytical, constructive, organizational and psychological defect prevention actions and Software Process Improvement Models are important Inputs for the present Systemic Defect Prevention Model. They are part of a number of different sources of applicable determinants.

3.1 Outline of the four classes of defect prevention actions:

a. Analytical Quality Actions
Analytical quality actions are implemented e.g. in order to verify current quality levels. The examinations do not establish absolute certainty as regards conformity/non-conformity of a product.
b. Constructive Quality Actions
Constructive quality actions mainly aim at defect prevention e.g. use of Process Models and Methods.
c. Organizational Quality Actions
Organizational actions include the design, implementation and maintenance of e.g. a corporate Quality Management System, Project Management System and others.
d. Psychological Prevention Actions/People Actions

Software development should not be considered a purely technical procedure only. As software development is carried by the human input (the development team), communication processes, leadership, quality culture and other variables this entails are key to the output quality.

3.2 Software Process Improvement Models for Defect Prevention

Process improvements may be implemented in a number of different ways such as under the classical PDCA (P lan, D o, C heck, A ct) cycle or by way of capability maturity models. An advantage to using capability maturity models, they systematically impose successful practices on different models. Examples of capability maturity models include CMMI or SPICE (Hörmann, 2006, p. 5).

3.3 Costs and Benefits of Practical Software Defect Prevention

Fig.2 shows that most defects are produced in the first two phases of Requirements and Design but are only recognized in later phases. For instance in the Requirements phase, 10% defects are produced but only 3 % detected by Requirement Review. Such circumstances always have a negative effect on costs.

illustration not visible in this excerpt

FIG. 2: PHASES OF OCCURENCE AND ELIMINATION OF SOFTWARE DEFECTS

(Source: Masing 2007, p. 835)

3.4 Summary of Desk Research and Theoretical Background

Software Development Process

In software development processes, progress has been made in recent years. This has been facilitated e.g. through the use of process models, optimization in processes, new and improved methods, professional project and risk management, new and improved tools and other systematic means. Further improvements are needed e.g. in requirement analysis.

Defect Prevention in the Software Development Process

Defect prevention also saw improvements in recent years credit to optimization in software development processes. The newly implemented processes in defect prevention such as design-related quality actions, quality methods and particularly the use of capability maturity models all add to the difference. Nevertheless, the number of defects still remains high. Further research is needed into software development and defect prevention.

This paper aims by means of a comprehensive and interlinked perspective that includes the human factor to help optimize defect prevention specifically in the phases of Requirement Analysis, Specification and Design.

[...]

Details

Pages
32
Year
2012
ISBN (eBook)
9783656207320
ISBN (Book)
9783656206590
File size
844 KB
Language
English
Catalog Number
v195119
Grade
Tags
Software-Quality Failure practical application Softwaredevelopment Defects Defect-Prevention Holistic Organization Softwarequality Network Emergence CMMI Human Technic Network thinking Software Process Improvement

Author

Share

Previous

Title: Software Defect Prevention for better Software Quality