Expertise in debugging computer programs: an analysis of the content of verbal protocols
IEEE Transactions on Systems, Man and Cybernetics
Fault diagnosis in a large dynamic system: Experiments on a training simulator
IEEE Transactions on Systems, Man and Cybernetics
The State of Software Maintenance
IEEE Transactions on Software Engineering
The Use of Software Complexity Metrics in Software Maintenance
IEEE Transactions on Software Engineering
Software engineering metrics and models
Software engineering metrics and models
Departmentalization in software development and maintenance
Communications of the ACM
Software complexity and maintenance costs
Communications of the ACM
Identification of Dynamic Comprehension Processes During Large Scale Maintenance
IEEE Transactions on Software Engineering - Special issue: best papers of the 17th International Conference on Software Engineering (ICSE-17)
An Economic Model to Estimate Software Rewriting and Replacement Times
IEEE Transactions on Software Engineering
Problem solving for effective systems analysis: an experimental exploration
Communications of the ACM
Software Engineering Economics
Software Engineering Economics
Software Maintenance Management
Software Maintenance Management
Experience With the Accuracy of Software Maintenance Task Effort Prediction Models
IEEE Transactions on Software Engineering
Human Problem Solving
Controlling Software Projects: Management, Measurement, and Estimates
Controlling Software Projects: Management, Measurement, and Estimates
Maintainability assessment of an enhanced object-oriented approach for wrapping stored procedures
DBA'06 Proceedings of the 24th IASTED international conference on Database and applications
Using concept mapping for maintainability assessments
ESEM '09 Proceedings of the 2009 3rd International Symposium on Empirical Software Engineering and Measurement
A rule-based approach to prioritization of IT work requests maximizing net benefit to the business
RuleML'07 Proceedings of the 2007 international conference on Advances in rule interchange and applications
Hi-index | 0.00 |
More resources are spent on maintaining software than for its development. Maintenance costs for large scale software systems can amount to somewhere between 40 and 67% of the total system life cycle cost. It is therefore important to manage maintenance costs, and to balance costs with benefits. Frequently this task is approached, at least in the literature, merely as a software cost estimation problem. Unfortunately, the creation of effort estimation models for maintenance – a primary requisite for cost calculation – has not yet been satisfactorily addressed. At the same time, project managers do not estimate costs first, but instead prioritize maintenance projects, trying to determine which projects to carry out (first) within their fixed budgets and resource capabilities. This essentially means that “cost estimation” is done qualitatively first before formal cost estimation techniques are employed. Recognizing the problems associated with standard, regression based estimation models, and focusing on the needs of software project managers, this research studied the process of project prioritization as an expert problem solving and decision making task, through concurrently taken (“think aloud”) protocols. Analysis of these protocols revealed that experts rarely make use of formal mathematical models to determine project priorities or resource needs, such as COCOMO or FPA, although project size is a key determinant of a project's priority. Instead, estimators qualitatively consider cost or value, urgency, and difficulty of a maintenance task, then prioritize projects accordingly, followed by a decision concerning further treatment of the problem. The process employs case based reasoning and the use of heuristics. While different experts may use different strategies, there exists great overlap in their overall prioritization procedure.