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.
- de Souza, C. R., Redmiles, D., Cheng, L., Millen, D., and Patterson, J. 2004. Sometimes you need to see through walls: a field study of application programming interfaces. In Proceedings of the 2004 ACM Conference on Computer Supported Cooperative Work (Chicago, Illinois, USA, November 06 - 10, 2004), 63--71. Google ScholarDigital Library
- Hertzum, M. & Pejtersen, A. M. The information-seeking practices of engineers: searching for documents as well as for people. Information Processing and Management, 36, 5, 761--778, 2000. Google ScholarDigital Library
- Kamiya, T., Kusumoto, S., and Inoue, K. CCFinder: a multilinguistic token-based code clone detection system for large scale source code. TSE, 28, 7 (Jul. 2002), 654--670. Google ScholarDigital Library
- 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.Google ScholarCross Ref
- Kim, M., Bergman, L, Lau, T., and Notkin, D. An Ethnographic Stud of Copy and Paste Programming Practices in OOPL. International Symposium on Empirical Software Engineering, 2004. Google ScholarDigital Library
- Kim, M., Sazawal, V., Notkin, D., and Murphy, G.C. An Empirical Study of Code Clone Genealogies. FSE 2005. Google ScholarDigital Library
- Moran, T. P. and Carroll, J. M., Eds. Design rationale: concepts, techniques, and use. Lawrence Erlbaum Associates, Inc, 1996. Google ScholarDigital Library
- Parnas, D.L. On ICSE's "Most Influential Papers". In ACM Software Engineering Notes, 20, 3, July 1995, 29--32. Google ScholarDigital Library
- Perry, D., Staudenmayer, N., and Votta, L. G. People, Organizations, and Process Improvement. IEEE Software, 11, 4, 36--45, 1994. Google ScholarDigital Library
- Rosson, M.B., and Carroll, J.M. The Reuse of Uses in Smalltalk Programming. ACM Transactions on Human-Computer Interaction, 3, 3, 219--253, 1996. Google ScholarDigital Library
- Schwaber, K, & Beedle, M. Agile Software Development with Scrum. Prentice Hall, 2001. Google ScholarDigital Library
- Singer, J., Lethbridge, T., Vinson, N., and Anquetil, N. An Examination of Software Engineering Work Practices. In Proceedings of CASCON '97, 209--223, 1997. Google ScholarDigital Library
- Weiser, M. 1981. Program slicing. In Proceedings of the 5th International Conference on Software Engineering (San Diego, California, United States, March 09 - 12, 1981), 439--449. Google ScholarDigital Library
- Wright, G. and Ayton, P. Eliciting and Modeling Expert Knowledge In Decision Support Systems, Vol. 3, 13--26, 1987. Google ScholarDigital Library
Index Terms
- Maintaining mental models: a study of developer work habits
Recommendations
Impact of interruption style on end-user debugging
CHI '04: Proceedings of the SIGCHI Conference on Human Factors in Computing SystemsAlthough researchers have begun to explicitly support end-user programmers' debugging by providing information to help them find bugs, there is little research addressing the proper mechanism to alert the user to this information. The choice of alerting ...
Knock, knock! who's there? Putting the user in control of managing interruptions
The abundance of communication technology, such as the omnipresence of cell phones, has not only increased our ability to reach people anytime anywhere, but also the likelihood of being interrupted. As a result, there is value in understanding how to ...
Investigating interruptions in the context of computerised cognitive testing for older adults
CHI '12: Proceedings of the SIGCHI Conference on Human Factors in Computing SystemsInterruptions in the home pose a threat to the validity of self-administered computerised cognitive testing. We report the findings of a laboratory experiment investigating the effects of increased interruption workload demand on older adults' ...
Comments