Application of statistical process control to software development processes via control charts

Sargut, Kamil Umut
The application of Statistical Process Control (SPC) to software processes has been a challenging issue for software engineers and researchers. Although SPC is suggested for providing process control and achieving higher process maturity levels, there are very few resources that describe success stories, implementation details, and implemented guidelines for applying SPC to specific metrics. In this thesis the findings of a case study that is performed for investigating the applicability of SPC to software metrics in an emergent CMM Level 3 software organization are presented. As being one of the basic and most sophisticated tools of SPC, control charts are used for the analysis. The difficulties in application of Statistical Process Control to a CMM Level 3 organization are observed by using the existing data of defect density, rework percentage, productivity and review performance metrics and relevant suggestions are provided for dealing with them. Finally the analysis results are summarized and a guideline is prepared for software companies who want to utilize control charts by using their existing metric data.


Assessment of Software Process and Metrics to Support Quantitative Understanding: Experience from an Undefined Task Management Process
TARHAN, AYÇA; Demirörs, Onur (2011-06-01)
Software engineering management demands the measurement, evaluation and improvement of the software processes and products. However, the utilization of measurement and analysis in software engineering is not very straightforward. It requires knowledge on the concepts of measurement, process management, and statistics as well as on their practical applications. We developed a systematic approach to evaluate the suitability of a software process and its measures for quantitative analysis, and have applied the...
Evaluation and selection of case tools: a methodology and a case study
Okşar, Koray; Okşar, Koray; Department of Information Systems (2010)
Today’s Computer Aided Software Engineering (CASE) technology covers nearly all activities in software development ranging from requirement analysis to deployment.Organizations are evaluating CASE tool solutions to automate or ease their processes. While reducing human errors, these tools also increase control, visibility and auditability of the processes. However, to achieve these benefits, the right tool or tools should be selected for usage in the intended processes. This is not an easy task when the vas...
How Does Software Visualization Contribute to Software Comprehension? A Grounded Theory Approach
Duru, Haci Ali; Çakır, Murat Perit; Isler, Veysi (2013-11-02)
Despite their ability to synthesize vast amounts of information, software visualization tools are not widely adopted in the software engineering industry. In an effort to investigate the underlying reasons, we conducted a usability study to investigate the affordances of software visualization techniques for the maintenance of complex software systems. Expert programmers were asked to carry out programming tasks with or without using a software visualization tool while their screens and eye gaze patterns we...
Analysis of graph and text representation techniques for news recommendation and news classification
Ağrıman, Mustafa; Karagöz, Pınar; Department of Computer Engineering (2022-2-07)
Developments in computer science leads to increase in the use of software applications in all areas of life. This also causes an increase in data usage. Applications using textual data involves tasks such as finding similarities between texts, detecting events from texts, and classifying texts. However, using graphs and graph vectors can be more successful than textual methods of representing textual information, due to capability to express additional features and complex relationships in graph structure. ...
Testing distributed real-time systems with a distributed test approach
Öztaş, Gökhan; Schmidt, Şenan Ece; Department of Electrical and Electronics Engineering (2008)
Software testing is an important phase the of software development cycle which reveals faults and ensures correctness of the developed software. Distributed real-time systems are mostly safety critical systems for which the correctness and quality of the software is much more significant. However, majority of the current testing techniques have been developed for sequential (non real-time) software and there is a limited amount of research on testing distributed real-time systems. In this thesis, a proposed...
Citation Formats
K. U. Sargut, “Application of statistical process control to software development processes via control charts,” M.S. - Master of Science, Middle East Technical University, 2003.