Requirements engineering involves collaboration among many project team members. Driven by coordination needs, this collaboration relies on communication and knowledge that members have of their colleagues and related activities. Ineffective coordination with those who work on requirements dependencies may result in project failure. In this paper, we report on a study of roles and communication structures in the collaboration driven by interdependent requirements in a software team. Through on-site observations, interviews with the developers and application of social network analysis, we found that there was significant communication between diverse roles in the project, and identified what were the reasons for communication between the different roles. We also found that these interactions typically involved a core of requirements analysts and testers in close communication, that most often they involved critical members whose absence, whether temporary or permanent, would disrupt the information flow if removed from the project, as well as that new hires were mostly isolated from the team collaboration. Most interestingly we found that the emergent communication structure between the different roles in the project did not conform to the planned communication structure prescribed by the organization. These findings further our knowledge about collaboration driven by requirements, and provide some useful implications for research and development of collaborative tools to support the effective coordination of cross-functional teams in software development.
How Interaction between Roles Shapes the Communication Structure in Requirements-Driven Collaboration
1. How Interaction between Roles
Shapes the Communication Structure
in Requirements-Driven Collaboration
Sabrina Marczak
University of Victoria, Canada
(now at PUCRS, Brazil)
Daniela Damian
University of Victoria, Canada
2. REQUIREMENTS ENGINEERING 2
drives downstream phases and artifacts development
Conception Planning
R. Analyst P. Manager
Design Development
Architect Developer
Testing Deployment
Tester Developer
How Interaction between Roles Shapes the Communication Structure in Requirements-Driven Collaboration | S. Marczak and D. Damian | RE ’11 | Trento, Italy
3. REQUIREMENTS ENGINEERING 2
drives downstream phases and artifacts development
Conception Planning
R. Analyst P. Manager R. Analyst
Design Development Requirement
Architect Developer Tester Architect
Testing Deployment
Tester Developer
Developer P. Manager
How Interaction between Roles Shapes the Communication Structure in Requirements-Driven Collaboration | S. Marczak and D. Damian | RE ’11 | Trento, Italy
4. COLLABORATION in RE 3
Coordination, communication, awareness
Dependency
R. Analyst R. Analyst
Requirement Requirement
Tester Architect Tester Architect
Developer P. Manager Developer P. Manager
How Interaction between Roles Shapes the Communication Structure in Requirements-Driven Collaboration | S. Marczak and D. Damian | RE ’11 | Trento, Italy
5. COLLABORATION in RE 3
Coordination, communication, awareness
Dependency
R. Analyst R. Analyst
Requirements-driven collaboration
Requirement Requirement
Tester Architect Tester Architect
Developer P. Manager Developer P. Manager
How Interaction between Roles Shapes the Communication Structure in Requirements-Driven Collaboration | S. Marczak and D. Damian | RE ’11 | Trento, Italy
6. research questions 4
Are there patterns of communication in
collaboration driven by work on interdependent
requirements?
How do the different roles interact when working on
interdependent requirements?
Dependency
R. Analyst R. Analyst
Requirement Requirement
Tester Architect Tester Architect
Developer P. Manager Developer P. Manager
How Interaction between Roles Shapes the Communication Structure in Requirements-Driven Collaboration | S. Marczak and D. Damian | RE ’11 | Trento, Italy
7. communication patterns
How Interaction between Roles Shapes the Communication Structure in Requirements-Driven Collaboration | S. Marczak and D. Damian | RE ’11 | Trento, Italy
8. communication patterns
Requirements Analyst 3
Requirements Analyst 1
Tester 1
Requirements Analyst 2
Test Leader
Developer Tester 2
Dev Leader
most connected members
How Interaction between Roles Shapes the Communication Structure in Requirements-Driven Collaboration | S. Marczak and D. Damian | RE ’11 | Trento, Italy
9. communication patterns
Requirements Analyst 3
Requirements Analyst 1
Tester 1
members in a clique
Requirements Analyst 1 Requirements Analyst 2
Developer 2
Developer 1
Requirements Analyst 2 Test Leader
Developer Tester 2
Dev Leader
Tester 2
most connected members
Tester 1
Requirements Analyst 3
How Interaction between Roles Shapes the Communication Structure in Requirements-Driven Collaboration | S. Marczak and D. Damian | RE ’11 | Trento, Italy
10. communication patterns
Requirements Analyst 3
Requirements Analyst 1
Tester 1
members in a clique
Requirements Analyst 1 Requirements Analyst 2
Developer 2
Developer 1
Requirements Analyst 2 Test Leader
Developer Tester 2
Dev Leader
Tester 2
most connected members
Tester 1
Requirements Analyst 3
Developer 1 Developer 2
Dev Leader 1
Requirements Analyst 1
Developer 3
Dev Leader 2
Tester 2
Requirements Analyst 3
critical members Tester 1
How Interaction between Roles Shapes the Communication Structure in Requirements-Driven Collaboration | S. Marczak and D. Damian | RE ’11 | Trento, Italy
11. communication patterns
Requirements Analyst 3
Requirements Analyst 1
Tester 1
members in a clique
Requirements Analyst 1 Requirements Analyst 2
Developer 2
Developer 1
Requirements Analyst 2 Test Leader
Developer Tester 2
Dev Leader
Tester 2
most connected members
Tester 1
Requirements Analyst 3
Developer 1 Developer 2
Test Leader Requirements Analyst 1
Dev Leader 1
Tester 1
isolated members Requirements Analyst 1
Requirements Analyst 2
Dev Leader
Developer 3
Developer 1
Dev Leader 2
Developer 2
Tester 2
Tester 2 Requirements Analyst 3
Requirements Analyst 3
critical members Tester 1
How Interaction between Roles Shapes the Communication Structure in Requirements-Driven Collaboration | S. Marczak and D. Damian | RE ’11 | Trento, Italy
12. approach 6
R1 R2
How Interaction between Roles Shapes the Communication Structure in Requirements-Driven Collaboration | S. Marczak and D. Damian | RE ’11 | Trento, Italy
13. approach 6
Requirements-centric team
R. Analyst Developer
R. Analyst
Developer
Developer Developer
Developer
Architect Architect
Tester Tester
Tester
R1 R2
How Interaction between Roles Shapes the Communication Structure in Requirements-Driven Collaboration | S. Marczak and D. Damian | RE ’11 | Trento, Italy
14. approach 6
Requirements-centric social network
R. Analyst Developer
R. Analyst
Developer
Developer Developer
Developer
Architect Architect
Tester Tester
Tester
R1 R2
How Interaction between Roles Shapes the Communication Structure in Requirements-Driven Collaboration | S. Marczak and D. Damian | RE ’11 | Trento, Italy
15. approach 6
Social network measures: e.g., degree
R. Analyst Developer
R. Analyst
Developer
Developer Developer
Developer
Architect Architect
Tester Tester
Tester
R1 R2
How Interaction between Roles Shapes the Communication Structure in Requirements-Driven Collaboration | S. Marczak and D. Damian | RE ’11 | Trento, Italy
16. industrial case study 7
Large distributed IT organization (US, Brazil, India)
Three-months on-site observations
Mixed-method methodology
Observation
Document inspection
Interviews
Questionnaire
How Interaction between Roles Shapes the Communication Structure in Requirements-Driven Collaboration | S. Marczak and D. Damian | RE ’11 | Trento, Italy
17. industrial case study 8
the ‘KnowHow’ team
Maintenance of legacy systems
Team distribution (44 members)
Brazil (38), USA (5), India (1)
PM (2), Req Analyst (4), Dev Lead (5), Dev (20), Test
Lead (1), Testers (7), Business Partner (5)
New to the product and as a team itself
Reverse engineering activity to identify reqts
How Interaction between Roles Shapes the Communication Structure in Requirements-Driven Collaboration | S. Marczak and D. Damian | RE ’11 | Trento, Italy
18. industrial case study 9
20 requirements
4 sets of dependencies
well-defined team and communication
structures
How Interaction between Roles Shapes the Communication Structure in Requirements-Driven Collaboration | S. Marczak and D. Damian | RE ’11 | Trento, Italy
19. industrial case study 9
20 requirements
4 sets of dependencies
well-defined team and communication
structures Requirements
Analyst
Development Test
Leader Leader
Developer Tester
How Interaction between Roles Shapes the Communication Structure in Requirements-Driven Collaboration | S. Marczak and D. Damian | RE ’11 | Trento, Italy
20. questionnaire instrument
How Interaction between Roles Shapes the Communication Structure in Requirements-Driven Collaboration | S. Marczak and D. Damian | RE ’11 | Trento, Italy
21. definition 11
‘Communication Patterns’ in requirements-driven
collaboration
Recurring repetition of the same communication
behavior across the social networks of dependent
requirements
How Interaction between Roles Shapes the Communication Structure in Requirements-Driven Collaboration | S. Marczak and D. Damian | RE ’11 | Trento, Italy
22. communication patterns (1/6) 12
How Interaction between Roles Shapes the Communication Structure in Requirements-Driven Collaboration | S. Marczak and D. Damian | RE ’11 | Trento, Italy
23. communication patterns (1/6) 12
Requirements Analyst 1
Developer 2
Developer 1
Requirements Analyst 2
Tester 2
Tester 1
Requirements Analyst 3
How Interaction between Roles Shapes the Communication Structure in Requirements-Driven Collaboration | S. Marczak and D. Damian | RE ’11 | Trento, Italy
24. communication patterns (1/6) 12
collaboration driven by interdependent requirements includes
significant cross-functional interactions
Requirements Analyst 1
Developer 2
Developer 1
Requirements Analyst 2
Tester 2
Tester 1
Requirements Analyst 3
How Interaction between Roles Shapes the Communication Structure in Requirements-Driven Collaboration | S. Marczak and D. Damian | RE ’11 | Trento, Italy
25. communication patterns (1/6) 12
collaboration driven by interdependent requirements includes
significant cross-functional interactions
'&"
'("
Requirements Analyst 1 '("
Developer 2
%&"
Developer 1 %&"
%("
Requirements Analyst 2 *&"
*(" C/3?/2D3,914"
!$" !#"
:0744D3,914"
!&"
Tester 2 !!"
)"
!(" #"
&"
Tester 1 !"
("
+,-./0,1,234" +,-./0,1,234" :711.2/=9872"7>" :770@/29872"7>"
Requirements Analyst 3 5,6789872" :;90/<=872" :?926,4" A=8B/8,4"
How Interaction between Roles Shapes the Communication Structure in Requirements-Driven Collaboration | S. Marczak and D. Damian | RE ’11 | Trento, Italy
26. communication patterns (1/6) 12
collaboration driven by interdependent requirements includes
significant cross-functional interactions
'&"
'("
Requirements Analyst 1 '("
Developer 2
%&"
Developer 1 %&"
%("
Requirements Analyst 2 *&"
*(" C/3?/2D3,914"
!$" !#"
:0744D3,914"
!&"
Tester 2 !!"
)"
!(" #"
&"
Tester 1 !"
("
+,-./0,1,234" +,-./0,1,234" :711.2/=9872"7>" :770@/29872"7>"
Requirements Analyst 3 5,6789872" :;90/<=872" :?926,4" A=8B/8,4"
cliques inside the networks were also cross-functional
How Interaction between Roles Shapes the Communication Structure in Requirements-Driven Collaboration | S. Marczak and D. Damian | RE ’11 | Trento, Italy
27. communication patterns (1/6) 12
collaboration driven by interdependent requirements includes
significant cross-functional interactions
'&"
'("
Requirements Analyst 1 '("
Developer 2
%&"
Developer 1 %&"
%("
Requirements Analyst 2 *&"
*(" C/3?/2D3,914"
!$" !#"
:0744D3,914"
!&"
Tester 2 !!"
)"
!(" #"
&"
Tester 1 !"
("
+,-./0,1,234" +,-./0,1,234" :711.2/=9872"7>" :770@/29872"7>"
Requirements Analyst 3 5,6789872" :;90/<=872" :?926,4" A=8B/8,4"
cliques inside the networks were also cross-functional
How Interaction between Roles Shapes the Communication Structure in Requirements-Driven Collaboration | S. Marczak and D. Damian | RE ’11 | Trento, Italy
28. communication patterns (1/6) 12
collaboration driven by interdependent requirements includes
significant cross-functional interactions
'&"
'("
Requirements Analyst 1 '(" Requirements
Developer 2
%&" Analyst
Developer 1 %&"
%("
Requirements Analyst 2 *&"
*(" C/3?/2D3,914"
!$" !#"
Development Test:0744D3,914"
!&" Leader
Tester 2 Leader !!"
)"
!(" #"
&"
Tester 1 !"
("
+,-./0,1,234" +,-./0,1,234" :711.2/=9872"7>" :770@/29872"7>"
Requirements Analyst 3 5,6789872" :;90/<=872" :?926,4" A=8B/8,4"
Developer Tester
cliques inside the networks were also cross-functional
How Interaction between Roles Shapes the Communication Structure in Requirements-Driven Collaboration | S. Marczak and D. Damian | RE ’11 | Trento, Italy
29. communication patterns (2/6) 13
Actual communication structure showed significant
backchannel communication
How Interaction between Roles Shapes the Communication Structure in Requirements-Driven Collaboration | S. Marczak and D. Damian | RE ’11 | Trento, Italy
30. communication patterns (2/6) 13
Actual communication structure showed significant
backchannel communication
Requirements
Analyst
Development Test
Leader Leader
Developer
How Interaction between Roles Shapes the Communication Structure in Requirements-Driven Collaboration | S. Marczak and D. Damian | RE ’11 | Trento, Italy Tester
31. communication patterns (2/6) 13
Actual communication structure showed significant
backchannel communication
Requirements
Analyst
Test Leader Requirements Analyst 1
Tester 1
Requirements Analyst 2
Dev Leader Development Test
Developer 1 Leader Leader
Developer 2
Tester 2
Requirements Analyst 3
Developer
How Interaction between Roles Shapes the Communication Structure in Requirements-Driven Collaboration | S. Marczak and D. Damian | RE ’11 | Trento, Italy Tester
32. communication patterns (2/6) 13
Actual communication structure showed significant
backchannel communication
Requirements
Analyst
Test Leader Requirements Analyst 1
Tester 1
Requirements Analyst 2
Dev Leader Development Test
Developer 1 Leader Leader
Developer 2
Tester 2
Requirements Analyst 3
Developer
How Interaction between Roles Shapes the Communication Structure in Requirements-Driven Collaboration | S. Marczak and D. Damian | RE ’11 | Trento, Italy Tester
33. communication patterns (2/6) 13
Actual communication structure showed significant
backchannel communication
Requirements
Analyst
Development Test
Leader Leader
Developer
How Interaction between Roles Shapes the Communication Structure in Requirements-Driven Collaboration | S. Marczak and D. Damian | RE ’11 | Trento, Italy Tester
34. communication patterns (2/6) 13
Actual communication structure showed significant
backchannel communication
Decentralized networks (network centralization
indexes around 0.4)
Likely team members will be less affected by the
absence of a colleague Requirements
Analyst
Development Test
Leader Leader
Developer
How Interaction between Roles Shapes the Communication Structure in Requirements-Driven Collaboration | S. Marczak and D. Damian | RE ’11 | Trento, Italy Tester
35. communication patterns (3/6) 14
Requirements clarification and Communication of changes
most predominant reasons for communication
How Interaction between Roles Shapes the Communication Structure in Requirements-Driven Collaboration | S. Marczak and D. Damian | RE ’11 | Trento, Italy
36. communication patterns (3/6) 14
Requirements clarification and Communication of changes
most predominant reasons for communication
Interactions
• were initiated by testers seeking for clarifications
How Interaction between Roles Shapes the Communication Structure in Requirements-Driven Collaboration | S. Marczak and D. Damian | RE ’11 | Trento, Italy
37. communication patterns (4/6) 15
Core subgroups are formed by members originally assigned
to work on the requirements
Requirements Analyst 3
Requirements Analyst 1
Tester 1
Requirements Analyst 2
Test Leader
Developer Tester 2
Dev Leader
How Interaction between Roles Shapes the Communication Structure in Requirements-Driven Collaboration | S. Marczak and D. Damian | RE ’11 | Trento, Italy
38. communication patterns (4/6) 15
Core subgroups are formed by members originally assigned
to work on the requirements
Requirements Analyst 3
Requirements Analyst 1
Tester 1
Requirements Analyst 2
Test Leader
Developer Tester 2
Dev Leader
(cores-periphery indexes 0.67-1)
How Interaction between Roles Shapes the Communication Structure in Requirements-Driven Collaboration | S. Marczak and D. Damian | RE ’11 | Trento, Italy
39. communication patterns (4/6) 15
Core subgroups are formed by members originally assigned
to work on the requirements
cores formed primarily by Requirements Analyst 1
Requirements Analyst 3
Tester 1
requirements Requirements Analyst 2
analysts and testers
Test Leader
Developer Tester 2
Dev Leader
(cores-periphery indexes 0.67-1)
How Interaction between Roles Shapes the Communication Structure in Requirements-Driven Collaboration | S. Marczak and D. Damian | RE ’11 | Trento, Italy
40. communication patterns (5/6) 16
The absence of some members most likely to disrupt
collaboration around these requirements
How Interaction between Roles Shapes the Communication Structure in Requirements-Driven Collaboration | S. Marczak and D. Damian | RE ’11 | Trento, Italy
41. communication patterns (5/6) 16
The absence of some members most likely to disrupt
collaboration around these requirements
Essential members Developer 1 Developer 2
Dev Leader 1
mostly developers and testers, Requirements Analyst 1
but also reqts analysts
Developer 3
originally assigned to work on
these requirements Dev Leader 2
Tester 2
Requirements Analyst 3
ability to point out who was Tester 1
working on related tasks
How Interaction between Roles Shapes the Communication Structure in Requirements-Driven Collaboration | S. Marczak and D. Damian | RE ’11 | Trento, Italy
42. communication patterns (6/6) 17
New hires were isolated from the rest in the requirements-
driven collaboration
How Interaction between Roles Shapes the Communication Structure in Requirements-Driven Collaboration | S. Marczak and D. Damian | RE ’11 | Trento, Italy
43. communication patterns (6/6) 17
New hires were isolated from the rest in the requirements-
driven collaboration
mostly developers Test Leader Requirements Analyst 1
Tester 1
newcomers have difficulties Requirements Analyst 2
in knowing how and when
Dev Leader
Developer 1
to ask questions Developer 2
Tester 2
Requirements Analyst 3
How Interaction between Roles Shapes the Communication Structure in Requirements-Driven Collaboration | S. Marczak and D. Damian | RE ’11 | Trento, Italy
44. implications and future work 18
• comm. patterns can be identified and visualized in software
projects
• may provide support for improved awareness and project
management
• need to investigate more complex coordination situations
(larger teams, more dependencies, new development
projects)
• tool developers to integrate support for collaboration and
management of cross-functional teams into existing
requirements engineering tools
How Interaction between Roles Shapes the Communication Structure in Requirements-Driven Collaboration | S. Marczak and D. Damian | RE ’11 | Trento, Italy
45. Thanks for your attention
Sabrina Marczak
sabrina.marczak@pucrs.br
Daniela Damian
danielad@cs.uvic.ca