An Empirical Study of the Optimum Team Size Requirement in a Collaborative Computer Programming/Learning Environment


Pair programming has been widely acclaimed the best way to go in computer programming. Recently, collaboration involving more subjects has been shown to produce better results in programming environments. However, the optimum group size needed for the collaboration has not been adequately addressed. This paper seeks to inculcate and acquaint the students involved in the study with the spirit of team work in software projects and to empirically determine the effective (optimum) team size that may be desirable in programming/learning real life environments. Two different experiments were organized and conducted. Parameters for determining the optimal team size were formulated. Volunteered participants of different genders were randomly grouped into five parallel teams of different sizes ranging from 1 to 5 in the first experiment. Each team size was replicated six times. The second experiment involved teams of same gender compositions (males or females) in different sizes. The times (efforts) for problem analysis and coding as well as compile-time errors (bugs) were recorded for each team size. The effectiveness was finally analyzed for the teams. The study shows that collaboration is highly beneficial to new learners of computer programming. They easily grasp the programming concepts when the learning is done in the company of others. The study also demonstrates that the optimum team size that may be adopted in a collaborative learning of computer programming is four.

Share and Cite:

Akinola, O. and Ayinla, B. (2014) An Empirical Study of the Optimum Team Size Requirement in a Collaborative Computer Programming/Learning Environment. Journal of Software Engineering and Applications, 7, 1008-1018. doi: 10.4236/jsea.2014.712088.

Conflicts of Interest

The authors declare no conflicts of interest.


[1] de Faria, E.S.J., Adán-Coello, J.M. and Yamanaka, K. (2006) Forming Groups for Collaborative Learning in Introductory Computer Programming Courses Based on Students’ Programming Styles: An Empirical Study. 36th ASEE/IEEE Frontiers in Education Conference, San Diego, 28-31 October 2006, 6-11.
[2] Bryant, S., Romero, P. and du Boulay, B. (2006) The Collaborative Nature of Pair Programming, Extreme Programming and Agile Processes in Software Engineering. Lecture Notes in Computer Science, 4044, 53-64.
[3] Müller, M.M. (2005) Two Controlled Experiments Concerning the Comparison of Pair Programming to Peer Review. Journal of Systems and Software, 78, 166-179.
[4] Swamidurai1, R. and David, A. (2012) Collaborative-Adversarial Pair Programming. International Scholarly Research Network ISRN Software Engineering, 2012, 1-11.
[5] Dillenbourg, P., BAKER, M., Blaye, A. and O’Malley, C. (1996) The Evolution of Research on Collaborative Learning. In: Spada, E. and Reiman, P., Eds., Learning in Humans and Machine: Towards an Interdisciplinary Learning Science, Elsevier, Oxford, 189-211.
[6] World Health Organization (WHO) (2007) Team Building. WHO, Geneva.
[7] LeJeune, N. (2003) Critical Components for Successful Collaborative Learning in CS1. Journal of Computing Sciences in Colleges, 19, 275-285.
[8] Zimmermann, T. and Bird, C. (2012) Collaborative Software Development in Ten Years: Diversity, Tools, and Remix Culture. _Software_Development_in_Ten_Years_Diversity_Tools_and_Remix_Culture
[9] Chaparro, E.A., Yuksel, A., Romero, P. and Bryant, S. (2005) Factors Affecting the Perceived Effectiveness of Pair Programming in Higher Education. 17th Workshop of the Psychology of Programming Interest Group, Sussex University, June 2005, 5-18.
[10] Begel, A. (2008) Pair Programming: What’s in It for Me?
[11] Williams, L. (2008) Pair Programming. North Carolina State University.
[12] Mendes, E., Al-Fakhri, L.B. and Luxton-Reilly, A. (2005) Investigating Pair-Programming in a 2nd-Year Software Development and Design Computer Science Course. Proceedings of ITiCSE’05, Lisbon, 27-29 June 2005, 1-5.
[13] Team Building (2009) Team Performance and Team Size.
[14] The Free Encyclopedia (2011) Programming Team.
[15] Bryman, A. and Cramer, D. (1997) Quantitative Data Analysis with SPSS for Windows. Loughborough University, Loughborough.
[16] Porter, A.A., Votta Jr., L.G. and Basili, V.R. (1995) Comparing Detection Methods for Software Requirements Inspections: A Replicated Experiment. IEEE Transactions on Software Engineering, 21, 563-575.
[17] Beck, L.L., Chizhik, A.W. and McElroy, A.C. (2005) Cooperative Learning Techniques in CS1: Design and Experimental Evaluation. Proceedings of the 36th SIGCSE Technical Symposium on Computer Science Education, St. Louis, 23-27 February 2005, 470-474.
[18] Waite, W.M., Jackson, M.H. and Diwan, A. (2004) The Conversational Classroom. Proceedings of the 34th SIGCSE Technical Symposium on Computer Science Education, Norfolk, 3-7 March 2004, 127-131.
[19] Bower, M. and Richards, D. (2006) Collaborative Learning: Some Possibilities and Limitations for Students and Teachers. Computing Department Macquarie University.
[20] The Institute for the Management of Information Systems (2013) Diploma Syllabus. Version 2, 46.
[21] Katzenbach, J.R. and Smith, D.K. (2005) The Wisdom of Teams: Creating the High Performance Organization.
[22] Robbins, S.P. (2005) Essentials of Organisational Behaviour. 8th Edition, Prentice Hall, Upper Saddle River.

Copyright © 2022 by authors and Scientific Research Publishing Inc.

Creative Commons License

This work and the related PDF file are licensed under a Creative Commons Attribution 4.0 International License.