Shared Understanding in Software Organizations
Dr. Jorge Aranda
, SEGAL and CHISEL Labs, Department of Computer Science, University of Victoria

Wednesday, November 10th, 2010, 1:30pm
Computer Science and Engineering Building – CSEB 3033

Effective coordination and communication are essential to the success of software organizations, but how can they be achieved? Some people will argue for a tighter engineering of the organization’s processes, others for an analysis of its structure and of the blockages in its flow of information. I claim that these approaches, while useful at times, are overly simplistic for our purpose, as they fail to account for the real struggles that organization members face on an everyday basis as they try to coordinate and communicate.

In this talk I will outline a theoretical framework based on the concept of “shared understanding.” The framework acknowledges the essential difficulties of effective coordination and communication. I will discuss four attributes of interaction that foster the development of shared understanding: synchrony, proximity, proportionality, and maturity. I will explain why the argument has important implications for our field: for instance, project lifecycle processes and documentation are found to be poor substitutes for simpler and more informal (but unscalable) mechanisms, and co-location and group cohesion have an often unacknowledged direct benefit for software teams.

If time permits, I will close with a case study of a medium-sized Extreme Programming firm, analyzing the difference between “good” and “bad” agile, and exploring XP under the lens of the Shared Understanding theory.

Bio: Jorge Aranda is a Postdoctoral Fellow at the SEGAL and CHISEL Labs in the Department of Computer Science at the University of Victoria. He obtained his PhD at the University of Toronto, after performing empirical studies, observations, and interviews with hundreds of software professionals at dozens of organizations. He researches coordination and communication in software development.