Title :
Facilitating Coordination between Software Developers: A Study and Techniques for Timely and Efficient Recommendations
Author :
Blincoe, Kelly ; Valetto, Giuseppe ; Damian, Daniela
Author_Institution :
Software Eng. Global Interaction Lab., Univ. of Victoria, Victoria, BC, Canada
Abstract :
When software developers fail to coordinate, build failures, duplication of work, schedule slips and software defects can result. However, developers are often unaware of when they need to coordinate, and existing methods and tools that help make developers aware of their coordination needs do not provide timely or efficient recommendations. We describe our techniques to identify timely and efficient coordination recommendations, which we developed and evaluated in a study of coordination needs in the Mylyn software project. We describe how data obtained from tools that capture developer actions within their Integrated Development Environment (IDE) as they occur can be used to timely identify coordination needs; we also describe how properties of tasks coupled with machine learning can focus coordination recommendations to those that are more critical to the developers to reduce information overload and provide more efficient recommendations. We motivate our techniques through developer interviews and report on our quantitative analysis of coordination needs in the Mylyn project. Our results suggest that by leveraging IDE logging facilities, properties of tasks and machine learning techniques awareness tools could make developers aware of critical coordination needs in a timely way. We conclude by discussing implications for software engineering research and tool design.
Keywords :
groupware; learning (artificial intelligence); programming environments; project management; software tools; IDE logging facilities; Mylyn software project; coordination needs quantitative analysis; coordination recommendation; integrated development environment; machine learning technique awareness tools; software developers; software engineering research; task properties; tool design; Accuracy; Correlation; Encoding; Interviews; Manuals; Software; Statistical analysis; Computer-supported cooperative work; Human Factors in Software Design; Management; Metrics/Measurement; Productivity; Programming Teams; human factors in software design; management; metrics/measurement; productivity; programming teams;
Journal_Title :
Software Engineering, IEEE Transactions on
DOI :
10.1109/TSE.2015.2431680