Virtual Radical Collocation for Distributed Software Development:
Discussion
Walt ScacchiInstitute for Software ResearchUniversity of California, IrvineIrvine, CA 92697-3455 USA
http://www.ics.uci.edu/~wscacchi/Presentations/VRC-DSD.ppt
VRC Proposal, Olson, et al. 2008
Significant concepts and ideas Concerns or opportunities to address Other observations
VRC Proposal: Significant concepts and ideas
Virtual radical collocation When and where VRC based work may be more effective than traditional
collocated work Being there (virtually) without really being there (physically)
Focus on logically centralizing physically decentralized software development actors, work practices, tools, artifacts*
Embodied VRC via Video walls, online social proxies, and 3D virtual workplaces
* J. Noll and W. Scacchi, Supporting Software Development in Virtual Enterprises, Journal of Digital Information, 1(4), February 1999.
Concerns or opportunities to address
Strengths and weaknesses of large tiled displays Visualization content, tiles, and display resolution (mis)match User engagement: sitting versus dynamic roaming Window-pane border management vs. content layout (e.g., software text, box and
arrow diagrams, networks, and graphs common in software development) Online social proxies
Mixed reality avatars (bots?) that stand-in while people are away Seeing others vs. engaging others (e.g., eye gaze; knowing others see you) Persistent, reusable gestures
3D virtual environments (with real-time interacting avatars and spatial audio)
Networked multi-player games (Half-Life: CounterStrike) do it already, and do it much better than Second Life or others like Miramar (Intel) or Qwaq
Other observations
30+ years of prior empirical studies of software engineering work and productivity
Relevant domain expertise, teamwork practices, and individual differences of developers trump all other cost or productivity factors, up to 10X+
Consider targeting high-value distributed software development people
Software system architects Project managers Critical event response teams Developers of concurrent “multi-core” applications
Other observations
Consider what kinds of distributed software development visualizations and tasks to support Large system architectural configurations Project management via socio-technical interaction networks Cyber attacks (e.g., network security breach localization, isolation,
and repair/reconfiguration) Designing, run-time monitoring, and debugging of “multi-core”
software Anything else that requires or benefits from a massively parallel,
snap-to-grid views or visualizations of software
Source: C. Amrit and van Hillegersberg, J., Detecting Coordination Problems in Collaborative Software Development Environments, Information Systems Management, 25(1), 57,70, December 2008.