collaboration in se and studies in segal - uvic.caaalbu/ceng 412 2009/collaboration in se and... ·...
TRANSCRIPT
-
Collaboration in software engineering and
Empirical Studies at SEGAL
Daniela DamianSoftware Engineering Global interAction Laboratory
University of Victoria, Canada
-
collaboration in software engineering
GOALS
establish the scope and capabilities of a project
drive convergence towards a final architecture and design
manage dependencies among activities, artifacts and organizations
identify, record and resolve errors
record organizational memory
-
collaboration in software engineering
TOOLS
GENERIC COMMUNICATION TOOLS
PHONE, TELECONFERENCES
EMAIL, DISCUSSION LISTS, WEB
INSTANT MESSAGING, VIDEOCONF.
MODEL-ORIENTED TECHNOLOGIES
COLLAB REQUIREMENTS TOOLS
COLLAB UML DIAGRAM CREATION
S/W CONFIGURATION MGMT SYSTES
BUG TRACKING SYSTEMS
-
SEGAL Research
GOAL:
improve socio-technical coordination
FOCUS:
distributed teams
APPROACH:
focus on people and collaboration
leverage invisible relationships between people and artifacts
-
our approach to study collaboration in global teams
use social network approaches to get insights into coordination patterns
what are information flow patterns?
are there “good” communication structures that foster effective collaboration?
-
!"#$"%&'()&*#
+",-(.&'(/#*&0'%("
1#2"-.0
3'%'(&'45%-60
!"# $%&& '()(*+,-(./ 0(%-!"#"$%&3"#7 8-9" :;
-
Jazz social network: how is the team communicating?
-
the Jazz Social Network
-
what are the properties of this Network?
-
Sparse
-
Core-periphery
-
Sparse
-
Core-periphery
-
Jazz social network
Core-periphery index = 0.758
-
a core of developers connect all teams, no team is central
(60/112 members and 75% of communication)
-
communication and coordination success
-
Goals and approach
communication believed to impact coordination outcome
successful coordination == successful integration
In jazz: teams involved in a build have high coordination needs
coordination facilitated by commenting or observing communication on work items
-
What are good Communication Structures?
Can we use communication networks to predict integration results?
Hierarchical Brokers Complete
-
Relate communication involved in a Build to results of Integration
time
SCMRepository
Build
Result 2
ERROR
Build
Result 3
OK
Build
Result 1
OK Network 2 Network 3
-
time
Stream
Build N NetworkBuild N
Failed
t0 t1
c1
c2
c3
c4
w1 w2
Previous
Build
c1c2 c3 c4
c
w
commented on
subscribed tocontributor
change set
associated with
work item delivered change set
directed connection
-
What are good Communication Structures?
Social Network MeasuresDensity for CompletenessDegree Centralityfor ActivityBetweennessfor ControlStructural Holesfor Redundancy
SN Build 1
SN Build 3
SN Build 4
SN Build 2
SN Build 5
SN Build 6
a) b)
c1 c2
c6c7
c3 c4
c5
-
What are good Communication Structures?
Social Network MeasuresDensity for CompletenessDegree Centralityfor ActivityBetweennessfor ControlStructural Holesfor Redundancy
NO Statistically significant Effect
Single communication structures measures have no impact on build results
SN Build 1
SN Build 3
SN Build 4
SN Build 2
SN Build 5
SN Build 6
-
We could predict around 70% of failing build results
?
PREDICT
input
Bayesian Classifier
train with all measures from
past builds
Predicting integration Resultswith a combination of measures
timenow
-
Practical Implications
communication does matter in the quality of integration results
integration outcome can be predicted using social network approaches
-
Failed Build 1Build 2
Bug 123
GUI API
Network
Bug 321
CompilerFile Handling
DataBase GUI TestSpell Check Bug 222
AdamInes
Frank
Cathrin
HelgaEve
Gina
Dillan
Adrian
Filter all tasks that were part of the
Failed Build 1
Connect all filtered people via
task-based communication
Filter the people that contributed
to the Failed Build 1
Filter the people that contributed to
filtered tasks
Connect all filtered people via
task-based communication
Filter all tasks that are part
of the project
Example 1:
Failed Build
Example 2:
Communication Broker
in Distributed Projects
Failed Build 1Build 2
Bug 123
GUI API
Network
Bug 321
CompilerFile Handling
DataBase GUI TestSpell Check Bug 222
AdamInes
Frank
Cathrin
HelgaEve
Gina
Dillan
People of Interest
Failed Build 1Build 2
Bug 123
GUI API
Network
Bug 321
CompilerFile Handling
DataBase GUI TestSpell Check Bug 222
AdamInes
Frank
Cathrin
HelgaEve
Gina
Dillan
Social Network
Failed Build 1Build 2
Bug 123
GUI API
Network
Bug 321
CompilerFile Handling
DataBase GUI TestSpell Check Bug 222
AdamInes
Frank
Cathrin
HelgaEve
Gina
Dillan
Social Network
task
person
person is related to task
task is related to task
communicates withfiltered task
filtered person
Adrian
Failed Build 1Build 2
Bug 123
GUI API
Network
Bug 321
CompilerFile Handling
DataBase GUI TestSpell Check Bug 222
AdamInes
Frank
Cathrin
HelgaEve
Gina
Dillan
Tasks of Interest
Adrian
Failed Build 1Build 2
Bug 123
GUI API
Network
Bug 321
CompilerFile Handling
DataBase GUI TestSpell Check Bug 222
AdamInes
Frank
Cathrin
HelgaEve
Gina
Dillan
People and Tasks of Interest
Adrian
Adrian
Failed Build 1Build 2
Bug 123
GUI API
Network
Bug 321
CompilerFile Handling
DataBase GUI TestSpell Check Bug 222
AdamInes
Frank
Cathrin
HelgaEve
Gina
Dillan
People and Tasks of Interest
Adrian
Adrian
Project-wide people-artifact network.
-
References
Wolf, T., T. Nguyen and D. Damian, “Does distance still matter?”, Journal of Software Process: Improvement and Practice, oct, 2008
Wolf, T., A. Schroeter, D. Damian and Nguyen, T., “Predicting build failures using communication social network measures”, ICSE 2009, August 2008
Wolf, T., A. Schroeter, D. Damian, L. Panjer and T. Nguyen, “Mining task-based social networks to explore collaboration in software teams”, IEEE Software, Special Issue on Mining Software Repositories, jan/feb 2009
Marczak, S., D. Damian, Ulrike Stege, Adrian Schröter. “Patterns of Information Flow in Interdependent Requirements Social Networks and Implications for Requirements-Driven Collaboration”. Proc. of International Conference on Requirements Engineering (RE 08), Barcelona, 2008
-
Thanks to SEGAL graduate students!
segal.uvic.ca
Sabrina Marczak
Irwin KwanLucas Panjer
Thanh Nguyen
Timo Wolf
Rafael Prikladniki
Adrian Schroeter [email protected]