Analysing the Usage of Tools in Pair Programming Sessions

  • Ilenia Fronza
  • Alberto Sillitti
  • Giancarlo Succi
  • Jelena Vlasenko
Part of the Lecture Notes in Business Information Processing book series (LNBIP, volume 77)

Abstract

In this study we observe the daily work of nineteen software developers of a large Italian manufacturing company for a period of ten months to determine the effects of pair programming on the use of tools. Fifteen developers are existing team members and four have recently joined the team. They practice Pair Programming spontaneously, that is, when they feel it is needed. We identify the tools the developers use, how they distribute their time among these tools when working alone and when doing Pair Programming. The data have been extracted non-invasively by means of PROM – tool for automated data collection and analysis. The preliminary results indicate that developers working in pairs devote significantly more time to programming activities than developers working alone.

Keywords

Pair Programming Tool Usage Agile Methods 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Arisholm, E., Gallis, H., Dyba, T., Sjoberg, D.I.K.: Evaluating Pair Programming with respect to System Complexity and Programmer Expertise. IEEE Transactions on Software Engineering 33(2), 65–86 (2007)CrossRefGoogle Scholar
  2. 2.
    Baheti, P., Williams, L., Gehringer, E., Stotts, D., Smith, J.M.: Distributed Pair Programming: Empirical Studies and Supporting Environments. Technical Report TR02-009, Department of Computer Science, University of North Carolina at Chapel Hill (2002)Google Scholar
  3. 3.
    Basili, V.R., Caldiera, G., Rombach, H.D.: The Goal Question Metric Approach. In: Encyclopedia of Software Engineering, pp. 528–532. John Wiley & Sons, Inc., Chichester (1994)Google Scholar
  4. 4.
    Begel, A., Nagappan, N.: Usage and Perceptions of Agile Software Development in an Industrial Context: An Exploratory Study. In: Proceedings of the First International Symposium on Empirical Software Engineering and Measurement, pp. 255–264 (2007)Google Scholar
  5. 5.
    Begel, A., Nagappan, N.: Pair programming: what’s in it for me? In: Proceedings of the Second ACM-IEEE International Symposium on Empirical Software Engineering and Measurement, pp. 120–128 (2008)Google Scholar
  6. 6.
    Braught, G., Eby, L.M., Wahls, T.: The effects of pair-programming on individual programming skill. Proceedings of the 39th Special Interest Group on Computer Science Education 40(1), 200–204 (2008)Google Scholar
  7. 7.
    Campos, P., Nunes, N.J.: Practitioner Tools and Workstyles for User-Interface Design. IEEE Software 24(1), 73–80 (2007)CrossRefGoogle Scholar
  8. 8.
    Canfora, G., Cimitile, A., Garcia, F., Piattini, M., Visaggio, C.A.: Evaluating performances of pair designing in industry. Journal of Systems and Software 80(8), 1317–1327 (2007)CrossRefGoogle Scholar
  9. 9.
    Cockburn, A., Williams, L.: The costs and benefits of pair programming. In: Extreme Programming Examined, pp. 223–243. Addison-Wesley Longman Publishing Co., Amsterdam (2001)Google Scholar
  10. 10.
    Coman, I.D., Sillitti, A., Succi, G.: Investigating the Usefulness of Pair-Programming in a Mature Agile Team. In: Proceedings of the 9th International Conference on Agile Porcesses and eXtreme Programming in Software Engineering, pp. 127–136 (2008)Google Scholar
  11. 11.
    Coman, I.D., Sillitti, A., Succi, G.: A case-study on using an Automated In-process Software Engineering Measurement and Analysis system in an industrial environment. In: Proceedings of the 31st International Conference on Software Engineering, pp. 89–99 (2009)Google Scholar
  12. 12.
    Coman, I.D., Succi, G.: An Exploratory Study of Developers’ Toolbox in an Agile Team. In: Abrahamsson, P., Marchesi, M., Maurer, F. (eds.) Agile Processes in Software Engineering and Extreme Programming. Lecture Notes in Business Information Processing, vol. 31, pp. 43–52. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  13. 13.
    Chong, J., Hurlbutt, T.: The Social Dynamics of Pair Programming. In: Proceedings of the 29th International Conference on Software Engineering, pp. 354–363 (2007)Google Scholar
  14. 14.
    Fronza, I., Sillitti, A., Succi, G.: Modeling Spontaneous Pair Programming when New Developers Join a Team. In: Proceedings of the 10th International Symposium on Empirical Software Engineering, pp. 242–244 (2009)Google Scholar
  15. 15.
    Gallis, H., Arisholm, E., Dybå, T.: An Initial Framework for Research on Pair Programming. In: Proceedings of the 4th International Symposium on Empirical Software Engineering, p. 132 (2003)Google Scholar
  16. 16.
    Heiberg, S., Puus, U., Salumaa, P., Seeba, A.: Pair-Programming Effect on Developers Productivity. In: Marchesi, M., Succi, G. (eds.) XP 2003. LNCS, vol. 2675, p. 1016. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  17. 17.
    Hulkko, H., Abrahamsson, P.: A multiple case study on the impact of pair programming on product quality. In: Proceedings of the 27th International Conference on Software Engineering, pp. 495–504 (2005)Google Scholar
  18. 18.
    LaToza, T.D., Venolia, G., DeLine, R.: Maintaining mental models: a study of developer work habits. In: Proceedings of the 28th International Conference on Software Engineering, pp. 492–501 (2006)Google Scholar
  19. 19.
    Lethbridge, T.C., Singer, J.: Understanding Software Maintenance Tools: Some Empirical Research. In: Workshop on Empirical Studies of Software Maintenance, pp. 157–162 (1997)Google Scholar
  20. 20.
    Lui, K.M., Chan, K.C.C.: When does a Pair Outperform Two Individuals? In: Marchesi, M., Succi, G. (eds.) XP 2003. LNCS, vol. 2675, pp. 225–233. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  21. 21.
    Lui, K.M., Chan, K.C.C.: Pair programming productivity: Novice-novice vs. expert-expert. International Journal on Human-Computer Studies 64(9), 915–925 (2006)CrossRefGoogle Scholar
  22. 22.
    Maccari, A., Riva, C., Maccari, F.: On CASE tool usage at Nokia. In: Proceedings of the 17th IEEE International Conference on Automated Software Engineering, pp. 59–68 (2002)Google Scholar
  23. 23.
    McDowell, C., Werner, L., Bullock, H., Fernald, J.: The effects of pair-programming on performance in an introductory programming course. In: Proceedings of the 33rd SIGCSE Technical Symposium on Computer Science Education, pp. 38–42 (2002)Google Scholar
  24. 24.
    McDowell, C., Hanks, B., Werner, L.: Experimenting with pair programming in the classroom. In: Proceedings of the 8th Annual Conference on Innovation and Technology in Computer Science Education, pp. 60–64 (2003)Google Scholar
  25. 25.
    Nawrocki, J., Jasiñski, M., Olek, L., Lange, B.: Pair programming vs. Side-by-side programming. In: Richardson, I., Abrahamsson, P., Messnarz, R. (eds.) EuroSPI 2005. LNCS, vol. 3792, pp. 28–38. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  26. 26.
    Nawrocki, J., Wojciechowski, A.: Experimental evaluation of pair programming. In: Proceedings of the 12th European Software Control and Metrics Conference, pp. 269–276 (2001)Google Scholar
  27. 27.
    Sillitti, A., Janes, A., Succi, G., Vernazza, T.: Collecting, Integrating and Analyzing Software Metrics and Personal Software Process Data. In: Proceedings of the 29th Conference on EUROMICRO, pp. 336–342 (2003)Google Scholar
  28. 28.
    Singer, J., Lethbridge, T., Vinson, N., Anquetil, N.: An examination of software engineering work practices. In: Proceedings of the 1997 Conference of the Centre For Advanced Studies on Collaborative Research, p. 21 (1997)Google Scholar
  29. 29.
    Succi, G., Pedrycz, W., Marchesi, M., Williams, L.: Preliminary analysis of the effects of pair programming on job satisfaction. In: Marchesi, M., Succi, G. (eds.) XP 2003. LNCS, vol. 2675. Springer, Heidelberg (2003)Google Scholar
  30. 30.
    Vanhanen, J., Korpi, H.: Experiences of Using Pair Programming in an Agile Project. In: Proceedings of the 40th Annual Hawaii International Conference on System Sciences (2007)Google Scholar
  31. 31.
    Williams, L., Kessler, R.R., Cunningham, W., Jeffries, R.: Strengthening the Case for Pair Programming. IEEE Software 17(4), 19–25 (2000)CrossRefGoogle Scholar
  32. 32.
    Williams, L., Kessler, R.R.: The Effects of ‘Pair-Pressure’ and ‘Pair-Learning’ on Software Engineering Education. In: Proceedings of the 13th Conference of Software Engineering Education and Training, p. 59 (2000)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Ilenia Fronza
    • 1
  • Alberto Sillitti
    • 1
  • Giancarlo Succi
    • 1
  • Jelena Vlasenko
    • 1
  1. 1.Free University of Bolzano-BozenBolzanoItaly

Personalised recommendations