Abstract
In our studies of global software engineering (GSE) teams, we found that informal, non-work-related conversations are positively associated with trust. Seeking to use novel analytical techniques to more carefully investigate this phenomenon, we described these non-work-related conversations by adapting the economics literature concept of “cheap talk,” and studied it using Evolutionary Game Theory (EGT). More specifically, we modified the classic Stag-hunt game and analyzed the dynamics in a fixed population setting (an abstraction of a GSE team). Doing so, we were able to demonstrate how cheap talk over the Internet (e-cheap talk) was powerful enough to facilitate the emergence of trust and improve the probability of cooperation where the punishment for uncooperative behavior is comparable to the cost of the cheap talk. To validate the results of our theoretical approach, we conducted two empirical case studies that analyzed the logged IRC development discussions of Apache Lucene (http://lucene.apache. org/) and Chromium OS (http://www.chromium.org/chromium-os) using both quantitative and qualitative methods. The results provide general support to the theoretical propositions. We discuss our findings and the theoretical and practical implications to GSE collaborations and research.
Similar content being viewed by others
Notes
In game theory, a strategy refers to a pre-defined action that a player may use in interacting with other players.
We will use C-C to denote C heap talk- C ooperate in the reminder of this paper.
Cheap talk in Economics usually assumes a zero cost; however, in our usage, we allow cheap talk to associate with non-zero, yet minimal cost.
Nash equilibrium describes a state that no one can achieve a better payoff by working independently.
The fixed population assumption does not exclude the change of a team’s size and its members. The term “fixed” only means the population has no potential to be infinite. In fact, small changes do not influence the analytical results, see Nowak (2006a).
Punishment may take many forms, e.g., reputation loss.
It is reasonable to assume that, in the classic game, the player who plays defect would not be punished, since there is no reason for her to give up a risk-dominated strategy without any hint of her opponent’s action.
Assuming there are at most two co-existing strategies simplifies the calculation. With this technique, we only need to perform a small number of pairwise comparisons between any two strategies. Then, we can build a whole picture of transitions among states.
For an irreducible Markov process, the stationary distribution is the unique eigenvectors with eigenvalue 1 (Karlin 2014).
They are homogeneous states because all players take the same strategy in each of these three state.
This study’s dictionary contains 66 keywords. See Appendix B.1 for the full dictionary.
We quote three representative examples (example 1–3), making some formatting changes.
Two time series are cointegrated if they share a common stochastic drift, hence are mutually predictable, see Pfaff (2008) for more details.
We retrieved the “tree” (the sum of the various source repositories used to build the project) status history on http://chromiumos-status.appspot.com/. Then, we manually matched the usernames in tree status (associated with email address) with #Chromium-OS users and found the majority of #chromium-os active code contributors have email addresses in the form of “XXX@google.com”, which indicates they are Google employees. We also consulted their Linkedin profile to determine their affiliations.
No message in 11/19 and 11/20.
The word “build” is not necessary to be a keyword for detecting work-related message, but “build #” always refers a build failure.
CQ and CL must be capitalized.
This refers any word start with “0x” which indicates a hexadecimal number. Most of them are used to represent a memory address.
IO must be a separated word when considering as a keyword.
References
Al-Ani B, Redmiles D (2009) In strangers we trust? findings of an empirical study of distributed teams. In: 4th IEEE international conference on global software engineering, 2009. ICGSE 2009, pp 121–130. IEEE
Al-Ani B, Wang Y, Marczak S, Trainer E, Redmiles D (2012) Distributed developers and the non-use of web 2.0 technologies: a proclivity model. In: Proceedings of the ICGSE, pp 104–113
Al-Ani B, Bietz MJ, Wang Y, Trainer E, Koehne B, Marczak S, Redmiles DF, Prikladnicki R (2013) Globally distributed system developers: their trust expectations and processes. In: Proceedings of the CSCW, pp 563–574
Banerjee A, Chandrasekhar AG, Duflo E, Jackson MO (2013) The diffusion of microfinance. Science 341(6144):1236, 498
Bos N, Olson J, Gergle D, Olson G, Wright Z (2002) Effects of four computer-mediated communications channels on trust development. In: Proceedings of the CHI, pp 135–140
Bowles S, Gintis H (2011) A cooperative species: human reciprocity and its evolution. Princeton University Press, Princeton
Burt RS, Kilduff M, Tasselli S (2013) Social network analysis: foundations and frontiers on advantage. Annu Rev Psychol 64(1):527–547. doi:10.1146/annurev-psych-113011-143828
Caglayan B, Bener A, Miranskyy A (2013) Emergence of developer teams in the collaboration network. In: Proceedings of the CHASE
Calefato F, Lanubile F, Sanitate N, Santoro G (2011) Augmenting social awareness in a collaborative development environment. In: Proceedings of the 4th international workshop on Social software engineering, ACM, pp 39–42
Calefato F, Lanubile F, Sportelli F (2013) Can social awareness foster trust building in global software teams? In: Proceedings of the SSE, pp 13–16
Camera G, Casari M, Bigoni M (2013) Money and trust among strangers. Proc Natl Acad Sci 110(37):14, 889–14, 893
Cassell J, Bickmore T (2003) Negotiated collusion: modeling social language and its relationship effects in intelligent agents. User Model User-Adap Inter 13(1–2):89–132
Cataldo M, Herbsleb JD, Carley KM (2008) Socio-technical congruence: a framework for assessing the impact of technical and work dependencies on software development productivity. In: Proceeding of the ESEM, pp 2–11
Cederman L (2005) Computational models of social forms: advancing generative process theory. Am J Sociol 110(4):864–893
Chiappori PA, Levitt S, Groseclose T (2002) Testing mixed-strategy equilibria when players are heterogeneous: the case of penalty kicks in soccer. American economic review, pp 1138–1151
Cleveland RB, Cleveland WS, McRae JE, Terpenning I (1990) Stl: a seasonal-trend decomposition procedure based on loess. J Off Stat 6(1):3–73
Cramton CD, Hinds PJ (2007) intercultural interaction in distributed teams: salience of and adaptations to cultural differences. In: Proceedings of the AOM Annual Meeting, pp 1–6
Dabbish L, Stuart C, Tsay J, Herbsleb J (2012) Social coding in github: transparency and collaboration in an open software repository. In: Proceedings of the ACM 2012 conference on computer supported cooperative work, ACM, pp 1277–1286
Damian D, Izquierdo L, Singer J, Kwan I (2007) Awareness in the wild: why communication breakdowns occur. In: 2nd IEEE international conference on global software engineering, 2007. ICGSE 2007. IEEE, pp 81–90
Dittrich Y, Giuffrida R (2011) Exploring the role of instant messaging in a global software development project. In: Proceedings of the ICGSE, pp 103–112
Ducheneaut N (2005) Socialization in an open source software community: a socio-technical analysis. Comput Supported Coop Work (CSCW) 14(4):323–368
Easley D, Kleinberg J (2010) Networks, crowds, and markets: reasoning about a highly connected world. Cambridge University Press, Cambridge
Easterbrook S, Singer J, Storey MA, Damian D (2008) Selecting empirical methods for software engineering research. In: Guide to advanced empirical software engineering. Springer, Berlin, pp 285– 311
Erev I, Roth AE (1998) Predicting how people play games: reinforcement learning in experimental games with unique, mixed strategy equilibria. American economic review, pp 848–881
Farrell J, Rabin M (1996) Cheap talk. J Econ Perspect 10(3):103–118
Ficici S, Pollack J (2000) Effects of finite populations on evolutionary stable strategies. In: GECCO, pp 927–934
Fudenberg D, Imhof LA (2006) Imitation processes with small mutations. J Econ Theory 131(1):251–262. doi:10.1016/j.jet.2005.04.006
Fudenberg D, Imhof LA (2008) Monotone imitation dynamics in large populations. J Econ Theory 140(1):229–245. doi:10.1016/j.jet.2007.08.002
Gharehyazie M, Posnett D, Vasilescu B, Filkov V (2014) Developer initiation and social interactions in oss: a case study of the apache software foundation. Empirical Software Engineering. doi:10.1007/s10664-014-9332-x, pp 1–36
Gintis H (2000) Game theory evolving: a problem-centered introduction to modeling strategic behavior. Princeton University Pres, Princeton
Granger CW (1988) Some recent development in a concept of causality. J Econ 39(1):199–211
Guzzi A, Bacchelli A, Lanza M, Pinzger M, van Deursen A (2013) Communication in open source software development mailing lists. In: Proceedings of the MSR, pp 277–286
Harper R, Bird C, Zimmermann T, Murphy B (2013) Dwelling in software: aspects of the felt-life of engineers in large software projects. In: ECSCW 2013: Proceedings of the 13th european conference on computer supported cooperative work, 21–25 September 2013. Springer, Paphos, pp 163–180
Herbsleb JD, Grinter RE (1999) Splitting the organization and integrating the code: Conway’s law revisited. In: Proceedings of the ICSE, pp 85–95
Herbsleb J D, Mockus A (2003) An empirical study of speed and communication in globally distributed software development. IEEE Trans Softw Eng 29(6):481–494
Herbsleb JD, Atkins DL, Boyer DG, Handel M, Finholt TA (2002) Introducing instant messaging and chat in the workplace. In: Proceedings of the CHI, pp 171–178
Hong Q, Kim S, Cheung SC, Bird C (2011) Understanding a developer social network and its evolution. In: Proceedings of the 2011 27th IEEE international conference on software maintenance, ICSM ’11. doi:10.1109/ICSM.2011.6080799. IEEE Computer Society, Washington, pp 323–332
Jackson M (2010) Social and economic network. Princeton University Press, Princeton
Jackson M, Rodriguez-Barraquer T, Tan X (2012) Social capital and social quilts: network patterns of favor exchange. Am Econ Rev 102(5):1857–1897
Jarvenpaa SL, Shaw TR, Staples DS (2004) Toward contextualized theories of trust: the role of trust in global virtual teams. Inf Syst Res 15(3):250–267
Jensen C, Riestenberg G (2012) Stag-hunt game. http://goo.gl/ieiLmX. Accessed 12 Dec 2014
Karlin S (2014) A first course in stochastic processes. Academic, New York
Kitchenham B, Al-Khilidar H, Babar MA, Berry M, Cox K, Keung J, Kurniawati F, Staples M, Zhang H, Zhu L (2008) Evaluating guidelines for reporting empirical software engineering studies. Empir Softw Eng 13(1):97–121
Kwan I, Cataldo M, Damian D (2012) Conway’s law revisited: the evidence for a task-based perspective. IEEE Softw 29(1):90–93
Layman L, Williams L, Damian D, Bures H (2006) Essential communication practices for extreme programming in a global software development team. Inf Softw Technol 48(9):781–794
March JG, Simon HA (1993) Organizations, 2nd edn. Wiley, New York
Mislin AA, Campagna RL, Bottom WP (2011) After the deal: talk, trust building and the implementation of negotiated agreements. Organ Behav Hum Decis Process 115(1):55–68
Montuschi E (2003) The objects of social science. Continuum International Publishing Group
Nowak M (2013) Evolution, games, and god. Harvard University Press, Cambridge
Nowak MA (2006a) Evolutionary dynamic: exploring the equations of life. The Belknap Press of Harvard University
Nowak MA (2006b) Five rules for the evolution of cooperation. Science 314 (5805):1560–1563
Nowak MA, Sasaki A, Taylor C, Fudenberg D (2004) Emergence of cooperation and evolutionary stability in finite populations. Nature 428(6983):646–650. doi:10.1038/nature02414
Nowak MA, Tarnita CE, Wilson EO (2010) The evolution of eusociality. Nature 466:1057–1062
Olson GM, Olson JS (2000) Distance matters. Hum Comput Interact 15(2):139–178
Pendharkar PC, Rodger JA (2009) The relationship between software development team size and software development cost. Commun ACM 52(1):141–144. doi:10.1145/1435417.1435449
Pereira LM, Santos FC et al (2012) The emergence of commitments and cooperation. In: Proceedings of the 11th international conference on autonomous agents and multiagent systems-volume 1. International foundation for autonomous agents and multiagent systems, pp 559–566
Pfaff B (2008) Analysis of integrated and cointegrated time series with R. Springer, Berlin
Prikladnicki R, Boden A, Avram G, de Souza CR, Wulf V (2014) Data collection in global software engineering research: learning from past experience. Empir Softw Eng 19(4):822–856
Puranam P, Alexy O, Reitzig M (2014) What’s new about new forms of organizing? Acad Manag Rev 39(2):162–180
Rabin M (1993) Incorporating fairness into game theory and economics. The American economic review, pp 1281–1302
Ren Y, Kraut RE (2014) Agent-based modeling to inform online community design: impact of topical breadth, message volume, and discussion moderation on member commitment and contribution. Hum Comput Interact 29(4):351–389. doi:10.1080/07370024.2013.828565
Runeson P, Höst M (2009) Guidelines for conducting and reporting case study research in software engineering. Empir Softw Eng 14(2):131–164
Santos FC, Pacheco JM, Skyrms B (2011) Co-evolution of pre-play signaling and cooperation. J Theor Biol 274(1):30–35. doi:10.1016/j.jtbi.2011.01.004
Schniter E, Sheremeta RM, Sznycer D (2013) Building and rebuilding trust with promises and apologies. J Econ Behav Organ 94:242–256. doi:10.1016/j.jebo.2012.09.011
Schumann J, Shih PC, Redmiles DF, Horton G (2012) Supporting initial trust in distributed idea generation and idea evaluation. In: Proceedings of the GROUP, pp 199–208
Simon HA (1991) Bounded rationality and organizational learning. Organ Sci 2(1):125–134
Skyrms B (2001) The stag hunt. In: Presendential address of the pacific division of the APA, Proceedings and Addresses of the APA, vol 75, pp 31–41
Skyrms B (2008) Trust, risk, and the social contract. Synthese 160(1):21–25
Skyrms B (2010) Signals: evolution, learning, and information. Oxford University Press, London
Skyrms B (2014) Social dynamics. Oxford University Press, London
Steed A, Spante M, Heldal I, Axelsson AS, Schroeder R (2003) Strangers and friends in caves: an exploratory study of collaboration in networked ipt systems for extended periods of time. In: Proceedings of the I3D, pp 51–54
Storey MA, Singer L, Cleary B, Figueira Filho F, Zagalsky A (2014) The (r) evolution of social media in software engineering. In: Proceedings of the on future of software engineering, ACM, pp 100–116
Tamburri DA, Lago P, Vliet Hv (2013) Organizational social structures for software engineering. ACM Comput Surv 46(1):3:1–35
Traulsen A, Nowak MA, Pacheco JM (2006) Stochastic dynamics of invasion and fixation. Phys Rev E 74:011,909. doi:10.1103/PhysRevE.74.011909
Wagstrom P (2009) Vertical interaction in open software engineering communities. PhD thesis, Carnegie Mellon University
Wagstrom P, Herbsleb JD, Carley KM (2010) Communication, team performance, and the individual: Bringing technical dependencies. In: Academy of management proceedings, academy of management, pp 1–7
Wang Y, Redmiles D (2013) Understanding cheap talk and the emergence of trust in global software engineering: an evolutionary game theory perspective. In: Proceedings of the CHASE, pp 149–152
Wang Y, Zhang M (2010) Penalty policies in professional software development practice: a multi-method field study. In: Proceedings of the 32nd ACM/IEEE international conference on software engineering-volume 2, ACM, pp 39–47
Winikoff M (2007) Implementing commitment-based interactions. In: Proceedings of the AAMAS, pp 128:1–8
Young HP (1998) Individual strategy and social structure: an evolutionary theory of institutions. Princeton University Press, Princeton
Zheng J, Veinott E, Bos N, Olson JS, Olson GM (2002) Trust without touch: jumpstarting long-distance trust with initial social activities. In: Proceedings of the SIGCHI conference on human factors in computing systems, CHI ’02, pp 141–146
Acknowledgments
We would like to thank Prof. Brian Skyrms for helping us refine the model and the analyses. We appreciate Dr. Ban Al-Ani for collaborating on the empirical data in Section 2. We would like to thank the anonymous reviewers for their insightful comments and suggestions.
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by: Audris Mockus
Appendices
Appendix A: Punishment vs. Compensation
In this paper, we simply assume the punishment to the defector equals the compensation to the cheap talker. This assumption has been widely adopted in game theory literature, for it is essentially a redistribution of payoffs between both players (Pereira et al. 2012). The redistribution-based punishment/compensation mechanism is also adopted in professional software engineering practices (Wang and Zhang 2010). In our case, when a cheap talker meets a defector, the total payoff is (T−g)+(S + g−e) = T + S−e. There is no loss during the administration of punishment and compensation. In other words, the punishment/compensation process is free of cost. Given that most punishments are spontaneous and lack any specific administrator, it is a reasonable solution. However, it is not perfect. It is possible that the punishment/compensation process incurs some cost or even creates some extra value in forms of psychological payoff (Rabin 1993) or advance payment of future benefits.
When punishment does not equal compensation, Fig. 11 shows the payoff structure of the game.
We tested whether the main analytical conclusions are still valid when punishment and compensation are not equal. We performed simulations for different combinations of g and f. We assume g and f are in (0,1], and the interval is 0.1. So g and f can be 0.1, 0.2,… 1. They form 100 combinations. For each combination of g and f, we ran 1000 independent rounds of simulation. The other parameters were from the numerical example in Fig. 5, and did not change. The grey-scale in each cell of the following diagram (Fig. 12) indicates the percentage of simulations that achieve full-cooperation in a specific combination of g and f.
Obviously, cooperation will become prevalent if:
-
1.
Both g and f are comparable to the cost e,
-
2.
Either of g or f is large enough.
This indicates that the validity of the analytical results does not wholly rely on the relative quantitative relationship between punishment and compensation.
With the new game, we need to re-specify the conditions for transitions from C-C to C, and D to C-C. First of all, the condition for transitions from C-C to C remains the same as (6), as the payoff structure between C-C and C does not change. For conditions for transitions from D to C-C, we can rewrite (7) as:
Indeed, the original condition in (8) is a special case (g = f) of equation 10. Equation 10 provides more possibilities for a team to develop trust and cooperation. Equation (8) requires punishment g and is comparable to the cost of cheap talk. However, (10) shows that increasing compensation f may achieve the same outcome. These conditions are consistent with the above simulation results.
If a team does not want to implement punishment to defect, it may try to increase compensation. However, increasing compensation sometimes requires extra cost from the third party (who use some external resource to fund the extra compensation). Future research may focus on this issue. Modeling external compensation is beyond the scope of this paper.
Appendix B: The Dictionaries Used in Classification
1.1 B.1 Lucene
No. Total Keywords = 6 6. information retrieval, ranking, index caching, caches, bounded indices, language detecting(detection), token(ize), word break, Kuromoji, schema, encoding scheme, highlighter, distance measure(s), nightly, bug, issue, compatibility, configuration, JIRA, contention, build #,Footnote 17 parse(r), test(s), benchmark, trunk, commit, merge policy, error, exception, regenerate, initialized, branch, intermittent, truncated, subprocess, inter-process, manifest file, real(-)time, load-sharing, load-balancing, proxy, main memory, concurrent, enumerate, logging, Java, boolean, comparator, decouple, synchronization, sequentialization, invalid, memory leak, JFlex, FNFE, parameters, character escaping, concatenation, stacked segments, discrepancy(ies), lexicon, unstored, vector, fuzzy query, collection api, wildcard.
1.2 B.2 Chromium OS
No. Total Keywords = 1 1 8.
1.2.1 B.2.1 Reused Keywords
bug, issue, compatibility, configuration, JIRA, contention, build #, parse(r), test(s), benchmark, trunk, commit, merge policy, error, exception, regenerate, initialized, branch, intermittent, truncated, subprocess, inter-process, manifest file, real(-)time, load-sharing, load-balancing, proxy, main memory, concurrent, enumerate, logging, Java, boolean, comparator, decouple, synchronization, sequentialization, invalid, memory leak, parameters, concatenation, stacked segments, wildcard.
1.2.2 B.2.2 New Keywords
keyboard layout, tree status, gizmo-paladin, boot, firmware, register, kernel, cmdline, native android, GNU/Linux distro, Valgrind test, vanilla linux, autotest, InitSDK, ChromeSDK, parallel, merge conflict(s), chroot, sysroot, syslinux, config param, libdevmapper, librpm, crbug.com, CQ, CL,Footnote 18 git push, patch(es), deprecated, clang, x86-generic, amd64-generic, module-init, setup_board, resynced, driver, partition, mount, hash, SyncChrome, canary(ies), gpu, symbolizing, prefix, 0x…,Footnote 19 buffer, userspace, device_tree, KVM, UI image(s), simplechrome, build_image, test image, dependencies, waterfall, code-review, developer(dev) mode, recovery mode, hard-reset, interpreter, use case(s), modeset, dev(-) server, xserver, flash image, ARM, libxml, rootfs, tryserver, Ubuntu, IO.Footnote 20
Rights and permissions
About this article
Cite this article
Wang, Y., Redmiles, D. Cheap talk, cooperation, and trust in global software engineering. Empir Software Eng 21, 2233–2267 (2016). https://doi.org/10.1007/s10664-015-9407-3
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10664-015-9407-3