ABSTRACT
Several 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 and identifying and prioritizing which specific tasks a pair of developers should coordinate about remains an open problem. We investigate what work dependencies should be considered when establishing coordination needs within a development team. We use our conceptualization of work dependencies named Proximity and leverage machine learning techniques to analyze what additional task properties are indicative of coordination needs. In a case study of the Mylyn project, we were able to identify from all potential coordination requirements a subset of 17% that are most critical. We define critical coordination requirements as those that can cause the most disruption to task duration when left unmanaged. These results imply that coordination awareness tools could be enhanced to make developers aware of only the coordination needs that can bring about the highest performance benefit.
- Aranda, J. and Venolia, G. 2009. The secret life of bugs: Going past the errors and omissions in software repositories. In Proc. ICSE 2009. Google ScholarDigital Library
- Baldwin, C. Y. and Clark, K. B. 2000. Design Rules, Vol. 1: The Power of Modularity. MIT Press. Google ScholarDigital Library
- Begel, A., Phang, K.Y., and Zimmermann, T. 2010. Codebook: discovering and exploiting relationships in software repositories. In Proc. ICSE 2010. Google ScholarDigital Library
- Blincoe, K., Valetto, G. and Goggins, S. 2012. Proximity: a measure to quantify the need for developers' coordination. In Proc. CSCW 2012. Google ScholarDigital Library
- Borici, A., Blincoe, K., Schröter, A., Valetto, G., and Damian, D. 2012. ProxiScientia: Toward Real-Time Visualization of Task and Developer Dependencies in Collaborating Software Development Teams. In Proc. CHASE 2012.Google Scholar
- Brooks, F.P. 1995. The Mythical Man-Month: Essays on Software Engineering. Addison Wesley. Reading, MA. Google ScholarDigital Library
- Cataldo, M., Herbsleb, J. D. and Carley, K. M. 2008. Sociotechnical congruence: a framework for assessing the impact of technical and work dependencies on software development productivity. In Proc. ESEM 2008. 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, vol.35, no.6, pp.864-878, Nov.-Dec. 2009. 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. In Proc. CSCW 2006 Google ScholarDigital Library
- Cover, T. and Hart, P. 1967. Nearest neighbor pattern classification. IEEE Transactions of Information Theory, January 1967. Google ScholarDigital Library
- Cubeon, http://code.google.com/p/cubeon/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. In Proc. of the 2007 international ACM conference on Supporting group work.. Google ScholarDigital Library
- Dewan, P. and Hegde, R. 2007. Semi-Synchronous Conflict Detection and Resolution in Asynchronous Software Development. In Proc. E-CSCW 2007.Google Scholar
- Dourish, P., and Bellotti, V. 1992. Awareness and Coordination in Shared Workspaces. In Proc. CSCW 1992 Google ScholarDigital Library
- Gall, H., Hajek, K. and Jazayeri, M. 1998. Detection of Logical Coupling Based on Product Release History. In Proc ICSM 1998. Google ScholarDigital Library
- Guzzi, A. and Begel, A. 2012. Facilitating communication between engineers with CARES. In Proc. ICSE 2012. Google ScholarDigital Library
- Kersten, M. and Murphy, G.C. 2005. Mylar: a degree-ofinterest model for IDEs. In Proc. AOSD 2005. Google ScholarDigital Library
- Kersten, M. and Murphy, G.C. 2006. Using task context to improve programmer productivity. In Proc. SIGSOFT '06/FSE-14. Google ScholarDigital Library
- Kraut, R. and Streeter, L. 1995. Coordination in software development. Communications of the ACM. 38, 3, 69-81. Google ScholarDigital Library
- Kwan, I.; Schroter, A.; Damian, D. 2011. Does Socio-Technical Congruence Have an Effect on Software Build Success? A Study of Coordination in a Software Project. IEEE Transactions on Software Engineering, vol.37, no.3, pp.307-324, May-June 2011. Google ScholarDigital Library
- Minto, S. and Murphy, G.C. 2007. Recommending emergent teams. In 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
- Sarma, A., Noroozi, Z., and van der Hoek, A. 2003. Palantír: raising awareness among configuration management workspaces. In Proc. ICSE 2003. Google ScholarDigital Library
- Sarma, A., Maccherone,L., Wagstrom, P., and Herbsleb, J. 2009. Tesseract: Interactive visual exploration of sociotechnical relationships in software development. In Proc ICSE 2009. Google ScholarDigital Library
- Tasktop Dev, http://tasktop.com/products/visual-studio.phpGoogle Scholar
- Valetto, G., Chulani, S., and Williams, C. 2008. Balancing the value and risk of socio-technical congruence. In Proc. STC 2008.Google Scholar
- Wong, S., Cai, Y., Valetto, G., Simeonov, G., and Sethi, K. 2009. Design rule hierarchies and parallelism in software development tasks. In Proc. ASE 2009. Google ScholarDigital Library
Index Terms
- Do all task dependencies require coordination? the role of task properties in identifying critical coordination needs in software projects
Recommendations
Uncovering critical coordination requirements through content analysis
SSE 2013: Proceedings of the 2013 International Workshop on Social Software EngineeringIn this paper, we describe a way to identify the critical coordination needs that exist in a software development project through post-mortem content analysis and manual coding of task pairs. Our coding scheme provides guidelines on how to score the ...
Coordination in co-located agile software development projects
Agile software development provides a way to organise the complex task of multi-participant software development while accommodating constant project change. Agile software development is well accepted in the practitioner community but there is little ...
Proximity: a measure to quantify the need for developers' coordination
CSCW '12: Proceedings of the ACM 2012 conference on Computer Supported Cooperative WorkWe 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 ...
Comments