Skip to main content

Using Networks to Understand the Dynamics of Software Development

  • Conference paper
Complex Networks

Part of the book series: Communications in Computer and Information Science ((CCIS,volume 116))

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. Naur, P., Randell, B.: Software engineering: Report of a conference sponsored by the nato science committee. Technical report, North Atlantic Treaty Organization (1968)

    Google Scholar 

  2. Fenton, N.E., Neil, M.: Software metrics: successes, failures and new directions. Journal of Systems and Software 47(2-3), 149–157 (1999)

    Article  Google Scholar 

  3. 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)

    Article  Google Scholar 

  4. 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)

    Article  Google Scholar 

  5. 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)

    Google Scholar 

  6. 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)

    Google Scholar 

  7. 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)

    Google Scholar 

  8. Watts, D.J., Strogatz, S.H.: Collective dynamics of small world networks. Nature 393, 440–442 (1998)

    Article  Google Scholar 

  9. Barabási, A.-L., Albert, R.: Emergence of scaling in random networks. Science 286(5439), 509–512 (1999)

    Article  MathSciNet  MATH  Google Scholar 

  10. Crowston, K., Howison, J.: The social structure of free and open source software development. First Monday 10(2) (2005)

    Google Scholar 

  11. Lewis, T.G. (ed.): Network Science: Theory and Applications. Wiley, Chichester (2009)

    MATH  Google Scholar 

  12. Pastor-Satorras, R., Vespignani, A.: Immunization of complex networks. Phys. Rev. E 65(3), 036104 (2002)

    Article  Google Scholar 

  13. Barabasi, A.-L., Bonabeau, E.: Scale-free networks. Scientific American, 50–59 (2003)

    Google Scholar 

  14. Opsahl, T., Agneessens, F., Skvoretz, J.: Node centrality in weighted networks: Generalizing degree and shortest paths. Social Networks 32(3), 245–251 (2010)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics