collaboration in se and studies in segal - uvic.caaalbu/ceng 412 2009/collaboration in se and... ·...

27
Collaboration in software engineering and Empirical Studies at SEGAL Daniela Damian Software Engineering Global interAction Laboratory University of Victoria, Canada

Upload: others

Post on 01-Feb-2021

1 views

Category:

Documents


0 download

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]