Managing the development of large software systems: concepts and techniques
ICSE '87 Proceedings of the 9th international conference on Software Engineering
Orthogonal Defect Classification-A Concept for In-Process Measurements
IEEE Transactions on Software Engineering - Special issue on software measurement principles, techniques, and environments
Artificial Intelligence - Special issue on relevance
A framework for identifying software project risks
Communications of the ACM
Evolving a new theory of project success
Communications of the ACM
A case study in root cause defect analysis
Proceedings of the 22nd international conference on Software engineering
Software engineering processes: principles and applications
Software engineering processes: principles and applications
A Defined Process For Project Postmortem Review
IEEE Software
Learning from Our Mistakes with Defect Causal Analysis
IEEE Software
A Case Study of Software Process Improvement During Development
IEEE Transactions on Software Engineering
The Repeatability of Code Defect Classifications
ISSRE '98 Proceedings of the The Ninth International Symposium on Software Reliability Engineering
A Review of Surveys on Software Effort Estimation
ISESE '03 Proceedings of the 2003 International Symposium on Empirical Software Engineering
Empirical Software Engineering
A Comparison of Software Project Overruns-Flexible versus Sequential Development Models
IEEE Transactions on Software Engineering
What do software practitioners really think about project success: an exploratory study
Journal of Systems and Software
Root Cause Analysis
Risk factors in software development projects
SEPADS'07 Proceedings of the 6th WSEAS International Conference on Software Engineering, Parallel and Distributed Systems
A root cause analysis toolkit for TCP
Computer Networks: The International Journal of Computer and Telecommunications Networking
DARC: dynamic analysis of root causes of latency distributions
SIGMETRICS '08 Proceedings of the 2008 ACM SIGMETRICS international conference on Measurement and modeling of computer systems
A Replicated Survey of IT Software Project Failures
IEEE Software
Improving the effectiveness of root cause analysis in post mortem analysis: A controlled experiment
Information and Software Technology
Towards a Defect Prevention Based Process Improvement Approach
SEAA '08 Proceedings of the 2008 34th Euromicro Conference Software Engineering and Advanced Applications
Intrusion detection alarms reduction using root cause analysis and clustering
Computer Communications
A case study comparing defect profiles of a reused framework and of applications reusing it
Empirical Software Engineering
Guidelines for conducting and reporting case study research in software engineering
Empirical Software Engineering
What Types of Defects Are Really Discovered in Code Reviews?
IEEE Transactions on Software Engineering
Communications of the ACM - Finding the Fun in Computer Science Education
Causality: Models, Reasoning and Inference
Causality: Models, Reasoning and Inference
Exploring defect causes in products developed by virtual teams
Information and Software Technology
Postmortem reviews: purpose and approaches in software engineering
Information and Software Technology
Using root cause data analysis for requirements and knowledge elicitation
EPCE'07 Proceedings of the 7th international conference on Engineering psychology and cognitive ergonomics
Evaluating logistic regression models to estimate software project outcomes
Information and Software Technology
Actual vs. perceived effect of software engineering practices in the Italian industry
Journal of Systems and Software
The optimization of success probability for software projects using genetic algorithms
Journal of Systems and Software
Using Bayesian networks for root cause analysis in statistical process control
Expert Systems with Applications: An International Journal
Factors that affect software systems development project outcomes: A survey of research
ACM Computing Surveys (CSUR)
All Late Projects Are the Same
IEEE Software
Comparing Bayesian network classifiers
UAI'99 Proceedings of the Fifteenth conference on Uncertainty in artificial intelligence
What are Problem Causes of Software Projects? Data of Root Cause Analysis at Four Software Companies
ESEM '11 Proceedings of the 2011 International Symposium on Empirical Software Engineering and Measurement
Dependency analysis between CMMI process areas
PROFES'10 Proceedings of the 11th international conference on Product-Focused Software Process Improvement
Exploratory case study research: Outsourced project failure
Information and Software Technology
Applications of defect prevention in software development
IEEE Journal on Selected Areas in Communications
Technical Debt: Where Are the Shareholders' Interests?
IEEE Software
Hi-index | 0.00 |
Context: Software project failures are common. Even though the reasons for failures have been widely studied, the analysis of their causal relationships is lacking. This creates an illusion that the causes of project failures are unrelated. Objective: The aim of this study is to conduct in-depth analysis of software project failures in four software product companies in order to understand the causes of failures and their relationships. For each failure, we want to understand which causes, so called bridge causes, interconnect different process areas, and which causes were perceived as the most promising targets for process improvement. Method: The causes of failures were detected by conducting root cause analysis. For each cause, we classified its type, process area, and interconnectedness to other causes. We quantitatively analyzed which type, process area, and interconnectedness categories (bridge, local) were common among the causes selected as the most feasible targets for process improvement activities. Finally, we qualitatively analyzed the bridge causes in order to find common denominators for the causal relationships interconnecting the process areas. Results: For each failure, our method identified causal relationships diagrams including 130-185 causes each. All four cases were unique, albeit some similarities occurred. On average, 50% of the causes were bridge causes. Lack of cooperation, weak task backlog, and lack of software testing resources were common bridge causes. Bridge causes, and causes related to tasks, people, and methods were common among the causes perceived as the most feasible targets for process improvement. The causes related to the project environment were frequent, but seldom perceived as feasible targets for process improvement. Conclusion: Prevention of a software project failure requires a case-specific analysis and controlling causes outside the process area where the failure surfaces. This calls for collaboration between the individuals and managers responsible for different process areas.