Architecting tools to support transitions in workstyle

Challenges in designing effective groupware include technical issues associated with concurrent and distributed work, as well as social issues associated with supporting group activities. These challenges are further complicated by limited experience with successful designs and insufficient understanding of group interaction dynamics. Although groupware applications must be well designed for individual users, they must also appropriately support the activities of interactive groups. Specifically, members of collaborative groups interact with each other in a variety of ways, so groupware tools must be designed to support a variety of collaborative working styles. Furthermore, members of collaborative groups move frequently between different styles of interaction throughout the course of their work, so groupware tools must be designed to support fluid transitions between different interaction styles. In order to focus our research, we have concentrated on the limited domain of collaborative software design tools. We have applied ethnographic study and activity analysis to demonstrate the importance of supporting different styles of interaction and transitions between them in collaborative software design, and to identify common interaction styles and transitions in this domain. We have developed design and analysis techniques that link requirements to architectural decisions in order enable systematic design of architecture to support different interaction styles and transitions between them. We have applied these techniques to the design of a prototype tools supporting collaborative software design. Although our investigation has been limited to the domain of collaborative software design, we believe these techniques to be widely applicable.