The following is the first précis I had to write on the Scientific Writing course that I am taking this summer:
Cherubini, M., Venolia, G., DeLine, R., and Ko, A. J.: Let’s go to the whiteboard: how and why software developers use drawings. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, pages 557-566, published by ACM. (2007)
Regardless of existing knowledge about the use of diagrams in other fields, their application in software development has not been explored. The authors carried out a study to determine the reasons which lead developers to draw diagrams, and to reveal details about the context in which the diagrams are produced. This study was conducted at Microsoft Corporation and included nine interviews with developers who use diagrams often. To validate the feedback, the authors developed a survey and administered it to 427 employees of this corporation.
During the interviews, eight software development tasks were identified as those in which diagrams are typically utilized: the comprehension of existing code; the design previous to the implementation of a feature or a bug fix; discussions about complex changes; spontaneous meetings among developers; the training of novices; interactions with customers; discussions with other interested parties; and the creation of documentation.
Based on an analysis of quantitative data from the survey, the authors concluded that there was infrequent use of standard notation, computerized drawing tools, and reverse engineering tools. For the eight software tasks, whiteboards were the most common means for producing diagrams. However, among all the activities, the use of reverse engineering tools was more frequent in the creation of documentation, analysis of complex designs, training of novices, and the study of existing code.
Unfortunately, other results derived from the interviews will need to be validated because the number of participants was small.