Time: 10:30 am - 11:15 am
Jim Whitehead is an Associate Professor of Computer Science at the University of California, Santa Cruz (currently on sabbatical at Univ. Rey Juan Carlos in Mostoles (Madrid), Spain). His research interest in software configuration management systems led, in the mid-90s, to his work on the WebDAV (Web Distributed Authoring and Versioning) and Delta-V protocols. More recently, his research has focused on software evolution and software bug prediction using data mined from configuration management repositories. Jim is the Program Committee Co-Chair for the 2010 Working Conference on Mining Software Repositories. Jim also has a research interest in level design and procedural content generation for computer games, and was the General Chair for the 2009 Foundations of Digital Games conference.
Software projects are inherently cooperative, requiring many software engineers to coordinate their efforts to produce a working software system. A firm understanding of cooperative processes is hence essential to understanding software development, and efforts to improve project efficiency. This talk presents a view of software engineering collaboration where the key activity is the resolution of conflicting or ambiguous views of the system under construction. Shared understanding is captured in a series of project artifacts (source code, design documents, requirements, test plans, etc.) which, in turn, leads to a model-based focus for software engineering collaboration tools. The talk presents several proposals for future directions in collaborative software engineering. These include shifting IDEs to the Web, integration of social networking sites, broadening participation in design, and capturing design rationale. A unifying theme across these future directions is how they increase project awareness and reduce barriers to communication, thereby opening more opportunities to detect and mediate differing mental conceptions of the software system under construction.