ABSTRACT
We describe a method for determining coordination requirements in collaborative software development. Our method uses "live" data based on developer activity rather than relying on historical data such as source code commits which is prevalent in existing methods. We introduce proximity, a measure of the strength of the work dependencies that lead to coordination requirements among members of a software development organization. Our proximity measure relies on a tool which captures the interactions of a developer with her IDE. It quantifies the similarity between records of interactions of developers as they work on their assigned tasks. We describe an algorithm that measures proximity between pairs of tasks or pairs of developers. Through an empirical study on an open source project that routinely records environment interaction data, we show how proximity accurately determines coordination requirements. The proximity measure thus enables proactive detection of coordination requirements and makes possible real time intervention and coordination facilitation via management-, design- and team-related decisions.
- Begel, A., Phang, K. Y., and Zimmerman, T. 2010 Codebook: Discovering and Exploiting Relationships in Software Repositories. Proc. ICSE 2010. Google ScholarDigital Library
- Brooks, F. P. 1995. The Mythical Man-Month: Essays on Software Engineering. Addison Wesley. Reading, MA. Google ScholarDigital Library
- Cataldo, M., Bass, M., Herbsleb, J., and Bass, L. 2007. On Coordination Mechanisms in Global Software Development. Proc. ICGSE 2007, 71--80. Google ScholarDigital Library
- Cataldo, M., Herbsleb, J. D., and Carley, K. M. 2008. Socio-Technical Congruence: A Framework for Assessing the Impact of Technical and Work Dependencies on Software Development Productivity. Proc. ESEM 2008, 2--11. Google ScholarDigital Library
- Cataldo, M., Mockus, A., Roberts, J. A., and Herbsleb, J. D. 2009. Software dependencies, work dependencies, and their impact on failures. IEEE Transactions on Software Engineering. 35, 6, 864--878. Google ScholarDigital Library
- Cataldo, M., Wagstrom, P. A., Herbsleb, J. D., and Carley, K. M. 2006. Identification of Coordination Requirements: Implications for the Design of Collaboration and Awareness Tools. Proc. CSCW 2006. Google ScholarDigital Library
- Conway, M. E. 1968. How do committees invent. Datamation. 14, 4, 28--31.Google Scholar
- de Souza, C. R., Quirk, S., Trainer, E., and Redmiles, D. F. 2007. Supporting collaborative software development through the visualization of socio-technical dependencies. Proc. of the 2007 international ACM conference on Supporting group work. 147--156. Google ScholarDigital Library
- Dewan, P. and R. Hegde. 2007. Semi-Synchronous Conflict Detection and Resolution in Asynchronous Software Development. Proc. E-CSCW 2007. p. 159--178.Google Scholar
- Dourish, P., and Bellotti, V. Awareness and Coordination in Shared Workspaces. Proc. CSCW 1992: p. 107--114. Google ScholarDigital Library
- Ehrlich, K., Helander, M., Valetto, G., Davies, S., and Williams, C. 2008. An analysis of congruence gaps and their effect on distributed software development. Proc. STC 2008.Google Scholar
- Gall, H., Hajek, K., and Jazayeri, M. 1998. Detection of logical coupling based on product release history. Proc. ICSM 1998. Google ScholarDigital Library
- Grinter, R. E., Herbsleb, J. D., and Perry, D. E. 1999. The geography of coordination: dealing with distance in R&D work. Proc. of the international ACM SIGGROUP conference on Supporting group work. Google ScholarDigital Library
- Herbsleb, J. D. and Grinter, R. E. 1999. Splitting the organization and integrating the code: Conway's law revisited. Proc. ICSE 1999, 85--95. Google ScholarDigital Library
- Herbsleb, J. D., Mockus, A., and Roberts, J. A. 2006. Collaboration in software engineering projects: A theory of coordination. Proc. ICIS 2006.Google Scholar
- Kersten, M. and Murphy, G. C. 2005. Mylar: a degree-of-interest model for IDEs. Proc. AOSE 2005, 159--168. Google ScholarDigital Library
- Kersten, M. and Murphy, G. C. 2006. Using task context to improve programmer productivity. Proc. FSE 2006. Google ScholarDigital Library
- Kraut, R. and Streeter, L. 1995. Coordination in software development. Communications of the ACM. 38, 3, 69--81. Google ScholarDigital Library
- Minto, S. and Murphy, G. C. 2007. Recommending emergent teams. Proc. MSR 2007. Google ScholarDigital Library
- Parnas, D. L. 1972. On the criteria to be used in decomposing systems into modules. Communications of the ACM. 15, 12, 1058. Google ScholarDigital Library
- Rothlisberger, D., Nierstrasz, O., Ducasse, S., Pollet, D., and Robbes, R. 2009. Supporting task-oriented navigation in IDEs with configurable heatmaps. Proc. ICPC 2009, pp. 253--257Google Scholar
- Sarma, A., Noroozi, Z., and van der Hoek, A. Palantír: raising awareness among configuration management workspaces. Proc. ICSE 2003. Google ScholarDigital Library
- Sarma, A., Maccherone,L., Wagstrom, P., and Herbsleb, J. 2009. Tesseract: Interactive visual exploration of socio-technical relationships in software development. Proc ICSE 2009, 23--33. Google ScholarDigital Library
- Singer, J., Elves, R., and Storey, M.-A. 2005. Navtracks: Supporting navigation in software maintenance, Proc. ICSM 2005, pp. 325--335. Google ScholarDigital Library
- Sosa, M. E., Eppinger, S. D., and Rowles, C. M. 2004. The misalignment of product architecture and organizational structure in complex product development. Management Science. 50, 12, 1674--1689. Google ScholarDigital Library
- Sullivan, K. J., Griswold, W. G., Cai, Y., and Hallen, B. 2001. The structure and value of modularity in software design. Proc. FSE 2001, pp. 99--108. Google ScholarDigital Library
- Valetto, G., Chulani, S., and Williams, C. 2008. Balancing the value and risk of socio-technical congruence. Proc. STC 2008.Google Scholar
Index Terms
- Proximity: a measure to quantify the need for developers' coordination
Recommendations
ProxiScientia: toward real-time visualization of task and developer dependencies in collaborating software development teams
CHASE '12: Proceedings of the 5th International Workshop on Co-operative and Human Aspects of Software EngineeringThis paper introduces ProxiScientia, a visualization tool that provides awareness support to developers, as they engage in collaborative software development activities. ProxiScientia leverages streams of fine-grained events that are generated by team ...
Do all task dependencies require coordination? the role of task properties in identifying critical coordination needs in software projects
ESEC/FSE 2013: Proceedings of the 2013 9th Joint Meeting on Foundations of Software EngineeringSeveral methods exist to detect the coordination needs within software teams. Evidence exists that developers’ awareness about coordination needs improves work performance. Distinguishing with certainty between critical and trivial coordination needs ...
Learning in a pairwise term-term proximity framework for information retrieval
SIGIR '09: Proceedings of the 32nd international ACM SIGIR conference on Research and development in information retrievalTraditional ad hoc retrieval models do not take into account the closeness or proximity of terms. Document scores in these models are primarily based on the occurrences or non-occurrences of query-terms considered independently of each other. ...
Comments