Estimating Software Project Effort Using Analogies
IEEE Transactions on Software Engineering
Applying use cases: a practical guide
Applying use cases: a practical guide
A Unified Framework for Coupling Measurement in Object-Oriented Systems
IEEE Transactions on Software Engineering
The structure and value of modularity in software design
Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of software engineering
Design Rules: The Power of Modularity Volume 1
Design Rules: The Power of Modularity Volume 1
A Metrics Suite for Object Oriented Design
IEEE Transactions on Software Engineering
Software Architecture in Practice
Software Architecture in Practice
Quantifying the value of architecture design decisions: lessons from the field
Proceedings of the 25th International Conference on Software Engineering
Balancing Agility and Discipline: A Guide for the Perplexed
Balancing Agility and Discipline: A Guide for the Perplexed
An analysis of modularity in aspect oriented design
Proceedings of the 4th international conference on Aspect-oriented software development
Information hiding interfaces for aspect-oriented design
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Value-Based Software Engineering
Value-Based Software Engineering
IEEE Transactions on Software Engineering
An empirical investigation into the role of API-level refactorings during software evolution
Proceedings of the 33rd International Conference on Software Engineering
Source code partitioning using process mining
BPM'11 Proceedings of the 9th international conference on Business process management
A field study of refactoring challenges and benefits
Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering
Hi-index | 0.00 |
In any IT-intensive organization, it is useful to have a model to associate a value with software and system architecture decisions. More generally, any effort---a project undertaken by a team---needs to have an associated value to offset its labor and capital costs. Unfortunately, it is extremely difficult to precisely evaluate the benefit of "architecture projects"---those that aim to improve one or more quality attributes of a system via a structural transformation without (generally) changing its behavior. We often resort to anecdotal and informal "hand-waving" arguments of risk reduction or increased developer productivity. These arguments are typically unsatisfying to the management of organizations accustomed to decision-making based on concrete metrics. This paper will discuss research done to address this long-standing dilemma. Specifically, we will present a model derived from analyzing actual projects undertaken at Vistaprint Corporation. The model presented is derived from an analysis of effort tracked against modifications to specific software components before and after a significant architectural transformation to the subsystem housing those components. In this paper, we will discuss the development, implementation, and iteration of the model and the results that we have obtained.