Author :
Storey, Margaret-Anne ; Ryall, Jody ; Bull, R. Ian ; Myers, Del ; Singer, Janice
Author_Institution :
Univ. of Victoria, Victoria, BC
Abstract :
Software development is a highly collaborative activity that requires teams of developers to continually manage and coordinate their programming tasks. In this paper, we describe an empirical study that explored how task annotations embedded within the source code play a role in how software developers manage personal and team tasks. We present findings gathered by combining results from a survey of professional software developers, an analysis of code from open source projects, and interviews with software developers. Our findings help us describe how task annotations can be used to support a variety of activities fundamental to articulation work within software development. We describe how task management is negotiated between the more formal issue tracking systems and the informal annotations that programmers write within their source code. We report that annotations have different meanings and are dependent on individual, team and community use. We also present a number of issues related to managing annotations, which may have negative implications for maintenance. We conclude with insights into how these findings could be used to improve tool support and software process.
Keywords :
groupware; program debugging; public domain software; task analysis; TODO; To Bug; collaborative activity; open source projects; software developers; task annotations; task management; Collaborative software; Collaborative tools; Collaborative work; Embedded software; Open source software; Programming profession; Project management; Protocols; Software development management; Software tools; source code comments; task annotations; work practices;
Conference_Titel :
Software Engineering, 2008. ICSE '08. ACM/IEEE 30th International Conference on
Conference_Location :
Leipzig
Print_ISBN :
978-1-4244-4486-1
Electronic_ISBN :
0270-5257
DOI :
10.1145/1368088.1368123