Abstract
Software engineering, being a relatively new field, has struggled to find ways of gauging the success/failure of development projects. The ability to determine which developers are most crucial to the success of a project, which areas in the project contain the most risk, etc. has remained elusive, thus far. Metrics such as SLOC (Source Lines of Code) continue to be used to determine the efficacy of individual developers on a project despite many well-documented deficiencies of this approach. In this work, we propose a new way to look at software development using network science. We examine one large open-source software development project—the Python programming language—using networks to explain and understand the dynamics of the software development process. Past works have focused on the open source community as a whole and the relationships between the members within. This work differs in that it looks at a single project and studies the relationships between the developers using the source code they create or work on. We begin our analysis with a description of the basic characteristics of the networks used in this project. We follow with the main contribution of this work which is to examine the importance of the developer within their organization based on their centrality measures in networks such as degree, betweenness, and closeness.
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
Naur, P., Randell, B.: Software engineering: Report of a conference sponsored by the nato science committee. Technical report, North Atlantic Treaty Organization (1968)
Fenton, N.E., Neil, M.: Software metrics: successes, failures and new directions. Journal of Systems and Software 47(2-3), 149–157 (1999)
Sheetz, S.D., Henderson, D., Wallace, L.: Understanding developer and manager perceptions of function points and source lines of code. Journal of Systems and Software 82(9), 1540–1549 (2009)
Eick, S.C., Steffen, J.L., Sumner, E.E.: Seesoft-a tool for visualizing line oriented software statistics. IEEE Transactions on Software Engineering 18(11), 957–968 (1992)
Voinea, L., Telea, A., Wijk, J.: CVSscan: visualization of code evolution. In: SoftVis 2005: Proceedings of the 2005 ACM Symposium on Software Visualization (May 2005)
Gîrba, T., Kuhn, A., Seeberger, M., Ducasse, S.: How developers drive software evolution. In: Eighth International Workshop on Principles of Software Evolution, pp. 113– 122 (2005)
Madey, G., Freeh, V., Howison, J.: The open source software development phenomenon: An analysis based on social network theory. In: Proceedings of AMCIS 2002 (2002)
Watts, D.J., Strogatz, S.H.: Collective dynamics of small world networks. Nature 393, 440–442 (1998)
Barabási, A.-L., Albert, R.: Emergence of scaling in random networks. Science 286(5439), 509–512 (1999)
Crowston, K., Howison, J.: The social structure of free and open source software development. First Monday 10(2) (2005)
Lewis, T.G. (ed.): Network Science: Theory and Applications. Wiley, Chichester (2009)
Pastor-Satorras, R., Vespignani, A.: Immunization of complex networks. Phys. Rev. E 65(3), 036104 (2002)
Barabasi, A.-L., Bonabeau, E.: Scale-free networks. Scientific American, 50–59 (2003)
Opsahl, T., Agneessens, F., Skvoretz, J.: Node centrality in weighted networks: Generalizing degree and shortest paths. Social Networks 32(3), 245–251 (2010)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Roach, C., Menezes, R. (2011). Using Networks to Understand the Dynamics of Software Development. In: da F. Costa, L., Evsukoff, A., Mangioni, G., Menezes, R. (eds) Complex Networks. Communications in Computer and Information Science, vol 116. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-25501-4_12
Download citation
DOI: https://doi.org/10.1007/978-3-642-25501-4_12
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-25500-7
Online ISBN: 978-3-642-25501-4
eBook Packages: Computer ScienceComputer Science (R0)