How does Social Software support Global Software Development?

47
Rosalba Giuffrida PhD defense How does Social Software support Global Software Development? Augus t 2014

description

Presentation used during the dissertation of the PhD thesis: "How Social Software Supports Communicative and Coordinative Practices in Global Software Development"

Transcript of How does Social Software support Global Software Development?

Page 1: How does Social Software support Global Software Development?

Rosa

lba

Giu

ffrid

aPh

D d

efen

se

How does Social Softwaresupport Global Software Development?

August 2014

Page 2: How does Social Software support Global Software Development?

29 August 2014 2

Agenda

1- Explain the main research question

2- Illustrate the main contributions of the thesis

3- Wrap-up, limitations and future directions

How does Social Software Support GSD?

Page 3: How does Social Software support Global Software Development?

29 August 2014 3

Agenda

1- Explain the main research question

2- Illustrate the main contributions of the thesis

3- Wrap-up, limitations and future directions

How does Social Software Support GSD?

How does Social Software support Global Software Development?

Page 4: How does Social Software support Global Software Development?

How does Social Softwaresupport Global Software Development?

Social Software (SoSo)

Group of Internet-based applications

built on the ideological and technological foundations

of Web 2.0that allow the creation and

exchange of User Generated Content

A. Kaplan and M. Haenlein. Users of the world, unite! the challenges and opportunities of social media.

Business Horizons, 53(1):59–68, 2010.

Page 5: How does Social Software support Global Software Development?

How does Social Softwaresupport Global Software Development?

Global Software Development

(GSD)means splitting the development

of the same product or service among globally distributed sites.

Lanubile, 2009

Page 6: How does Social Software support Global Software Development?

29 August 2014 6

Why Global Software Development?

ChallengesGeographical distanceTemporal distanceSocio-cultural distance

Cataldo et al. 2007

How does Social Software Support GSD?

AdvantagesAccess to most talented developersLower development costsProximity to market…

Page 7: How does Social Software support Global Software Development?

29 August 2014 7

Why Global Software Development?

How does Social Software Support GSD?

The fundamental problem of GSD is that

many of the mechanisms that

function to coordinate the work in a

co-located setting are absent or disrupted in a distributed project.

J.D. Herbsleb.

Lack of physical presence

ChallengesGeographical distanceTemporal distanceSocio-cultural distance

Cataldo et el. 2007

Page 8: How does Social Software support Global Software Development?

29 August 2014 8

How does SoSo support GSD?

Methodological Contributions

Theoretical Contributions

Empirical Contributions

How does Social Software Support GSD?

Page 9: How does Social Software support Global Software Development?

29 August 2014 9

Agenda

1- Explain the main research question

2- Illustrate the main contributions of the thesis

3- Wrap-up, limitations and future directions

How does Social Software Support GSD?

Page 10: How does Social Software support Global Software Development?

29 August 2014 10

How does SoSo support GSD?

Agile Dispersed Team H. Sharp, R. Giuffrida, G. Melnik. “Information flow within a dispersed agile team: a distributed cognition perspective” In Agile Processes in Software Engineering and Extreme Programming, 2012

Collaboration with DHI Y. Dittrich and R. Giuffrida. “Exploring the Role of Instant Messaging in a Global Software Development Project,” in Global Software Engineering (ICGSE), 2011

Importance of Observational StudiesR. Giuffrida, Y. Dittrich, H. Sharp. “You Can Not Ask What You Do Not Suspect – an Argument for Observational Studies in GSD” Under review in Empirical Software Engineering Journal

Student projectsGiuffrida, R. and Dittrich, Y. “How Social Software Supports Cooperative Practices in a Globally Distributed Software Project”. Cooperative and Human Aspects of Software Engineering (CHASE) Workshop at ICSE, 2014.

A theoretical frameworkGiuffrida, R. and Dittrich, Y. “A conceptual framework to study the role of communication through social software for coordination in globally-distributed software teams” Under review in Information and Software Technology Journal, 2014.

How does Social Software Support GSD?

Empirical Contributi ons

Empirical Contributi ons

Empirical Contributi ons

Empirical Contributi ons

Theoreti cal Contributi ons

Methodologica l Contr ibuti ons

Systematic Mapping Study R. Giuffrida, Y. Dittrich. “Empirical Studies on the Use of Social Software in Global Software Development - a Systematic Mapping Study” in Information and Software Technology, 2013

Page 11: How does Social Software support Global Software Development?

29 August 2014 11

Industrial case at DHI – Case 1 Empirical Contributi ons

How does Social Software Support GSD?

Y. Dittrich and R. Giuffrida, “Exploring the Role of Instant Messaging in a Global Software Development Project,” in Global Software Engineering (ICGSE), 2011

5 domain experts/software developers in Denmark6 software developers + 1 tester in India1 team member in PortlandCustomers in Ethiopia

Copenhagen (3 months) New Delhi (2 weeks)

Page 12: How does Social Software support Global Software Development?

29 August 2014 12

Ethnographically-inspired studyCopenhagen – 3 months New Delhi – 2 weeks

Data Collection Observations, IM logs, interviews, document analysis, workshop with practitionersData AnalysisInteraction analysis and triangulation

Empirical Contributi ons

How does Social Software Support GSD?

Page 13: How does Social Software support Global Software Development?

29 August 2014 13

Tools used

Y. Dittrich and R. Giuffrida, “Exploring the Role of Instant Messaging in a Global Software Development Project,” in Global Software Engineering (ICGSE), 2011

Empirical Contributi ons

How does Social Software Support GSD?

Page 14: How does Social Software support Global Software Development?

29 August 2014 14

The Role of Instant Messaging

Y. Dittrich and R. Giuffrida, “Exploring the Role of Instant Messaging in a Global Software Development Project,” in Global Software Engineering (ICGSE), 2011

Empirical Contributi ons

How does Social Software Support GSD?

Coordination

Collaboration

Awareness

Socialization

Page 15: How does Social Software support Global Software Development?

29 August 2014 15

An Example – Case 1

Some chats are not related to the work tasks, addressing working conditions, commuting problems or personal topics.

Naveen: Hi GianGian: hi NaveenNaveen: hows monday treating you? Gian: better than usual. Working from home Naveen: oh we r on the same boat Gian: good to hear :)

Y. Dittrich and R. Giuffrida, “Exploring the Role of Instant Messaging in a Global Software Development Project,” in Global Software Engineering (ICGSE), 2011

Empirical Contributi ons

How does Social Software Support GSD?

Page 16: How does Social Software support Global Software Development?

29 August 2014 16

Another Example – Case 1

Many coordination chats start from the Indian side to inform the task/incident changed status, and is assigned to the counterpart.

Naveen: 974 is yours now for verificationGian: thanks Naveen: 1008Gian: all yours Naveen: your now. Gian: 847 is yours

Y. Dittrich and R. Giuffrida, “Exploring the Role of Instant Messaging in a Global Software Development Project,” in Global Software Engineering (ICGSE), 2011

Empirical Contributi ons

How does Social Software Support GSD?

Page 17: How does Social Software support Global Software Development?

29 August 2014 17

Empirical contributions – Case 1

Ecology of channelsIM as a glue articulating other channelsSocialization dimension

Y. Dittrich and R. Giuffrida, “Exploring the Role of Instant Messaging in a Global Software Development Project,” in Global Software Engineering (ICGSE), 2011

Empirical Contributi ons

How does Social Software Support GSD?

Page 18: How does Social Software support Global Software Development?

29 August 2014 18

Dispersed Agile Team – Case 2 Empirical Contributi ons

How does Social Software Support GSD?

H. Sharp, R. Giuffrida, G. Melnik. “Information flow within a dispersed agile team: a distributed cognition perspective” In Agile Processes in Software Engineering and Extreme Programming, 2012

Data collection: observations, log analysis, documentation, interviewsData Analysis: Distributed cognition analysis (DiCoT)Tools used: OneNote (Wiki), Lync (IM), TFS, Skydrive

3 teams, 4 countries: UK, Netherland, Argentina and Canada

Page 19: How does Social Software support Global Software Development?

29 August 2014 19

DiCoT Analysis – Contributions Empirical Contributi ons

How does Social Software Support GSD?

H. Sharp, R. Giuffrida, G. Melnik. “Information flow within a dispersed agile team: a distributed cognition perspective” In Agile Processes in Software Engineering and Extreme Programming, 2012

Page 20: How does Social Software support Global Software Development?

29 August 2014 20

Systematic Mapping Study 2010 - 2013

How does Social Software Support GSD?

R. Giuffrida, Y. Dittrich. “Empirical Studies on the Use of Social Software in Global Software Development - a Systematic Mapping Study” in Information and Software Technology, 2013

Page 21: How does Social Software support Global Software Development?

29 August 2014 21How does Social Software Support GSD?

Systematic Mapping Study 2010 - 2013

R. Giuffrida, Y. Dittrich. “Empirical Studies on the Use of Social Software in Global Software Development - a Systematic Mapping Study” in Information and Software Technology, 2013

Page 22: How does Social Software support Global Software Development?

29 August 2014 22

SMS – usage of IM

R. Giuffrida, Y. Dittrich. “Empirical Studies on the Use of Social Software in Global Software Development - a Systematic Mapping Study” in Information and Software Technology, 2013

Empirical Contributi ons

How does Social Software Support GSD?

Instant Messaging is used in GSD: - to get quick answers and immediate

feedback- to communicate with numerous people - as a secondary channel in meetings - to maintain awareness of the entire

team

Page 23: How does Social Software support Global Software Development?

29 August 2014 23

SMS – Research Directions

R. Giuffrida, Y. Dittrich. “Empirical Studies on the Use of Social Software in Global Software Development - a Systematic Mapping Study” in Information and Software Technology, 2013

Empirical Contributi ons

How does Social Software Support GSD?

In the SMS most of the papers:1. Investigate the usage of one SoSo at a time

– Ecology of communication channels.

2. Very few observational studies.– Observations of practices of practitioners would

provide a better understanding

3. Socialization usage is seldom reported.– In our cases, socialization is not the main purpose of

chats but it appears as a sub-text

4. Appropriation and development of usage structures– SoSo is unstructured, thus there is a need to find

rules and agreements on how to use SoSo

Page 24: How does Social Software support Global Software Development?

29 August 2014 24

SMS – Research Directions Empirical Contributi ons

How does Social Software Support GSD?

In the SMS most of the papers:1. Investigate the usage of one SoSo at a time

– Ecology of communication channels.

2. Very few observational studies.– Observations of practices of practitioners would

provide a better understanding

3. Socialization usage is seldom reported.– In our cases, socialization is not the main purpose of

chats but it appears as a sub-text

4. Appropriation and development of usage structures– SoSo is unstructured, thus there is a need to find

rules and agreements on how to use SoSo

How can we conceptualize practices in GSD?

Page 25: How does Social Software support Global Software Development?

29 August 2014 25

Practice-based approach

How does Social Software Support GSD?

The term ‘practice’ is […] used to frame contingent activities as

committed to criteria for correct conduct in the form for norms,

rules, procedures, plans, etc.

The noun ‘practice’ [..] means normatively regulated contingent activity.

Software Engineering is a Cooperative Work

Cooperative work practices are as observable

Theoretical Underpinnings

K. Schmidt The concept of 'practice': What's the point? COOP 2014: Proceedings of the 11th International Conference on the Design of Cooperative Systems, 27-30 May 2014, Nice, France

Y. Dittrich, D. W. Randall, and J. Singer. Software engineering as cooperative work. Computer Supported Cooperative Work (CSCW), 18(5):393–399, 2009.

Page 26: How does Social Software support Global Software Development?

26

Theoretical Underpinnings – Coordination Mechanisms

How does Social Software Support GSD?

Theoretical Underpinnings

“A coordination mechanism [...] stipulates

and mediates the articulation of

cooperative work so as to reduce the

complexity of articulation work [...]”

K. Schmidt and C. Simone. Coordination mechanisms: Towards a conceptual foundation of cscw systems design. Computer Supported Cooperative Work (CSCW), 5(2-3):155–200, 1996.

reduces

Articulation Work

Social Protocols are a set of rules,

conventions, policies shared by people

involved in the cooperative activity.

A Coordination Mechanism consists

of a coordinative (social) protocol imprinted upon a distinct artifact.

29 August 2014

Page 27: How does Social Software support Global Software Development?

27

Theoretical Underpinnings – Articulation Work

How does Social Software Support GSD?

K. Schmidt and C. Simone. Coordination mechanisms: Towards a conceptual foundation of cscw systems design. Computer Supported Cooperative Work (CSCW), 5(2-3):155–200, 1996.

A. Strauss. The articulation of project work: An organizational process. The Sociological Quarterly, 29(2):163–178, 1988.

Theoretical Underpinnings

Metawork: articulation work for the development of a protocol

Situated articulation: articulation of the state of the current task in order to coordinate this task.

Naveen: 974 is yours now for verification Gian: thanks Naveen: 1008Gian: all yours Naveen: your now. Gian: 847 is yours

Articulation Work is a recursive phenomenon: articulating a cooperative effort may itself be conducted as a cooperative effort which, may also need to be articulated.

29 August 2014

Page 28: How does Social Software support Global Software Development?

29 August 2014 28

RQ2- How can we conceptualize the development of communicative and coordinative practices in GSD?

Giuffrida, R. and Dittrich, Y. “A conceptual framework to study the role of communication through social software for coordination in globally-distributed software teams” Submitted to Information and Software Technology Journal, 2014.

Theoretical Contributions

How does Social Software Support GSD?

reduces

Articulation Work

Page 29: How does Social Software support Global Software Development?

A communicative genre is characterized “by a

socially recognized communicative

purpose and a common form”

“social norms are visible in recurrent communicative situation”

29 August 2014 29

Form and Purpose

Social protocol

How does Social Software Support GSD?

Theoretical Underpinnings

Communicative Genre

J. Yates and W. J. Orlikowski. Genres of organizational communication: A structurational approach to studying communication and media. Academy of management review, 17(2):299–326, 1992.

Naveen: Hi GianGian: hi NaveenNaveen: hows monday treating you? Gian: better than usual. Working from home Naveen: oh we r on the same boat Gian: good to hear :)

Naveen: 974 is yours now for verificationGian: thanks Naveen: 1008Gian: all yours Naveen: your now. Gian: 847 is yours

Page 30: How does Social Software support Global Software Development?

29 August 2014 30

RQ2- How can we conceptualize the development of communicative and coordinative practices in GSD?

Giuffrida, R. and Dittrich, Y. “A conceptual framework to study the role of communication through social software for coordination in globally-distributed software teams” Submitted to Information and Software Technology Journal, 2014.

Theoretical Contributions

How does Social Software Support GSD?

reduces

Articulation Work

Form and Purpose

Social protocol

Page 31: How does Social Software support Global Software Development?

29 August 2014 31

An example – Case 3

Giuffrida, R. and Dittrich, Y. “A conceptual framework to study the role of communication through social software for coordination in globally-distributed software teams” Submitted to Information and Software Technology Journal, 2014.

Theoretical Contributions

How does Social Software Support GSD?

Page 32: How does Social Software support Global Software Development?

29 August 2014 32

RQ2- How can we conceptualize the development of communicative and coordinative practices in GSD?

Giuffrida, R. and Dittrich, Y. “A conceptual framework to study the role of communication through social software for coordination in globally-distributed software teams” Submitted to Information and Software Technology Journal, 2014.

Theoretical Contributions

How does Social Software Support GSD?

Page 33: How does Social Software support Global Software Development?

29 August 2014 33

Theoretical contributions

A tool for looking at communicative and coordinative practices in GSD projects.

Integrates the analytical tools of coordination mechanisms and communicative genres.

Allows to explain the role of SoSo within the ecology of channels

Giuffrida, R. and Dittrich, Y. “A conceptual framework to study the role of communication through social software for coordination in globally-distributed software teams” Submitted to Information and Software Technology Journal, 2014.

Theoretical Contributions

How does Social Software Support GSD?

What is the role of SoSo in GSD practices ?

Page 34: How does Social Software support Global Software Development?

29 August 2014 34

Three student projects – Case 3 Empirical Contributi ons

How does Social Software Support GSD?

Page 35: How does Social Software support Global Software Development?

29 August 2014 35

Three student projects – Case 3Copenhagen (4 months) Beijing (10 days)Data Collection: im, forum, wiki logs,interviews, observations and documentsData Analysis: coordination mechanismsand communicative genres

Empirical Contributi ons

How does Social Software Support GSD?

Page 36: How does Social Software support Global Software Development?

29 August 2014 36

Temporal Analysis – Team C

Giuffrida, R. and Dittrich, Y. “How Social Software Supports Cooperative Practices in a Globally Distributed Software Project”. Cooperative and Human Aspects of Software Engineering (CHASE) Workshop at ICSE, 2014.

Usage of Group Instant Messaging Chats

Usage of 1 to 1 Instant Messaging Chats

Usage of Forum and Wiki

CM1 File SharingCM2 Minutes SharingCM 3Issue Managing SystemCM 4 Subversion (SVN) RepositoryCM 5 Standup MeetingCM 6 Agenda

Empirical Contributi ons

How does Social Software Support GSD?

Page 37: How does Social Software support Global Software Development?

29 August 2014 37

Temporal Analysis – Team C

Giuffrida, R. and Dittrich, Y. “How Social Software Supports Cooperative Practices in a Globally Distributed Software Project”. Cooperative and Human Aspects of Software Engineering (CHASE) Workshop at ICSE, 2014.

Usage of Group Instant Messaging Chats

Usage of 1 to 1 Instant Messaging Chats

Usage of Forum and Wiki

CM1 File SharingCM2 Minutes SharingCM 3Issue Managing SystemCM 4 Subversion (SVN) RepositoryCM 5 Standup MeetingCM 6 Agenda

Empirical Contributi ons

How does Social Software Support GSD?

socialization

Page 38: How does Social Software support Global Software Development?

29 August 2014 38

Temporal Analysis – Team C

Giuffrida, R. and Dittrich, Y. “How Social Software Supports Cooperative Practices in a Globally Distributed Software Project”. Cooperative and Human Aspects of Software Engineering (CHASE) Workshop at ICSE, 2014.

Usage of Group Instant Messaging Chats

Usage of 1 to 1 Instant Messaging Chats

Usage of Forum and Wiki

CM1 File SharingCM2 Minutes SharingCM 3Issue Managing SystemCM 4 Subversion (SVN) RepositoryCM 5 Standup MeetingCM 6 Agenda

Empirical Contributi ons

How does Social Software Support GSD?

metawork

Page 39: How does Social Software support Global Software Development?

29 August 2014 39

Temporal Analysis – Team C

Giuffrida, R. and Dittrich, Y. “How Social Software Supports Cooperative Practices in a Globally Distributed Software Project”. Cooperative and Human Aspects of Software Engineering (CHASE) Workshop at ICSE, 2014.

Usage of Group Instant Messaging Chats

Usage of 1 to 1 Instant Messaging Chats

Usage of Forum and Wiki

CM1 File SharingCM2 Minutes SharingCM 3Issue Managing SystemCM 4 Subversion (SVN) RepositoryCM 5 Standup MeetingCM 6 Agenda

Empirical Contributi ons

How does Social Software Support GSD?

Situated articulation

Page 40: How does Social Software support Global Software Development?

29 August 2014 40

Empirical contributions – Case 3

Social Talk Seem to enable Good CooperationMetawork for Establishing Effective Coordination MechanismsThe Role of Wiki, Forum and IM

Giuffrida, R. and Dittrich, Y. “How Social Software Supports Cooperative Practices in a Globally Distributed Software Project”. Cooperative and Human Aspects of Software Engineering (CHASE) Workshop at ICSE, 2014.

Empirical Contributi ons

How does Social Software Support GSD?

Page 41: How does Social Software support Global Software Development?

29 August 2014 41

RQ3- What is the role of SoSo for constituting, establishing and maintaining communicative and coordinative practices in GSD?

SoSo is part of an ecology of channels that has to be explored as a whole;Every team develops its own arrangement of communication channels and

tools (ecology of channels or repertoire);

SoSo allows the co-construction of social protocols guiding the usage of the tools.

Supportive role of SoSo for enacting and maintaining coordination mechanisms

Empirical Contributi ons

Giuffrida, R. and Dittrich, Y. “A conceptual framework to study the role of communication through social software for coordination in globally-distributed software teams” Submitted to Information and Software Technology Journal, 2014.

How does Social Software Support GSD?

Page 42: How does Social Software support Global Software Development?

29 August 2014 42

How does SoSo support GSD?RQ1- How is SoSo used in GSD?

RQ2- How can we conceptualize the development of communicative and coordinative practices in GSD?

RQ3- What is the role of SoSo for constituting, establishing and maintaining communicative and coordinative practices in GSD?

Methodological Reflections

Empirical Contributi ons

Theoreti cal Contributi ons

How does Social Software Support GSD?

Empirical Contributi ons

Methodological Contributi ons

Page 43: How does Social Software support Global Software Development?

29 August 2014 43

Reflecting on Observations in GSD

Few observational studies in GSD researchRecommendations on how to perform observational studies dealing with geographical distance. You Can Not Ask What You Can Not Suspect

Giuffrida, R., and Dittrich, Y. “You can not ask what you do not suspect - an argument for observational studies in global software development research” Submitted to Empirical Software Engineering Journal.

Methodological Contributi ons

How does Social Software Support GSD?

Page 44: How does Social Software support Global Software Development?

29 August 2014 44

Agenda

1- Explain the main research question

2- Illustrate the main contributions of the thesis

3- Wrap-up, limitations and future directions

How does Social Software Support GSD?

Page 45: How does Social Software support Global Software Development?

29 August 2014 45

Why Global Software Development?

ChallengesGeographical distanceTemporal distanceSocio-cultural distance

How does Social Software Support GSD?

The fundamental problem of GSD is that

many of the mechanisms that

function to coordinate the work in a

co-located setting are absent or disrupted in a distributed project.

J.D. Herbsleb.

Lack of physical presence

Page 46: How does Social Software support Global Software Development?

29 August 2014 46

Limitations and Future Work

• Not focus on socio-cultural distance• The theoretical framework is developed in

connection with SoSo in GSD• Description of practice is not providing

suggestions for improvement• Focus on communicative and coordinative

practices

How does Social Software Support GSD?

Page 47: How does Social Software support Global Software Development?

29 August 2014 47

How does SoSo support GSD?

Agile Dispersed Team H. Sharp, R. Giuffrida, G. Melnik. “Information flow within a dispersed agile team: a distributed cognition perspective” In Agile Processes in Software Engineering and Extreme Programming, 2012

Collaboration with DHI Y. Dittrich and R. Giuffrida. “Exploring the Role of Instant Messaging in a Global Software Development Project,” in Global Software Engineering (ICGSE), 2011

Importance of Observational StudiesR. Giuffrida, Y. Dittrich, H. Sharp. “You Can Not Ask What You Do Not Suspect – an Argument for Observational Studies in GSD” Under review in Empirical Software Engineering Journal

Student projectsGiuffrida, R. and Dittrich, Y. “How Social Software Supports Cooperative Practices in a Globally Distributed Software Project”. Cooperative and Human Aspects of Software Engineering (CHASE) Workshop at ICSE, 2014.

A theoretical frameworkGiuffrida, R. and Dittrich, Y. “A conceptual framework to study the role of communication through social software for coordination in globally-distributed software teams” Under review in Information and Software Technology Journal, 2014.

How does Social Software Support GSD?

Empirical Contributi ons

Empirical Contributi ons

Empirical Contributi ons

Empirical Contributi ons

Theoreti cal Contributi ons

Methodologica l Contr ibuti ons

Systematic Mapping Study R. Giuffrida, Y. Dittrich. “Empirical Studies on the Use of Social Software in Global Software Development - a Systematic Mapping Study” in Information and Software Technology, 2013

Thank you!!