ABSTRACT
Software design documentation is an important aid for communication during software development and maintenance. Nevertheless, little empirical evidence exists regarding the use of software documentation, and effective software design representation in particular. In an experimental setting, we used documentation from industry in which aspects of a software design were modeled in both a (UML) diagram and text. We recorded and analysed how participants used these media to answer various design-related questions and collected additional information in various questionnaires. By having participants think aloud, we set out to understand the underlying cognitive processes of developer design comprehension by applying the grounded theory method. We validated the results with concepts from the cognitive theory of multimedia learning. Results show a positive correlation between developer certainty and correctness of answers, whereas the opposite was not found. Also, self-rated experience and self-rated skill coincide with higher levels of certainty. We found that participants rated information based on perceived importance and that their "common sense" plays a significant role. Surprisingly, more than 60 percent of the answers were based on the consultation of a single medium. These results clearly ask for further investigation. We propose corresponding future work.
- Agarwal, R., and Sinha, A. Object-oriented modeling with UML: a study of developers' perceptions. Communications of the ACM 46, 9 (2003), 248--256. Google ScholarDigital Library
- Baddeley, A. D. Is working memory still working? European Psychology 7, 2nd (June 2002), 85--97.Google ScholarCross Ref
- Baddeley, A. D. Working memory. Current Biology 20, 4 (February 2010), 136--140.Google ScholarCross Ref
- Baddeley, A. D., Kopelman, M. D., and Wilson, B. A., Eds. The Essential Handbook of Memory Disorders for Clinicians. John Wiley and Sons, 2004.Google Scholar
- Charmaz, K. Constructing Grounded Theory. Sage Publications, 2006.Google Scholar
- Curtis, B., Krasner, H., and Iscoe, N. A field study of the software design process for large systems. Comm. of the ACM 31, 11 (November 1988), 1268--1287. Google ScholarDigital Library
- Donahue, G., Weinschenk, S., and Nowicki, J. Usability is good business. from http://www.yucentrik.ca/usability.pdf (02/06/2011) (1999).Google Scholar
- Dumas, J. User-based evaluations. In The Human-computer Interaction Handbook (2002), J. Jacko and A. Sears, Eds., L. Erlbaum Associates Inc., Mahwah, pp. 1093--1117. Google ScholarDigital Library
- Ericsson, K. A., and Simon, H. A. Protocol Analysis: Verbal reports as data, 2nd ed. MIT Press, 1993.Google ScholarCross Ref
- Gibbs, G. R. Analyzing Qualitative Data. Sage Publications, 2007.Google ScholarCross Ref
- Glaser, B., and Strauss, A. Grounded Theory: The Discovery of Grounded Theory. New York: De Gruyter, 1967.Google Scholar
- Hayes, J. H. Do you like piña coladas? How improved communication can improve software quality. IEEE Software 20, 1 (2003), 90--92. Google ScholarDigital Library
- Healy, A. F., Proctor, R. W., Weiner, I. B., Freedheim, D. K., and Schinka, J. A., Eds. Handbook of Psychology: Experimental psychology. John Wiley and Sons, 2003.Google Scholar
- Heijstek, W., Kühne, T., and Chaudron, M. R. V. Experimental analysis of textual and graphical representations for software architecture design. ESEM (2011). Google ScholarDigital Library
- Herbsleb, J. D. Global software engineering: The future of socio-technical coordination. In FOSE (2007). Google ScholarDigital Library
- Herbsleb, J. D., and Moitra, D. Global software development. IEEE Software 18, 2 (March/April 2001), 16--20. Google ScholarDigital Library
- Holmes, J. Expressing doubt and certainty in english. RELC Journal 13, 9 (1982), 9--28.Google ScholarCross Ref
- Kalyuga, S. Knowledge elaboration: A cognitive load perspective. Learning and Instruction 19 (2009), 402--410.Google ScholarCross Ref
- Kotlarsky, J., van Fenema, P. C., and Willcocks, L. P. Developing a knowledge-based perspective on coordination: the case of global software projects. Information and Management 45 (2008), 96--108. Google ScholarDigital Library
- Kraut, R. E., and Streeter, L. A. Coordination in software development. Comm. of the ACM 38, 3 (March 1995), 69--81. Google ScholarDigital Library
- Kuhn, T. S. The Structure of Scientific Revolutions, 3rd ed. The University of Chicago Press, 1996.Google Scholar
- Lange, C. F. J., and Chaudron, M. R. V. Managing model quality in UML-based software development. In Int. Workshop on S.Tech. and Eng. Practice (2005), pp. 15--23. Google ScholarDigital Library
- Larkin, J., and Simon, H. Why a diagram is (sometimes) worth ten thousand words. Cognitive science 11, 1 (1987), 65--100.Google Scholar
- LaToza, T. D., Venolia, G., and DeLine, R. Maintaining mental models: A study of developer work habits. In ICSE (2006), pp. 492--501. Google ScholarDigital Library
- Lee, G., DeLone, W., and Espinosa, J. Ambidextrous coping strategies in globally distributed software development projects. Comm. of the ACM 49, 10 (2006), 35--40. Google ScholarDigital Library
- Lyons, E., and Coyle, A., Eds. Analysing Qualitative Data in Psychology. Sage Publications, 2007.Google ScholarCross Ref
- Mayer, R. E. Multimedia Learning, 2nd ed. Cambridge University Press, 2009. Google ScholarDigital Library
- Moody, D. The "physics" of notations: Toward a scientific basis for constructing visual notations in software engineering. IEEE Trans. on Soft. Eng. (2009), 756--779. Google ScholarDigital Library
- Moody, D. L., and van Hillegersberg, J. Evaluating the visual syntax of UML: An analysis of the cognitive effectiveness of the UML family of diagrams. Software Language Engineering 5452 (2009), 16--34. Google ScholarDigital Library
- Müller, M., and Tichy, W. Case study: Extreme programming in a university environment. ICSE (2001), 537--544. Google ScholarDigital Library
- Nugroho, A. Level of detail in UML models and its impact on model comprehension: A controlled experiment. Information & Software Technology 51, 12 (2009), 1670--1685. Google ScholarDigital Library
- Olson, G. M., and Olson, J. S. Distance matters. Human-Computer Interaction 15 (2000), 139--178. Google ScholarDigital Library
- Parnas, D. L. On the criteria to be used in decomposing systems into modules. Comm. of the ACM 15, 12 (December 1972), 1053--1058. Google ScholarDigital Library
- Ågerfalk, P. J., and Fitzgerald, B. Flexible and distributed software processes: Old petunias in new bowls? Communications of the ACM 49, 10 (October 2006), 27--34. Google ScholarDigital Library
- Tversky, A., and Kahneman, D. Judgements under uncertainty: Heuristics and biases. Science 185 (1974), 1124--1131.Google ScholarCross Ref
- van Vliet, H. Software Engineering: Principles and Practice, 3rd ed. Wiley, June 2008. Google ScholarDigital Library
- Wohlin, C., Runeson, P., Höst, M., Ohlsson, M. C., Regnell, B., and Wesslén, A. Experimentation in Software Engineering: An Introduction. Kluwer Academic Publishers, Norwell, MA, USA, 2000. Google ScholarDigital Library
Index Terms
- A cognitive perspective on developer comprehension of software design documentation
Recommendations
Technical debt cripples software developer productivity: a longitudinal study on developers' daily software development work
TechDebt '18: Proceedings of the 2018 International Conference on Technical DebtSoftware companies need to continuously deliver customer value, both from a short- and long-term perspective. However, software development can be impeded by what has been described as Technical Debt (TD). The aim of this study is to explore the ...
A cognitive perspective on software development methods: the case of extreme programming
WISER '06: Proceedings of the 2006 international workshop on Workshop on interdisciplinary software engineering researchOne of the main dilemmas with which software development teams face is how to choose a software development method that suits the team as well as the organization. This short paper suggests an approach that may help in this process. Specifically, ...
Comments