skip to main content
research-article

An Empirical Evaluation of Iterative Maintenance Life Cycle Using XP

Published: 03 April 2015 Publication History

Abstract

Maintainability of a software product affects its maintenance cost and operational life. Maintainability of legacy systems, which have been developed through non-XP methodologies, has become a challenging issue for its maintenance. The iterative maintenance life cycle using extreme programming is an effective process for software maintenance [2]. This paper describes a controlled experiment that examines maintainability during maintenance of academic projects. The experiment was conducted with postgraduate students in a project course. The maintenance of each application was allocated to a couple of project teams; one team has used XP-based approach and yet another team has employed a traditional waterfall-based approach of maintenance. On measuring internal quality metrics of projects, it is observed that XP-based approach produces more maintainable code than traditional approach. The productivity of XP-based team is observed higher and at the same time, XP-based maintenance team was more confident about the code, and also reported higher confidence in future changes to their product. The iterative maintenance life cycle using XP has improved the maintainability of a software.

References

[1]
Poole C. and Huisman, J. W. 2001 Using Extreme Programming in a Maintenance Environment. IEEE Software. 18, 2001, 42--50.
[2]
Choudhari, J. and Suman, U. 2014. Extended Iterative Maintenance Life Cycle Using eXtreme Programming. ACM SIGSOFT Software Engineering Notes, Vol. 39, No. 1, January 2014, pp.1--12.
[3]
Choudhari, J. and Suman, U. 2013. Code Change Approach for Maintenance using XP practices, The International Journal of Soft Computing and Software Engineering {JSCSE}, Vol. 3, No. 3, 131--136.
[4]
Choudhari, J. and Suman, U. 2010. Iterative Maintenance Life Cycle Using eXtreme Programming. In Proceedings of the International Conference on Advances in Recent Technologies in Communication and Computing ( Kottyam, India, October 15 - 16, 2010). ARTCom-2010. IEEE Computer Society, 401--403.
[5]
Choudhari, J. and Suman, U. 2012. Designing RC Story for Software Maintenance and Evolution. In Journal of Software (JSW), Academy Publisher,7, 5, 1103--1108.
[6]
Basili, V. R., Briand, L. C., and Melo, W. L. 1996. A validation of object-oriented design metrics as quality indicators. In IEEE Transactions on Software Engineering, 22, 10, 751--761.
[7]
Li, W., and Henry, S. 1993. Object-oriented metrics that predict maintainability. In Journal of systems and software, 23, 2, 111--122.
[8]
Gyimothy, T., Ferenc, R., and Siket, I. 2005. Empirical Validation of Object-Oriented Metrics on Open Source Software for Fault Prediction. In IEEE Transactions on Software Engineering, 31, 897--910.
[9]
Chidamber, S. and Kemerer, C. 1994. A metric suite for object-oriented design. In IEEE Transactions on Software Engineering, 25,5, 476--493.
[10]
Dandashi, F. 2002. A Method for Assessing the Reusability of Object-Oriented Code Using a Validated Set of Automated Measurements. In ACM Symposium on Applied Computing, 997--1003.
[11]
Back, R. J., Milovanov, L., Porres, I., and Preoteasa, V. 2002. XP as a framework for practical software engineering experiments. In Proceedings of the Third International Conference on eXtreme Programming and Agile Processes in Software Engineering-XP.
[12]
Keefe, K., and Dick, M. 2004. Using Extreme Programming in a capstone project. In Proceedings of the Sixth Australasian Conference on Computing Education, Australian Computer Society, Inc., 30, 151--160.
[13]
Assassa, G., Mathkour, H., and Al Dossari, H. 2006. Extreme programming: A case study in software engineering courses.
[14]
Rico, D. F., and Sayani, H. H. 2009. Use of agile methods in software engineering education. In Agile Conference, 2009. AGILE'09. IEEE, 174--179.
[15]
Estell©s, E., Pardo, J., Sánchez, F., and Falcó, A. 2010. A Modified Agile Methodology for an ERP Academic Project Development.
[16]
Dubinsky, Y., and Hazzan, O. 2005. A framework for teaching software development methods. Computer Science Education, 15, 4, 275--296.
[17]
Noble, J., Marshall, S., Marshall, S., and Biddle, R. 2004. Less extreme programming. In Proceedings of the Sixth Australasian Conference on Computing Education, Australian Computer Society, Inc., 30, 217--226.
[18]
Williams, L., Kessler, R. R., Cunningham, W., and Jeffries, R. 2000. Strengthening the Case for Pair Programming, IEEE Software. 17, 19--25.
[19]
Williams, L. A. 2000. The Collaborative Software Process. PhD Dissertation, University of Utah.
[20]
Lui, K. M. and Chan, K. C. C. 2003. When Does a Pair Outperform Two Individuals? XP2003, Italy.
[21]
Müller, M. M. 2003. Are Reviews an Alternative to Pair Programming?. In 7th International Conference on Empirical Assessment in Software Engineering, UK.
[22]
Williams, L. 2001. Integrating Pair Programming into a Software Development Process. In 14th Conference on Software Engineering Education and Training, USA.
[23]
Ciolkowski, M. and Schlemmer, M. 2002. Experiences with a Case Study on Pair Programming, In First International Workshop on Empirical Studies in Software Engineering, Finland.
[24]
Williams, L., Shukla, A., and Antón, A. I. 2004. An Initial Exploration of the Relationship Between Pair Programming and Brooks' Law, In Agile Development Conference.
[25]
Jensen, R. W. 2003. A Pair Programming Experience, CrossTalk, In the Journal of Defense Software Engineering, 16, 22--24.
[26]
Williams L. and Kessler, R. 2003. Pair Programming Illuminated: Addison-Wesley.
[27]
Beck, K. 2006. Extreme Programming Explained -- Embrace Change. Pearson Education Low price Edition Asia.
[28]
Wood, W. A. and Kleb, W. L. 2003. Exploring XP for Scientific Research, IEEE Software, 20, 30--36.
[29]
Gallis, H., Arisholm, E. and Dybå, T. 2003. An Initial Framework for Research on Pair Programming, ISESE, Italy.
[30]
Cockburn, A. and Williams, L. 2000. The Costs and Benefits of Pair Programming. In 1st International Conference on Extreme Programming and Flexible Processes in Software Engineering, Italy.
[31]
George, B. and Williams, L. 2004. A structured experiment of test-driven development. Information and Software Technology. 46, 5, 337--342.
[32]
Maximilien, E. M. and Williams, L.2003. Assessing test-driven development at IBM. In Proceedings of the 25th International Conference on Software Engineering (ICSE-03), Piscataway, NJ, IEEE Computer Society, 564--569.
[33]
Williams, L., Maximilien, E. and Vouk, M. 2003. Test-driven development as a defect-reduction practice. In Proceedings of the 14th IEEE International Symposium on Software Reliability Engineering, 34--45.
[34]
Kaufmann, R. and Janzen, D. 2003. Implications of test-driven development: a pilot study. In Companion of the 18th Annual ACM SIGPLAN Conference on Object-oriented Programming, Systems, Languages, and Applications, ACM Press, 298--299.
[35]
Edwards, S. 2003. Using test-driven development in the classroom: providing students with automatic, concrete feedback on performance. In Proceedings of the International Conference on Education and Information Systems: Technologies and Applications (EISTA'03).
[36]
Erdogmus, H. 2005. On the effectiveness of test-first approach to programming. In IEEE Transactions on Software Engineering. 31, 1, 1--12.
[37]
Fowler, M., Beck, K., Brant, J., Opdyke, W., and Roberts, D. 1999. Refactoring: Improving the Design of Existing Code, Addison Wesley.
[38]
Shatnawi, R. 2010. A quantitative Investigation Of The Acceptable Risk Levels of Object-Oriented Metrics in Open-Source Systems. In IEEE Transactions on Software Engineering. 36, 2, 216--225.
[39]
Sahraoui, H.A., Godin, R., and Miceli, T. 2000. Can Metrics Help To Bridge The Gap Between The Improvement of OO Design Quality And its Automation? In International Conference on Software Maintenance, 154--162.
[40]
Stroulia, E., and Kapoor, R.V. 2001. Metrics of Refactoring-Based Development: an Experience Report. In The seventh International Conference on Object-Oriented Information Systems, 113--122.
[41]
Demeyer, S. 2002. Maintainability versus performance: What's the effect of introducing polymorphism?. technical report, Lab. on Reeng., Universiteit Antwerpen, Belgium.
[42]
Kataoka, Y., Imai, T., Andou, H., & Fukaya, T. 2002. A quantitative evaluation of maintainability enhancement by refactoring. In International Conference on Software Maintenance, IEEE, 576--585.
[43]
Du Bois, B., and Mens, T. 2003. Describing the impact of refactoring on internal program quality. In International Workshop on Evolution of Large-scale Industrial Software Applications, 37--48.
[44]
Mens, T., Demeyer, S., and Janssens, D. 2002. Formalising behaviour preserving program transformations. In Graph
[45]
Leitch, R., and Stroulia, E. 2003. Assessing the maintainability benefits of design restructuring using dependency analysis. In Proceedings of Ninth International Software Metrics Symposium, IEEE., 309--322.
[46]
Tahvildari, L. 2003. Quality-Driven Object-Oriented Re-engineering Framework. PhD Thesis. Department of Electrical and Computer Engineering, University of Waterloo, Waterloo, Ontario, Canada.
[47]
Tahvildar, L., and Kontogiannis, K. 2004. Improving design quality using meta?pattern transformations: a metric?based approach. In Journal of Software Maintenance and Evolution: Research and Practice. 16,4,5, 331--361.
[48]
Tahvildari, L., Kontogiannis, K., and Mylopoulos, J. 2003. Quality-driven software re-engineering. In Journal of Systems and Software, 66,3, 225--239.
[49]
Du Bois, B., Demeyer, S., and Verelst, J. 2004. Refactoring-improving coupling and cohesion of existing code. In Proceedings of 11th Working Conference on Reverse Engineering, IEEE, 144--151.
[50]
Ratzinger, J., Fischer, M., and Gall, H. 2005. Improving evolvability through refactoring. In ACM SIGSOFT Software Engineering Notes, 30, 4, 1--5.
[51]
Moser, R., Sillitti, A., Abrahamsson, P., and Succi, G. 2006. Does refactoring improve reusability?. In Reuse of Off-the-Shelf Components, Springer Berlin Heidelberg, 287--297.
[52]
Moser, R., Abrahamsson, P., Pedrycz, W., Sillitti, A., and Succi, G. 2008. A case study on the impact of refactoring on quality and productivity in an agile team. In Balancing Agility and Formalism in Software Engineering, Springer Berlin Heidelberg, 252--266.
[53]
Alshayeb, M. 2009. Empirical investigation of refactoring effect on software quality. Information and software technology, 51, 9, 1319--1326.
[54]
Rech, J. 2009. Context-sensitive Diagnosis of Quality Defects in Object-Oriented Software Systems, Ph. D. Thesis. Hildesheim: University of Hildesheim, Department IV.
[55]
Moser, R., Scotto, M., Sillitti, A., and Succi, G. 2007. Does XP deliver quality and maintainable code?. In Agile Processes in Software Engineering and Extreme Programming, Springer Berlin Heidelberg, 105--114.
[56]
Hulkko, H. and Abrahamsson, P. 2005. A multiple case study on the impact of pair programming on product quality. In Proceedings of the 27th international conference on Software engineering, ACM, 495--504.
[57]
Choudhari, J. and Suman, U. 2012. Story Points Based Effort Estimation Model for Software Maintenance. In Proceedings of the 2nd International Conference on Computer, Communication, Control and Information Technology (Hooghly, India, February 25 - 26, 2012). C3IT- 2012. Procedia Technology, 4, 761--765.
[58]
Choudhari, J. and Suman, U. 2012. Phase wise Effort Estimation for Software Maintenance: An Extended SMEEM Model. In Proceedings of the CUBE International Information Technology Conference (Pune, Maharashtra, India, September 3 - 5, 2012). ACM., 397--402.

Cited By

View all
  • (2024)Software maintenance practices using agile methods towards cloud environmentJournal of Software: Evolution and Process10.1002/smr.269836:11Online publication date: 5-Nov-2024
  • (2022)The Effect of Pair Programming on Code MaintainabilityCollaboration Technologies and Social Computing10.1007/978-3-031-20218-6_3(38-51)Online publication date: 8-Nov-2022
  • (2020)Exploring the intersection between software industry and Software Engineering education - A systematic mapping of Software Engineering TrendsJournal of Systems and Software10.1016/j.jss.2020.110736(110736)Online publication date: Jul-2020
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM SIGSOFT Software Engineering Notes
ACM SIGSOFT Software Engineering Notes  Volume 40, Issue 2
March 2015
125 pages
ISSN:0163-5948
DOI:10.1145/2735399
Issue’s Table of Contents

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 03 April 2015
Published in SIGSOFT Volume 40, Issue 2

Check for updates

Author Tags

  1. Software maintenance
  2. extreme programming
  3. iterative maintenance life cycle
  4. maintainability

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)10
  • Downloads (Last 6 weeks)0
Reflects downloads up to 08 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Software maintenance practices using agile methods towards cloud environmentJournal of Software: Evolution and Process10.1002/smr.269836:11Online publication date: 5-Nov-2024
  • (2022)The Effect of Pair Programming on Code MaintainabilityCollaboration Technologies and Social Computing10.1007/978-3-031-20218-6_3(38-51)Online publication date: 8-Nov-2022
  • (2020)Exploring the intersection between software industry and Software Engineering education - A systematic mapping of Software Engineering TrendsJournal of Systems and Software10.1016/j.jss.2020.110736(110736)Online publication date: Jul-2020
  • (2019)The Emergence of Agile Maintenance: A Preliminary Study2019 International Conference on Electrical Engineering and Informatics (ICEEI)10.1109/ICEEI47359.2019.8988815(146-151)Online publication date: Jul-2019
  • (2018)A Software Engineering Perspective for Development of Enterprise ApplicationsHandbook of Research on Contemporary Perspectives on Web-Based Systems10.4018/978-1-5225-5384-7.ch001(1-23)Online publication date: 2018

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media