skip to main content
research-article

An Empirical Evaluation of Iterative Maintenance Life Cycle Using XP

Authors Info & Claims
Published:03 April 2015Publication History
Skip Abstract Section

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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Li, W., and Henry, S. 1993. Object-oriented metrics that predict maintainability. In Journal of systems and software, 23, 2, 111--122. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Chidamber, S. and Kemerer, C. 1994. A metric suite for object-oriented design. In IEEE Transactions on Software Engineering, 25,5, 476--493. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Assassa, G., Mathkour, H., and Al Dossari, H. 2006. Extreme programming: A case study in software engineering courses.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Estell©s, E., Pardo, J., Sánchez, F., and Falcó, A. 2010. A Modified Agile Methodology for an ERP Academic Project Development.Google ScholarGoogle Scholar
  16. Dubinsky, Y., and Hazzan, O. 2005. A framework for teaching software development methods. Computer Science Education, 15, 4, 275--296.Google ScholarGoogle ScholarCross RefCross Ref
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Williams, L., Kessler, R. R., Cunningham, W., and Jeffries, R. 2000. Strengthening the Case for Pair Programming, IEEE Software. 17, 19--25. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Williams, L. A. 2000. The Collaborative Software Process. PhD Dissertation, University of Utah.Google ScholarGoogle Scholar
  20. Lui, K. M. and Chan, K. C. C. 2003. When Does a Pair Outperform Two Individuals? XP2003, Italy. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Müller, M. M. 2003. Are Reviews an Alternative to Pair Programming?. In 7th International Conference on Empirical Assessment in Software Engineering, UK.Google ScholarGoogle Scholar
  22. Williams, L. 2001. Integrating Pair Programming into a Software Development Process. In 14th Conference on Software Engineering Education and Training, USA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Jensen, R. W. 2003. A Pair Programming Experience, CrossTalk, In the Journal of Defense Software Engineering, 16, 22--24.Google ScholarGoogle Scholar
  26. Williams L. and Kessler, R. 2003. Pair Programming Illuminated: Addison-Wesley. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Beck, K. 2006. Extreme Programming Explained -- Embrace Change. Pearson Education Low price Edition Asia. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Wood, W. A. and Kleb, W. L. 2003. Exploring XP for Scientific Research, IEEE Software, 20, 30--36. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Gallis, H., Arisholm, E. and Dybå, T. 2003. An Initial Framework for Research on Pair Programming, ISESE, Italy. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle Scholar
  31. George, B. and Williams, L. 2004. A structured experiment of test-driven development. Information and Software Technology. 46, 5, 337--342.Google ScholarGoogle ScholarCross RefCross Ref
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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).Google ScholarGoogle Scholar
  36. Erdogmus, H. 2005. On the effectiveness of test-first approach to programming. In IEEE Transactions on Software Engineering. 31, 1, 1--12. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Fowler, M. , Beck, K., Brant, J. , Opdyke, W. , and Roberts, D. 1999. Refactoring: Improving the Design of Existing Code, Addison Wesley. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle Scholar
  41. Demeyer, S. 2002. Maintainability versus performance: What's the effect of introducing polymorphism?. technical report, Lab. on Reeng., Universiteit Antwerpen, Belgium.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle Scholar
  44. Mens, T., Demeyer, S., and Janssens, D. 2002. Formalising behaviour preserving program transformations. In Graph Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. Tahvildari, L., Kontogiannis, K., and Mylopoulos, J. 2003. Quality-driven software re-engineering. In Journal of Systems and Software, 66,3, 225--239. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. Ratzinger, J., Fischer, M., and Gall, H. 2005. Improving evolvability through refactoring. In ACM SIGSOFT Software Engineering Notes, 30, 4, 1--5. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  53. Alshayeb, M. 2009. Empirical investigation of refactoring effect on software quality. Information and software technology, 51, 9, 1319--1326. Google ScholarGoogle ScholarDigital LibraryDigital Library
  54. Rech, J. 2009. Context-sensitive Diagnosis of Quality Defects in Object-Oriented Software Systems, Ph. D. Thesis. Hildesheim: University of Hildesheim, Department IV.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle ScholarCross RefCross Ref
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. An Empirical Evaluation of Iterative Maintenance Life Cycle Using XP

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader