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.
- Poole C. and Huisman, J. W. 2001 Using Extreme Programming in a Maintenance Environment. IEEE Software. 18, 2001, 42--50. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- Li, W., and Henry, S. 1993. Object-oriented metrics that predict maintainability. In Journal of systems and software, 23, 2, 111--122. Google ScholarDigital Library
- 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 ScholarDigital Library
- Chidamber, S. and Kemerer, C. 1994. A metric suite for object-oriented design. In IEEE Transactions on Software Engineering, 25,5, 476--493. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- Assassa, G., Mathkour, H., and Al Dossari, H. 2006. Extreme programming: A case study in software engineering courses.Google Scholar
- 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 ScholarDigital Library
- Estell©s, E., Pardo, J., Sánchez, F., and Falcó, A. 2010. A Modified Agile Methodology for an ERP Academic Project Development.Google Scholar
- Dubinsky, Y., and Hazzan, O. 2005. A framework for teaching software development methods. Computer Science Education, 15, 4, 275--296.Google ScholarCross Ref
- 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 ScholarDigital Library
- Williams, L., Kessler, R. R., Cunningham, W., and Jeffries, R. 2000. Strengthening the Case for Pair Programming, IEEE Software. 17, 19--25. Google ScholarDigital Library
- Williams, L. A. 2000. The Collaborative Software Process. PhD Dissertation, University of Utah.Google Scholar
- Lui, K. M. and Chan, K. C. C. 2003. When Does a Pair Outperform Two Individuals? XP2003, Italy. Google ScholarDigital Library
- Müller, M. M. 2003. Are Reviews an Alternative to Pair Programming?. In 7th International Conference on Empirical Assessment in Software Engineering, UK.Google Scholar
- Williams, L. 2001. Integrating Pair Programming into a Software Development Process. In 14th Conference on Software Engineering Education and Training, USA. Google ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- Jensen, R. W. 2003. A Pair Programming Experience, CrossTalk, In the Journal of Defense Software Engineering, 16, 22--24.Google Scholar
- Williams L. and Kessler, R. 2003. Pair Programming Illuminated: Addison-Wesley. Google ScholarDigital Library
- Beck, K. 2006. Extreme Programming Explained -- Embrace Change. Pearson Education Low price Edition Asia. Google ScholarDigital Library
- Wood, W. A. and Kleb, W. L. 2003. Exploring XP for Scientific Research, IEEE Software, 20, 30--36. Google ScholarDigital Library
- Gallis, H., Arisholm, E. and Dybå, T. 2003. An Initial Framework for Research on Pair Programming, ISESE, Italy. Google ScholarDigital Library
- 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 Scholar
- George, B. and Williams, L. 2004. A structured experiment of test-driven development. Information and Software Technology. 46, 5, 337--342.Google ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- Erdogmus, H. 2005. On the effectiveness of test-first approach to programming. In IEEE Transactions on Software Engineering. 31, 1, 1--12. Google ScholarDigital Library
- Fowler, M. , Beck, K., Brant, J. , Opdyke, W. , and Roberts, D. 1999. Refactoring: Improving the Design of Existing Code, Addison Wesley. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- Demeyer, S. 2002. Maintainability versus performance: What's the effect of introducing polymorphism?. technical report, Lab. on Reeng., Universiteit Antwerpen, Belgium.Google Scholar
- 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 ScholarDigital Library
- 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 Scholar
- Mens, T., Demeyer, S., and Janssens, D. 2002. Formalising behaviour preserving program transformations. In Graph Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Tahvildari, L., Kontogiannis, K., and Mylopoulos, J. 2003. Quality-driven software re-engineering. In Journal of Systems and Software, 66,3, 225--239. Google ScholarDigital Library
- 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 ScholarDigital Library
- Ratzinger, J., Fischer, M., and Gall, H. 2005. Improving evolvability through refactoring. In ACM SIGSOFT Software Engineering Notes, 30, 4, 1--5. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Alshayeb, M. 2009. Empirical investigation of refactoring effect on software quality. Information and software technology, 51, 9, 1319--1326. Google ScholarDigital Library
- Rech, J. 2009. Context-sensitive Diagnosis of Quality Defects in Object-Oriented Software Systems, Ph. D. Thesis. Hildesheim: University of Hildesheim, Department IV.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- 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 ScholarDigital Library
Index Terms
- An Empirical Evaluation of Iterative Maintenance Life Cycle Using XP
Recommendations
Extended iterative maintenance life cycle using eXtreme programming
Software maintenance is the continuous process of enhancing the operational life of software. The existing approaches to software maintenance, derived from the traditional approaches to development, are unable to resolve the problems of unstructured ...
Iterative Maintenance Life Cycle Using eXtreme Programming
ARTCOM '10: Proceedings of the 2010 International Conference on Advances in Recent Technologies in Communication and ComputingSoftware maintenance is a complex and life long process due to unstructured code, team morale, poor visibility of the project, lack of communication techniques and lack of proper test suite. On the other hand extreme programming is an existing process ...
Piloting XP on Four Mission-Critical Projects
Software development teams face a continuous battle to increase productivity while maintaining or improving quality. Often, a project's mandated ship date requires that software development begin with only a portion of the requirements defined. Recently,...
Comments