Share on Facebook Tweet on Twitter Share on LinkedIn Share by email
Maintaining mental models: a study of developer work habits

Thomas D. LaToza, Gina Venolia, and Robert DeLine


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.


Publication typeInproceedings
Published inICSE '06: Proceedings of the 28th international conference on Software engineering
AddressNew York, NY, USA

Previous versions

Gina D. Venolia, Robert DeLine, and Thomas LaToza. Software Development at Microsoft Observed, October 2005.

> Publications > Maintaining mental models: a study of developer work habits