Abstract
Decades of software engineering research have tried to reduce the interdependency of source code to make parallel development possible. However, code remains helplessly interlinked and software development requires frequent formal and informal communication and coordination among software developers. Communication and coordination cost still dominates the cost of software development. When the development team is separated by oceans, the cost of communication and coordination increases dramatically. To better understand the cost of communication and coordination in software development, this paper proposes to conceptualize software as a knowledge ecosystem that consists of three interlinked elements: code, documents, and developers. This conceptualization enables us to understand and pinpoint the social dependency of developers created by the code dependency. We show that a better understanding of the social dependency would increase the economic use of the collective attention of software developers with a proposed new communication mechanism that frees developers from the overload of communication that does not interest them, and thus reduces the overall cost of communication and coordination in software development.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Allen, T.J.: Managing the flow of technology. MIT Press, Cambridge, MA (1977)
Arguello, J., et al.: Talk to me: Foundations for successful individual-group interactions in online communities. In: Proceedings of conference on human factors in computer systems (chi06)., pp. 959–968. ACM Press, Montréal, Canada (2006)
Brooks, F.P.J.: The mythical man-month: Essays on software engineering, 20th edn. Addison-Wesley, Reading, MA (1995)
Brown, J.S., Duguid, P.: Organizing knowledge. Society for Organizational Learning Journal 1(2), 28–44 (1999)
Coleman, J.C.: Social capital in the creation of human capital. American Journal of Sociology 94, 95–120 (1988)
Cross, R., Borgatti, S.P: The ties that share: Relational characteristics that facilitate information seeking. In: Huysman, M., Wulf, V. (eds.) Social capital and information technology, pp. 137–161. MIT Press, Cambridge, MA (2004)
de Souza, C.R.B., et al.: How a good software practice thwarts collaboration: The multiple roles of apis in software development. In: de Souza, C.R.B., et al. (eds.) Proceedings of the 12th acm sigsoft twelfth international symposium on foundations of software engineering (fse04), pp. 221–220. Newport Beach, CA (2004)
Dorina, C.G.: Distribution dimensions in software development projects: A taxonomy. IEEE Software 23(5), 45 (2006)
Fischer, G., Scharff, E., Ye, Y.: Fostering social creativity by increasing social capital. In: Huysman, M., Wulf, V. (eds.) Social capital, pp. 355–399 (2004)
Goldberg, A.: Collaborative software engineering. Journal of Object Technology 1(1), 1–19 (2002)
Goldhaber, M.H.: The attention economy. First Monday 2(4) (1997)
Herbsleb, J., Grinter, R.E.: Splitting the organization and integrating the code: Conway’s law revisited. In: Proceedings of international conference on software engineering (icse99), pp. 85–95 (1999)
Herbsleb, J., Mockus, A.: An empirical study of speed and communication in globally-distributed software development. IEEE Transactions on Software Engineering 29(3), 1–14 (2003)
Herbsleb, J.D., Grinter, R.E: Architectures, coordination, and distance: Conway’s law and beyond. IEEE Software, 63–70 (September- October 1999)
Hoff, B.v.d., Ridder, J.d., Aukema, E.: Exploring the eagerness to share knowledge: The role of social capital and ict in knowledge sharing. In: Huysman, M., Wulf, V. (eds.) Social capital and information technology, pp. 163–186. MIT Press, Cambridge, MA (2004)
Hollan, J., Hutchins, E., Kirsch, D.: Distributed cognition: Toward a new foundation for human-computer interaction research. In: Carroll, J.M. (ed.) Human-computer interaction in the new millennium, pp. 75–94. ACM Press, New York (2001)
Illich, I.: Deschooling society. Harper and Row, New York (1971)
Kraut, R.E., et al.: Informal communications in organizations: Form, function, and technology. In: Oskamp, I.S., Spacapan, S. (eds.) Human reactions to technology: The claremont symposium on applies social psychology, Sage Publications, Beverly Hills, CA (1990)
Kraut, R.E., Streeter, L.: Coordination in software development. CACM 38(3), 69–81 (1995)
Latour, B.: Reassembling the social: An introduction to actor-network-theory. Oxford University Press, Oxford (2005)
McDonald, D.W., Ackerman, M.S.: Just talk to me: A field study of expertise location. In: McDonald, D.W., Ackerman, M.S. (eds.) Proceedings of conference on computer supported cooperative work (cscw 1998), pp. 315–324. Seattle, WA (1998)
Meyer, B.: The unspoken revolution in software engineering, pp. 121–124. IEEE Computer Society Press, Los Alamitos (2006)
Mockus, A., Herbsleb, J.: Expertise browser: A quantitative approach to identifying expertise. In: Proceedings of 2002 international conference on software engineering, Orlando, FL, pp. 503–512 (2002)
Mumford, E.: Socio-technical system design: Evolving theory and practice. In: Bjerknes, P.G., Ehn, P., Kyng, M. (eds.) Computers and democracy, pp. 59–76. Averbury, Aldershot, UK (1987)
Nahapiet, J., Ghoshal, S.: Social capital, intellectual capital, and the organizational advantage. Academy of Management Review 23, 242–266 (1998)
Nakakoji, K.: Supporting software development as collective creative knowledge work. In: Nakakoji, K. (ed.) Proceedings of ase workshop on supporting knowledge collaboration in software development, Tokyo, 2006 (in press)
Nakakoji, K., Fischer, G.: Intertwining knowledge delivery and elicitation: A process model for human-computer collaboration in design. Knowledge-Based Systems 8(2-3), 94–104 (1995)
Nishinaka, Y., et al.: Please step_in: A socio-technical platform for in situ networking. In: Proceedings of the 12th Asia-Pacific Software Engineering Conference, Taipei, pp. 813–820. IEEE CS Press, Los Alamitos (2005)
O’Reilly, C.A.: Variations in decision makers’ use of information sources: The impact of quality and accessibility of information. Academy of Management Journal 25(4), 756–771 (1982)
Orlikowski, W.J.: Knowing in practice: Enacting a collective capability in distributed organizing. Organization Science 13(3), 249–273 (2002)
Pentland, A.: Socially aware computation and cmmunication. Computer 38(3), 33–40 (2005)
Perlow, L.A.: The time famine: Toward a sociology of work time. Administrative Science Quarterly 44(1), 57–81 (1999)
Reder, S.: The communication economy of the workgroup: Multi-channel genres of communication. In: Proceedings of cscw1988, pp. 354–368. ACM Press, New York (1988)
Sengupta, B., Chandra, S., Sinha, V.: A research agenda for distributed software development. In: Proceedings of 2006 international conference on software engineering, Shanghai, pp. 731–740 (2006)
Szoestek, A.M., Markopoulos, P.: Factors defining face-to-face interruptions in the office environment. In: Proceedings of conference on human factors in computer systems, pp. 1379–1384 (2006)
Tyler, J.R., Tang, J.C.: When can i expect an email response? A study of rhythms in email usage. In: Proceedings of the eighth european conference on computer supported cooperative work (ecscw2003), pp. 239–258. Helsinki (2003)
Wagstrom, P., Herbsleb, J.: Dependency forecasting. CACM 49(10), 55–56 (2006)
Walz, D.B., Elam, J.J., Curtis, B.: Inside a software design team: Knowledge acquisition, sharing, and integration. CACM 36(10), 63–77 (1993)
Weinberg, G.M.: The psychology of computer programming. Van Nostrand Reinhold, New York (1971)
Ye, Y., Fischer, G.: Information delivery in support of learning reusable software components on demand. In: IUI 2002. Proceedings of 2002 International Conference on Intelligent User Interfaces, pp. 159–166. ACM Press, San Francisco (2002)
Ye, Y., Fischer, G.: Supporting reuse by delivering task-relevant and personalized information. In: Proceedings of 2002 international conference on software engineering (icse 2002), pp. 513–523. Orlando, FL (2002)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Ye, Y., Nakakoji, K., Yamamoto, Y. (2007). Reducing the Cost of Communication and Coordination in Distributed Software Development. In: Meyer, B., Joseph, M. (eds) Software Engineering Approaches for Offshore and Outsourced Development. SEAFOOD 2007. Lecture Notes in Computer Science, vol 4716. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-75542-5_13
Download citation
DOI: https://doi.org/10.1007/978-3-540-75542-5_13
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-75541-8
Online ISBN: 978-3-540-75542-5
eBook Packages: Computer ScienceComputer Science (R0)