Open Access Open Access  Restricted Access Subscription or Fee Access

Evaluating the Effectiveness of Extreme Programming Practices: Pair Programming and Refactoring

N. Poonguzhali, K. Usha, E. Kavitha

Abstract


Software development is a mentally complicated task. Different software development methodologies and quality assurance methods are used in order to attain high quality, reliable, and bug free software. eXtreme Programming (XP) is a software development discipline in the family of agile methodologies that contributes towards quality improvement using dozen practices. There are few important practices in the XP are Pair Programming, Refactoring and Test Driven Development. Pair or collaborative programming is a software development technique where two programmers develop software side by side at one computer. One person types in while the other reviews each line of code making it possible to create and continuously review what is being created. Refactoring which can be defined as “a change made to the internal structure of software to make it easier to understand and cheaper to modify without changing its observable behavior”. Although there has been a large amount of research investigations for these concepts, but there has been little work done in quantitative approach. The main objective of the research is to develop a software development model using all these practices. The software development model proposed in such a way that all the three activities accompanies all the phases of software development. This work also shows the evaluation of effectiveness of the proposed software development model.

Keywords


Pair Programming, Refactoring; Software Development; Extreme Programming (Xp),Test Driven Development.

Full Text:

PDF

References


K. Beck, “Embrace Change with Extreme Programming,” Computer, vol. 32, no. 10, pp. 70-77, Oct. 1999.

Beck, K., “Extreme Programming Explained: Embrace Change.” 2000, Reading, Mass: Addison-Wesley.

E. Arisholm et al., “Evaluating Pair Programming with Respect to System Complexity and Programmer Expertise,” IEEE Transactions on Software Engineering., vol. 33, no. 2, 2007, pp. 65–86

Glenford J. Myers, “The Art of Software Testing”, Second Edition

John T. Nosek, The Case for Collaborative Programming, Communications of the ACM. March 1998/Vol. 41, No. 3.

Perry, D., N. Staudenmayer, and L. Votta, Understanding software development: Processes, organisations and technologies. IEEE software, 1994. 11(4): p. 36-45

Pressman,” Software Engineering, A Practitioner‟s Approach”, Sixth Edition.

Williams l. and Kessler R.R. Pair Programming Illuminated: Pearson Education Inc., 2003

Williams, L., et al., Strengthening the Case for Pair Programming. IEEE Software, 2000. 17(4): p. 19-25.

Int‟l Conf. Software Quality, 1995.

Tom Mens, Tom Tourw´ , “A Survey of Software Refactoring”, IEEE Transactions On Software Engineering, Vol. Xx, No. Y, Month 2004

Frank Simon, Frank Steinbruckner, Claus Lewerentz, “Metrics Based Refactoring”, 2001 IEEE

John T. Nosek,” The Case for Collaborative Programming”, Communications of the ACM. March 1998/Vol. 41, No. 3.

[13] Charlie McDowell, Linda Werner, Heather E. Bullock, and Julian Fernald, “Pair Programming Improves Student Retention, Confidence and Program quality”, August 2006/Vol. 49, No. 8 Communications of the ACM.

Canfora G., Cimitile A., and Visaggio C. A. “Working in pairs as a means for design knowledge building: an empirical study”, IEEE International Workshop on Program Comprehension, Bari, Italy, 2004, IEEE.

M. Xenos, D. Stavrinoudis, K. Zikouli, and D. Christodoulakis, “Object-oriented metrics - a survey”, In Proceedings of Federation of European Software Measurement Associations, Madrid, Spain, 2000.

M. H. Halstead, “Elements of software science”, Operating and Programming Systems Series, 7, 1977.

T. J. McCabe and A. H. Watson, “Software complexity. Crosstalk”, Journal of Defense Software Engineering, 7(12):5–9, December 1994

K. D. Welker and P. W. Oman, “Software maintainability metrics models in practice. Crosstalk” – The Journal of Defense Software Engineering, 8(11):19–23, 1995.

S. M. Henry and D. G. Kafura, “The evaluation of software systems‟ structure using quantitative software metrics”, Software - Practice and Experience, 14(6):561–573, 1984.

S.Chidamber and C.Kemerer,“A metric suite for object oriented design”,IEEE Transactions on Software Engineering, 20(6):476-493, June 1994.

Wei Li and Sallie Henry, “Object-Oriented Metrics that Predicts Maintainability”, Journal on system software 1993; 23;111-122

M. Lorenz and J. Kidd, “Object-oriented Software Metrics”, Prentice Hall Object-Oriented Series, 1994

M. Lorenz and J. Kidd, “Object-Oriented Software Metrics”, Prentice Hall Object-Oriented Series. Prentice Hall, 1994.

L. C. Briand, S. Morasca, and V. R. Basili, “Defining and validating measures for object-based high-level design”, IEEE Trans. Softw. Eng., 25(5):722–743, 1999.

D.L. Parnas. “On the criteria to be used in decomposing systems into modules”, Communications of the ACM, 15(12):1053{1058, December 1972).

K. Beck, “Embrace Change with Extreme Programming,” Computer, vol. 32, no. 10, pp. 70-77, Oct. 1999.

Glenford J. Myers, “The Art of Software Testing”, Second Edition


Refbacks

  • There are currently no refbacks.


Creative Commons License
This work is licensed under a Creative Commons Attribution 3.0 License.