Software Process Fusion: Uniting Pair Programming and Solo Programming Processes

  • Kim Man Lui
  • Keith C. C. Chan
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3966)


The role of pair programming process in software development is controversial. This controversy arises in part from their being presented as alternatives, yet it would be more helpful to see them as complementary software management tools. This paper describes the application of such a complementary model, software process fusion (SPF), in a real-world software management situation in China. Pair and solo programming are adopted at different stages of the process and according to the background of programmers, as appropriate. Unlike the usual practice of eXtreme Programming, in which all production code must written in pairs, all-the-time pair programming, the proposed model encourages programmers to design code patterns of their own in pairs and then to use these patterns to build sub-modules solo. The report finds that the longer team members work alone, the more code patterns they develop for reuse later in pairs.


Transfer Condition Data Fusion Production Code Pair Programming Donor Process 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Beck, K.: Extreme Programming Explained: Embraced Change, 2nd edn. Addison-Wesley, Boston (2005)Google Scholar
  2. 2.
    Flor, N., Hutchins, E.: Analyzing Distributed Cognition in Software Teams: A Case Study of Team Programming During Perfective Software Maintenance. In: Koenemann-Belliveau, J., Moher, T., Robertson, S. (eds.) Empirical Studies of Programmers: Fourth Workshop, Ablex, Norwood (1991)Google Scholar
  3. 3.
    Nosek, J.T.: The Case for Collaborative Programming. Communications of the ACM, 105–108 (March 1998)Google Scholar
  4. 4.
    Williams, L.: The Collaborative Software Process, Ph.D. Dissertation, University of Utah (2000)Google Scholar
  5. 5.
    Miller, M.M., Padberg, F.: Extreme Programming from an Engineering Economics Viewpoint. In: Proceedings of the Fourth International Workshop on Economics-Driven Software Engineering Research (2002)Google Scholar
  6. 6.
    Lui, K.M., Chan, K.C.C.: When Does a Pair Outperform Two Individuals. In: Proceedings of Extreme Programming and Agile Processes in Software Engineering, Italy, pp. 215–224 (2003)Google Scholar
  7. 7.
    Lui, K.M., Chan, K.C.C.: A Cognitive Model for Solo Programming and Pair Programming. In: Proceedings of the Third IEEE International Conference on Cognitive Informatics, Canada, pp. 94–102 (2004)Google Scholar
  8. 8.
    Lui, K.M., Chan, K.C.C.: Productivity of Pair Programming: Novice-Novice and Expert-Expert. Tentatively Accepted by International Journal of Human Computer Studies (2006)Google Scholar
  9. 9.
    Stephens, M., Rosenberg, D.: Extreme Programming Refactored: The Case Against XP. Apress (2003)Google Scholar
  10. 10.
    Poff, M.A.: Pair Programming to Facilitate the Training of Newly-Hired Programmers, M.Sc. Thesis, Florida Institute of Technology (2003), Available online at:
  11. 11.
    Nawrocki, J., Wojciechowski, A.: Experimental Evaluation of Pair Programming. In: Proceedings of the 12th European Software Control and Metrics Conference, England, pp. 269–276 (2001)Google Scholar
  12. 12.
    Bonwell, C.C., Eison, J.A.: Active Learning: Creating Excitement in the Classroom. ASHE-ERIC Higher Education Report. Washington (1991)Google Scholar
  13. 13.
    Roth, V., Goldstein, E., Marcus, G.: Peer Lead Team Learning A Handbook for Team Leaders. Prentice- Hall, Inc., Upper Saddle River (2001)Google Scholar
  14. 14.
    Jones, M.S., Levin, M.E., Levin, J.R., Beitzel, B.D.: Can Vocabulary-Learning Strategies and Pair-Learning Formats Be Profitably Combined? Journal of Educational Psychology 92(2), 256–262 (2000)CrossRefGoogle Scholar
  15. 15.
    Warnakulasooriya, R., Pritchard, D.: Learning and Problem-Solving Transfer between Physics Problems using Web-based Homework Tutor. In: Proceedings of World Conference on Educational Multimedia, Hypermedia and Telecommunications, Chesapeake, pp. 2976–2983 (2005)Google Scholar
  16. 16.
    Keeler, C.M., Steinhorst, R.K.: Using Small Groups to Promote Active Learning in the Introductory Statistics Course, Journal of Statistical Education, [Online journal] (1995), available at:
  17. 17.
    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, Thessaloniki, Greece (2003)Google Scholar
  18. 18.
    McDowell, C., Werner, L., Bullock, H., Fernald, J.: The Impact of Pair Programming on Student Performance, Perception, and Persistence. In: Proceedings of the 25th International Conference on Software Engineering, pp. 602–607 (2003)Google Scholar
  19. 19.
    Cockburn, A.: Crystal Clear: a human-powered methodology for small teams. Addison-Wesley, Boston (2005)Google Scholar
  20. 20.
    van der Putten, P., Kok, J.N., Gupta, A.: Why the Information Explosion Can Be Bad for Data Mining, and How Data Fusion Provides a Way Out. In: Proceedings of Proceedings of the Second SIAM International Conference on Data Mining (2002)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Kim Man Lui
    • 1
  • Keith C. C. Chan
    • 1
  1. 1.Department of ComputingThe Hong Kong Polytechnic UniversityHunghom, Hong KongChina

Personalised recommendations