supporting team coordination of software development across multiple companies
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
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