Software engineering metrics and models
Software engineering metrics and models
Designing documentation to compensate for delocalized plans
Communications of the ACM
Experimental evaluation of software documentation formats
Journal of Systems and Software
Expert problem solving strategies for program comprehension
CHI '91 Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Orthogonal Defect Classification-A Concept for In-Process Measurements
IEEE Transactions on Software Engineering - Special issue on software measurement principles, techniques, and environments
Software complexity and maintenance costs
Communications of the ACM
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
An empirical study of software maintenance tasks
Journal of Software Maintenance: Research and Practice
Programmer performance and the effects of the workplace
ICSE '85 Proceedings of the 8th international conference on Software engineering
Qualitative Methods in Empirical Studies of Software Engineering
IEEE Transactions on Software Engineering
Empirical studies of software engineering: a roadmap
Proceedings of the Conference on The Future of Software Engineering
Empirical Data Modeling in Software Engineering Using Radial Basis Functions
IEEE Transactions on Software Engineering
Predicting Fault Incidence Using Software Change History
IEEE Transactions on Software Engineering
Issues in Software Maintenance
ACM Computing Surveys (CSUR)
Does Code Decay? Assessing the Evidence from Change Management Data
IEEE Transactions on Software Engineering
Exploratory experimental studies comparing online and offline programming performance
Communications of the ACM
Software design---cognitive aspects
Software design---cognitive aspects
Modeling Development Effort in Object-Oriented Systems Using Design Properties
IEEE Transactions on Software Engineering - Special section on the seventh international software metrics symposium
Integrating scenario-based and measurement-based software product assessment
Journal of Systems and Software
Postmortem: Never Leave a Project without It
IEEE Software
Software Measurement: A Necessary Scientific Basis
IEEE Transactions on Software Engineering
Experience With the Accuracy of Software Maintenance Task Effort Prediction Models
IEEE Transactions on Software Engineering
IEEE Transactions on Software Engineering
Predicting Maintenance Effort with Function Points
ICSM '97 Proceedings of the International Conference on Software Maintenance
Prediction Models for Software Fault Correction Effort
CSMR '01 Proceedings of the Fifth European Conference on Software Maintenance and Reengineering
ICSE '76 Proceedings of the 2nd international conference on Software engineering
Inferring Change Effort from Configuration Management Databases
METRICS '98 Proceedings of the 5th International Symposium on Software Metrics
Analyzing Change Effort in Software During Development
METRICS '99 Proceedings of the 6th International Symposium on Software Metrics
Using Code Metrics to Predict Maintenance of Legacy Programs: A Case Study
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
Investigation of the Risk to Software Reliability and Maintainability of Requirements Changes
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
Code Churn: A Measure for Estimating the Impact of Code Change
ICSM '98 Proceedings of the International Conference on Software Maintenance
Two Case Studies in Measuring Software Maintenance Effort
ICSM '98 Proceedings of the International Conference on Software Maintenance
Towards the Reverse Engineering of UML Sequence Diagrams
WCRE '03 Proceedings of the 10th Working Conference on Reverse Engineering
Analysis of Software Maintenance Data Using Multi-Technique Approach
ICTAI '03 Proceedings of the 15th IEEE International Conference on Tools with Artificial Intelligence
An Empirical Analysis of Productivity and Quality in Software Products
Management Science
A Metrics-Based Software Maintenance Effort Model
CSMR '04 Proceedings of the Eighth Euromicro Working Conference on Software Maintenance and Reengineering (CSMR'04)
Evidence-Based Software Engineering
Proceedings of the 26th International Conference on Software Engineering
Dynamic Coupling Measurement for Object-Oriented Software
IEEE Transactions on Software Engineering
IEEE Transactions on Software Engineering
Agile Estimating and Planning
Toward Understanding the Rhetoric of Small Source Code Changes
IEEE Transactions on Software Engineering
Refactoring for Changeability: A Way to Go?
METRICS '05 Proceedings of the 11th IEEE International Software Metrics Symposium
Classifying Change Types for Qualifying Change Couplings
ICPC '06 Proceedings of the 14th IEEE International Conference on Program Comprehension
An influence model for factors in outsourced software maintenance: Research Articles
Journal of Software Maintenance and Evolution: Research and Practice
Agile Retrospectives: Making Good Teams Great
Agile Retrospectives: Making Good Teams Great
A Realistic Empirical Evaluation of the Costs and Benefits of UML in Software Maintenance
IEEE Transactions on Software Engineering
Using planning poker for combining expert estimates in software projects
Journal of Systems and Software
A model of large program development
IBM Systems Journal
Remodularizing Java programs for improved locality of feature implementations in source code
Science of Computer Programming
Hi-index | 0.00 |
Making changes to software systems can prove costly and it remains a challenge to understand the factors that affect the costs of software evolution. This study sought to identify such factors by investigating the effort expended by developers to perform 336 change tasks in two different software organizations. We quantitatively analyzed data from version control systems and change trackers to identify factors that correlated with change effort. In-depth interviews with the developers about a subset of the change tasks further refined the analysis. Two central quantitative results found that dispersion of changed code and volatility of the requirements for the change task correlated with change effort. The analysis of the qualitative interviews pointed to two important, underlying cost drivers: Difficulties in comprehending dispersed code and difficulties in anticipating side effects of changes. This study demonstrates a novel method for combining qualitative and quantitative analysis to assess cost drivers of software evolution. Given our findings, we propose improvements to practices and development tools to manage and reduce the costs.