Walt Scacchi Institute for Software Research University of California, Irvine Irvine, CA 92697-3455 USA http://www.ics.uci.edu/~wscacchi/Presentations/VRC-DSD.ppt Virtual Radical Collocation for Distributed Software Development:Discussion
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.