| Maintaining mental models: a study of developer work habits |
| Full text |
Pdf
(218 KB)
|
| Source
|
International Conference on Software Engineering
archive
Proceedings of the 28th international conference on Software engineering
table of contents
Shanghai, China
SESSION: Experience papers: software development practices
table of contents
Pages: 492 - 501
Year of Publication: 2006
ISBN:1-59593-375-1
|
|
Authors
|
|
| Sponsors |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 27, Downloads (12 Months): 222, Citation Count: 30
|
|
|
ABSTRACT
To understand developers' typical tools, activities, and practices and their satisfaction with each, we conducted two surveys and eleven interviews. We found that many problems arose because developers were forced to invest great effort recovering implicit knowledge by exploring code and interrupting teammates and this knowledge was only saved in their memory. Contrary to expectations that email and IM prevent expensive task switches caused by face-to-face interruptions, we found that face-to-face communication enjoys many advantages. Contrary to expectations that documentation makes understanding design rationale easy, we found that current design documents are inadequate. Contrary to expectations that code duplication involves the copy and paste of code snippets, developers reported several types of duplication. We use data to characterize these and other problems and draw implications for the design of tools for their solution.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
 |
1
|
Cleidson R. B. de Souza , David Redmiles , Li-Te Cheng , David Millen , John Patterson, Sometimes you need to see through walls: a field study of application programming interfaces, Proceedings of the 2004 ACM conference on Computer supported cooperative work, November 06-10, 2004, Chicago, Illinois, USA
[doi> 10.1145/1031607.1031620]
|
| |
2
|
|
| |
3
|
|
| |
4
|
Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Videira Lopes, C., Loingtier, J.-M., and Irwin, J. Aspect Oriented Programming. In Proceedings of ECOOP, 1997.
|
| |
5
|
|
 |
6
|
|
| |
7
|
|
 |
8
|
|
| |
9
|
|
 |
10
|
|
| |
11
|
|
| |
12
|
Janice Singer , Timothy Lethbridge , Norman Vinson , Nicolas Anquetil, An examination of software engineering work practices, Proceedings of the 1997 conference of the Centre for Advanced Studies on Collaborative research, p.21, November 10-13, 1997, Toronto, Ontario, Canada
|
| |
13
|
|
| |
14
|
|
CITED BY 30
|
|
|
|
|
|
|
|
Jacob T. Biehl , Mary Czerwinski , Greg Smith , George G. Robertson, FASTDash: a visual dashboard for fostering awareness in software teams, Proceedings of the SIGCHI conference on Human factors in computing systems, April 28-May 03, 2007, San Jose, California, USA
|
|
|
|
|
|
|
|
|
Mauro Cherubini , Gina Venolia , Rob DeLine , Andrew J. Ko, Let's go to the whiteboard: how and why software developers use drawings, Proceedings of the SIGCHI conference on Human factors in computing systems, April 28-May 03, 2007, San Jose, California, USA
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Bas Cornelissen , Andy Zaidman , Danny Holten , Leon Moonen , Arie van Deursen , Jarke J. van Wijk, Execution trace analysis through massive sequence and circular bundle views, Journal of Systems and Software, v.81 n.12, p.2252-2268, December, 2008
|
|
|
|
|
|
Brad A. Myers , Andrew J. Ko , Sun Young Park , Jeffrey Stylos , Thomas D. LaToza , Jack Beaton, More natural end-user software engineering, Proceedings of the 4th international workshop on End-user software engineering, p.30-34, May 12-12, 2008, Leipzig, Germany
|
|
|
|
|
|
Joel Brandt , Philip J. Guo , Joel Lewenstein , Scott R. Klemmer, Opportunistic programming: how rapid ideation and prototyping occur in practice, Proceedings of the 4th international workshop on End-user software engineering, p.1-5, May 12-12, 2008, Leipzig, Germany
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
INDEX TERMS
Primary Classification:
D.
Software
D.2
SOFTWARE ENGINEERING
D.2.7
Distribution, Maintenance, and Enhancement
Subjects:
Documentation
Additional Classification:
D.
Software
D.2
SOFTWARE ENGINEERING
D.2.6
Programming Environments
Subjects:
Integrated environments
D.2.9
Management
Subjects:
Programming teams
General Terms:
Design,
Documentation,
Experimentation,
Human Factors
Keywords:
agile software development,
code duplication,
code ownership,
communication,
debugging,
interruptions
|