- Project OverviewCoordination in software development involves a wide range of stakeholders (designers, business analysts, developers, testers) whose tasks have interdependencies driven by project requirements. Effective communication and coordination relies on timely and relevant access to technical and domain knowledge, and is affected by organizational structures and tool support. In this project we investigate the communication and coordination in projects beyond the technical dependencies found in software code.
- SEGAL Members InvolvedSabrina Marczak, Irwin Kwan, Daniela Damian
- Research PartnersRemko Helms (University of Utrecht, Netherlands)
In this project we investigate the communication and coordination in projects beyond the technical dependencies found in software code. Empirical research has studied coordination of developers around code artifacts when implementing change requests and found that higher coordination along code dependencies leads to more productive developers and fewer defects in the code. However, software projects are driven by many other dependencies that are not of technical nature, and most often guided by the project requirements. This complex process involves parties other than developers, such as clients, analysts, designers and testers, and their effective coordination is crucial to project success.
Project Components and Results
We developed a framework for the study of requirements-driven collaboration  in which we conceptualize (1) coordination needs based on requirements-driven task dependencies, (2) actual communication as driven by work on requirements, as well as (3) a mechanism to study information flow patterns in the project by comparing properties of the actual communication and coordination needs.
We applied our framework in a series of empirical analyses of the collaboration within a globally distrbuted team at a large IT manufactoring organization [2,3,4]. We used a multi-method research combining methods of network analysis, social network surveys, qualitative observations in software projects, and interviews with members of the software team playing various roles in requirements-driven collaboration. Our results so far show patterns of information flow between various roles involved in requirements-driven communication, the role of brokers in project communication, as well as ways in which communication in a project is driven not only by task dependencies but also by other organizational structures such as distribution of domain knowledge and cross-functional communication structures.
1. Daniela Damian, Irwin Kwan, and Sabrina Marczak. Requirements-Driven Collaboration: Leveraging the Invisible Relationships Between Requirements and People. Collaborative Software Enginnering, A. Frinkelstein, J. Grundy, A. van der Hoek, I. Mistrik, J. Whitehead (Eds.), Chapter 3, pp. 57-76, Springer-Verlag, Computer Science Editorial Series, May, 2010
2. Daniela Damian, Remko Helms, Irwin Kwan, Sabrina Marczak, and B. Koelewijn. The role of domain knowledge and hierarchical control structures in socio-technical coordination. Proc. of IEEE Int. Conf. on Software Engineering (ICSE), San Francisco, 2013, to appear (Abstract, BibTex ,DOI)
3. Sabrina Marczak, and Daniela Damian. How Interaction between Roles Shapes the Communication Structure in Requirements-Driven Collaboration. Proc. of the International Conference on Requirements Engineering (RE 11), Trento, Italy, 2011 (Abstract, BibTex ,DOI)
4. Daniela Damian, Sabrina Marczak, and Irwin Kwan. Collaboration Patterns and the Impact of Distance on Awareness in Requirements-Centred Social Networks. Proc. of IEEE Requirements Engineering Conference (RE 07), New Delhi, India, 2007, pp. 59-68 (Abstract, BibTex ,DOI)