supporting team coordination of software development across multiple companies

31
Supporting team coordination of software development across organizational boundary Anh Nguyen Duc Doctoral thesis presentation Trondheim, Norway April 10 th 2015

Upload: anh-nguyen

Post on 19-Jul-2015

91 views

Category:

Technology


1 download

TRANSCRIPT

Supporting team coordination of software development across organizational boundary

Anh Nguyen Duc

Doctoral thesis presentation

Trondheim, Norway

April 10th 2015

2

Agenda

Research problem

Goal & Research questions

Overview of studies

Synthesis of findings

Discussion & Conclusion

3

Research context

Open Source Software as a collaborative phenomenon between companies and communities

Global Software Development across geographical, temporal, organizational boundaries

Distributed Software Development = OSS + GSD

OSS

GSD

DSD

4

Insufficient support of DSD coordination

Iteration 2 Iteration 3Iteration 4

changes

XJohn Jack

Peter

John

…..

Jack

Peter

5

Little is known about cross-boundary coordination problems

Technical dependencies

Communication structure

Coordination problems

Coordination problems and mechanisms within an organization might be different from those across organizations

Outsourcing

Offshored insourcing

Vendor-to-vendor

OSS development

6

Little is known about cross-boundary coordination mechanisms

Global boundaries

Coordination problems

Coordination mechanisms

Organizational boundaries

Project outcomes

is part of

impacts impacts

resolves

People

is part of

Technology Process

7

Research goal

Global boundaries

Coordination problems

Coordination mechanisms

Organizational boundaries

Project outcomes

is part of

impacts impacts

resolves

People

is part of

Technology Process

to understand and improve team coordination challenges in organizational boundaries in DSD

8

Research questions

① How is the collaboration of technical tasks characterized at organizational level?

② How do organizational boundaries impact coordination of development activities in distributed software development?

③ How can coordination practices and tools support software development across organizational boundaries?

9

Agenda

Research problem

Goal & Research questions

Overview of studies

Synthesis of findings

Discussion & Conclusion

10

Overview of studies

S1: OSS integration in commercial companies

S2: Collaboration in OSS projects

S3: Impacts of global boundaries in DSD

S4: Organizational boundary and spanners

S5: Forking and coordination in multiple platform systems

RQ1: How is the collaboration of technical

tasks characterized at organizational level?

RQ2: How do organizational boundaries impact coordination of development

activities in distributed software development?

RQ3: How can coordination practices and tools support

software development across organizational boundaries?

2011 2012 2013 2014year

11

Research methodology

S1: OSS integration in commercial companies

S3: Impacts of global boundaries in DSD

S4: Organizational boundary and spanners

S5: Forking and coordination in multiple platform systems

RQ1: How is the collaboration of technical

tasks characterized at organizational level?

RQ2: How do organizational boundaries impact coordination of development

activities in distributed software development?

RQ3: How can coordination practices and tools support

software development across organizational boundaries?

S2: Collaboration in OSS projects

12

Data collection and analysis

Phases Elements S1 S2 S3 S4 S5

Data collection

Issue tracking system X X X

Version control system X

Survey X

Interview X X X

Observation X

Document X X X

Data analysis

Thematic analysis X X X X

Meta analysis X

Statistic analysis X X X

Correlation analysis X X

Regression analysis X X

13

Agenda

Research problem

Goal & Research questions

Overview of studies

Synthesis of findings

Discussion & Conclusion

14

RQ1: How is the collaboration of technical tasks characterized at the organizational level?

o OSS inter-organizational collaboration

o commensalistic relationship between companies and communities

o indirect interactions among companies via OSS infrastructures

o Commercial inter-organizational collaboration

o various types of technical dependencies across boundaries

15

RQ2: How do organizational boundaries impact coordination of development activities in DSD?

o Collaboration policies influence the attitude toward the joint work

“...so we are in the competition with [Team A1]. Maybe [Team A1] want to do it too so we need to discuss and make arguments about why should we do it instead…But we also want to look good compared to [Team A1]. And we know they want to do the same ...” (Manager – Case River – Study S4)

16

RQ2: How do organizational boundaries impact coordination of development activities in DSD?

o Collaboration policies influence the attitude toward the joint work

o Mismatches in engineering processes inhibit some coordination mechanisms

“...we work in such different ways that we don’t share work processes. We communicated in a higher level than what we are doing now ...” (Team leader – Case Ocean – Study S4)

17

RQ2: How do organizational boundaries impact coordination of development activities in DSD?

o Collaboration policies influence the attitude toward the joint work

o Mismatches in engineering processes inhibit some coordination mechanisms

o Limited ability to organizing team structure increases escalation and coordination needs

o Differences in development practices and standards introduce misexpectation of quality and performance of the joint work

18

RQ3: How can coordination practices and tools support coordination of development activities across organizational boundaries?

Emergent vs. formally assigned

Product owner

Scrum master

Program manager

Product owner Hub developer

Team leaderBridge engineer

Mediate technical

dependencies

Transfer status

information

Leverage global

barriers

Facilitate practice

flow

Commercial vs. OSS

projects Comprehending and

transferring tasks Site visit Enforcing practice around

boundary object

Small vs. large project

19

RQ3: How can coordination practices and tools support coordination of development activities across organizational boundaries?

o Duplication dependency

o Issue tracking systems– Trace dependencies of cross-

platform issues

– Notify relevant developers about the changes of the issues

– Facilitate cross-platform reviews

o Version control systems– Temporize coordination needs

Issue tracking system

Version control systemsVersion control systemsVersion control systems

Issue tracking systemIssue tracking systems

Team A Team B Team C

20

Agenda

Research problem

Goal & Research questions

Overview of studies

Synthesis of findings

Discussion & Conclusion

21

Contribution to research

① Updated view about the participation of commercial companies in OSS projects

② Synthesized existing knowledge about the impacts of global boundaries on DSD project outcomes

③ Extension of the socio-technical coordination with organizational dimension

④ Illustration of the use of boundary spanning theory in DSD context

⑤ Description of duplication dependencies and approaches to manage them

22

Recommendations to practice

① Be aware of different impacts of global boundaries on project outcomes

② Consider both business and technical aspects when making cross-boundary coordination strategies

③ Identify, recognize and support emergent boundary spanners

④ Navigate informal communication by enforcing process standards

⑤ Automate the notification of dependent issues across codebases

⑥ Establish a united code merging process across codebases

⑦ Enhance cross-function communication of dependent issues

23

Limitations

o Evaluation of coordination mechanisms

o Exploratory investigation of collaboration and coordination

o General types of coordination problems

o Generalization about coordination mechanisms

24

Future work

o Quantify some aspects of organizational boundaries

o Evaluate the effectiveness of team coordination mechanisms in DSD

o Investigate the phenomenon of co-opetition

o Explore temporal evolution of coordination of duplicated files

25

Acknowledgement

o Dedicated supervisions by Prof. Reidar Conradi, Dr. Daniela S. Cruzes, Dr. Carl-Fredrik Sørensen, Assoc. Prof. Torgeir Dingsøyr

o External supervisions and supports by Prof. Audris Mockus

o Evaluation and suggestions by Ph.D committee Assoc. Prof. Carolyn Seaman, Assoc. Prof. Marco Torchiano, Prof. Guttorm Sindre

o Collaboration and paper co-authorso Dr. Claudia Ayala, Assoc. Prof. Xavier Franch, Prof. Martin Höst, Prof. Muhammad

Alibabar, Randy Hackbarth, John Palframan

o Fruitful discussionso Assoc. Prof. Darja Šmite, Prof. Jim Herbsleb

o IDI PhD Seminar, Forskerfabrikken

o Companies and organizations o Fundator, Capgemini, Fast, FPT, Avaya, Wireshark community, Samba community and

others participated in our OSS adoption survey

26

Q&A

27

BK1-Research methodology

Open coding

Identify concepts

Axial coding

Measure of some concepts

Logistic regression

28

BK2-Theory background

Theory Study Description

Socio-technical congruence by Marcelo Cataldo

S1 Basic for SNA

Dimensions of global dispersions by Espinosa

S3 Form data extraction forms

Inter-discipline theory of coordination by Malone

S3 Explore dependencies and coorination activities

Framework coordination mechanisms by Kotlarsky, Mintzbergs

S3, S4, S5 Classify coordination activities

Boundary spanner in practice by Levina

S4, S5 Differentiate emergedand assigned spanners

29

BK3-Publication list

• MP1. Nguyen Duc, A., Cruzes D. S., Ayala C. P. and Conradi, R. (2011). Impact of Stakeholder Type and Collaboration on Issue

Resolution Time in OSS Projects. Open Source Software Conference (OSS), Salvador, Brazil.

• MP2. Nguyen Duc, A., Cruzes D. S., Conradi, R., Host M., Franch X. and Ayala, C. P. (2012). Collaborative Resolution of

Requirements Mismatches When Adopting Open Source Components. 18th International Working Conference on Requirements

Engineering: Foundation for Software Quality, Essen, Germany.

• MP3. Ayala, C. P, Cruzes D. S., Nguyen Duc, A., Conradi, R., Franch X., Host M. and Muhammad A. B. (2012). OSS Integration

Issues and Community Support: An Integrator Perspective. Open Source Software Conference (OSS), Hammamet, Tunisia.

• MP4. Nguyen Duc, A., Cruzes D.S. and Conradi, R. (2015). The impact of global dispersion on coordination, team performance

and software quality – A systematic literature review. Information and Software Technology, 57, 277-294.

• MP5. Nguyen Duc, A. and Cruzes D. S. (2013). The influence of organizational distance on technical coordination – An

exploratory study. 8th IEEE International Conference on Global Software Engineering (ICGSE), Bari, Italy.

• MP6. Nguyen Duc, A., Cruzes D.S. and Conradi, R. 2014. On the role of boundary spanners as team coordination mechanism in

organizationally distributed projects. 9th IEEE International Conference on Global Software Engineering (ICGSE), Shanghai,

China.

• MP7. Nguyen Duc, A., Mockus, A., Hackbarth R., and Palframan, J. (2014). Forking and coordination in multi-platform

development: a case study. The ACM / IEEE International Symposium on Empirical Software Engineering and Measurement

(ESEM), Torino, Italy.

• MP8. Nguyen Duc, A., Mockus, A., Hackbarth R., and Palframan, J. (2014). A longitudinal case study of coordination in multiple

platform development. Submitted to Journal of Empirical Software Engineering.

• SP1. Nguyen Duc, A., Daniela, S. C., Reidar, C., & Claudia, A. (2011). Empirical validation of human factors in predicting issue

lead time in open source projects. 7th International Conference on Predictive Models in Software Engineering, Banff, Alberta,

Canada.

• SP2. Nguyen Duc A., Cruzes D. S. and Conradi R. (2012). Competition on inter-organizational collaboration from an

organizational-social-technical perspective. 5th International Workshop on Co-operative and Human Aspects of Software

Engineering, Zurich, Switzerland.

• SP3. Nguyen-Duc, A., Daniela, S. C., & Reidar, C. (2012). Dispersion, coordination and performance in global software teams: a

systematic review. 12th ACM-IEEE international symposium on Empirical software engineering and measurement, Lund, Sweden

30

BK4-Threats to validity

Validity threats Category Study Solution

Bias can occur in project/ team selection

Internal validity S1, S2, S4, S5

Select wide range of DSD projectsPreliminarily analyze candidate projects

Bias in data collection Internal validity S1, S4, S5 Thorough plan and review study designs by external experts

Misinterpretation during interviews

Internal validity S1, S4, S5 Send interview questions beforehandInclude more than one interviewersSend post-interview clarifying questions

Identification of commercial company representatives

Internal validity S1 Manually check multiple sources to determine developer’s affiliation

Compounding factor in quantitative model

Internal validity S2, S5 Include context factors into quantitative models

Missing repository data Internal validity S2, S5 Delete invalid data points with considering the significance of analysis bias

Generalization to software development

External validity S1, S2, S3, S4, S5

Determine target population when design studyConsider all context factors when drawing conclusion about generalization

Credibility of findings External validity S5 Iteratively provide and receive feedback from relevant stakeholders

Operationalization of concepts

Construct validity S2, S5 Use literature and initial interviews to provide reasoning for constructing measures

Causal-effect relationship Conclusion validity S2, S5 No attempt to draw a causal relationship

31

BK5-Recommendations

1. Using measures of developer’s past performance to predict issue resolution time

2. Involving external stakeholders in resolving OSS component mismatches

3. Alignment of perception on distributed work across time-zones with actual impact

4. Awareness of the influence of global dispersion at different organizational levels

5. No distribution for quality critical software components

6. Establishment of formal coordination approach

7. Establishment of code integration policy across platforms

8. Balance of technical requirement of coordination and organizational policy of

competition

9. Identification and recognition of in-practice boundary spanner

10. Automated identification of redundant work across platforms

11. Enhancement of communication across functional units

12. Considering organizational-technical issues when creating forks across platforms