Innovative Approaches in Pair Programming to Enhance the Quality of Software Development

Innovative Approaches in Pair Programming to Enhance the Quality of Software Development

Naresh E. (Jain University, Bangalore, India) and Vijaya Kumar B.P. (Ramaiah Institute of Technology, Bangalore, India)
DOI: 10.4018/IJICTHD.2018040104

Abstract

The article tries to shed some light on the impact of human psychology on the effective use of pair programming in the modern Software development lifecycle such as SCRUM, Extreme Programming which are in turn used on heterogeneous software projects. This article also tries to identify that if the authors try to pair people keeping their psychology in mind that pair can come up with code with fewer defects, with efficient code, if the paper tries to pair people randomly without any planning or thinking might create a pair which let aside create inefficient code and lead to be unproductive nature, and even it will create a negative impact on the project and the team. This article introduces a few novel approaches in framing the pairs in pair programming's like known and unknown pairs, coder and reviewer pair and coder and tester pair. Applying the described approaches, an industry can improve the quality of the delivered product and improve the efficiency of software engineers.
Article Preview

Background

Pair programming is a practice, where two programmers work on a task. An experiment was carried on pair programming in industry and academics and obtained good results. The authors suggested a new approach by pairing different levels of engineering students by applying both qualitative and quantitative approaches (Laurie Williams, Robert Kessler,2002; Kim Nilsson,2002; Venkata Vinod Kumar Padmanabhuni, Hari Praveen Tadiparthi, Muralidhar Yanamadala, Sagar Madina, 2012; F. Zieris, 2015). Pair programming include the principles like pair pressure, negotiation, brainstorming, pair courage, pair reviews, pair debugging, pair learning and training (Williams, Laurie, 2001).

Pair programming was reported many benefits as compared to individual programming. Most research reports from industry and academia represent positive effects of Pair Programming on programmers’ performance and quality of the software. Williams et al. applied Pair Programming concept to the classroom and studied its impact on students for execution of project modules. The results found that collaborative environment of Pair Programming aids students to achieve desired learning outcomes, more confident and to get better grades in programming assignments (Cockburn, Alistair, Williams, Laurie, 2000; Williams, L., McCrickard, D.S., Layman, L., Hussein, K, 2008; B. Isong, T. Moemi, N. Dladlu, N. Motlhabane, O. Ifeoma and N. Gasela, 2016).

A thorough survey of pair programming shows that psychological factors, attitude, communication and complete education background of the students are compatibility factors which impact on the efficiency and effectiveness of pair programming. Study reports discovered that the member should be paired with a partner having similar or higher skills in order to achieve better performance. There is limited of research work carried with respect to social factors such as soft skills, etc (Norsaremah Salleh,2008; Silvana Faja, 2011; Saiqa Anjum, Hibba Batul and Mehreen Sirshar, 2015; S. Xinogalos, M. Satratzemi, A. Chatzigeorgiou and D. Tsompanoudi, 2017).

Complete Article List

Search this Journal:
Reset
Open Access Articles: Forthcoming
Volume 12: 4 Issues (2020): Forthcoming, Available for Pre-Order
Volume 11: 4 Issues (2019): 1 Released, 3 Forthcoming
Volume 10: 4 Issues (2018)
Volume 9: 4 Issues (2017)
Volume 8: 4 Issues (2016)
Volume 7: 4 Issues (2015)
Volume 6: 4 Issues (2014)
Volume 5: 4 Issues (2013)
Volume 4: 4 Issues (2012)
Volume 3: 4 Issues (2011)
Volume 2: 4 Issues (2010)
Volume 1: 4 Issues (2009)
View Complete Journal Contents Listing