Coordination implications of software architecture in a global software development project
Journal of Systems and Software
STCML: an extensible XML-based language for socio-technical modeling
Proceedings of the 4th International Workshop on Cooperative and Human Aspects of Software Engineering
Detecting software modularity violations
Proceedings of the 33rd International Conference on Software Engineering
A formal model for automated software modularity and evolvability analysis
ACM Transactions on Software Engineering and Methodology (TOSEM)
Leveraging design rules to improve software architecture recovery
Proceedings of the 9th international ACM Sigsoft conference on Quality of software architectures
Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering
Software and Systems Modeling (SoSyM)
Hi-index | 0.00 |
As software projects continue to grow in scale, being able to maximize the work that developers can carry out in parallel as a set of concurrent development tasks, without incurring excessive coordination overhead, becomes increasingly important. Prevailing design models, however, are not explicitly conceived to suggest how development tasks on the software modules they describe can be effectively parallelized. In this paper, we present a design rule hierarchy based on the assumption relations among design decisions. Software modules located within the same layer of the hierarchy suggest independent, hence parallelizable, tasks. Dependencies between layers or within a module suggest the need for coordination during concurrent work. We evaluate our approach by investigating the source code and mailing list of Apache Ant. We observe that technical communication between developers working on different modules within the same hierarchy layer, as predicted, is significantly less than communication between developers working across layers.