A Proposed Best Practices for Agile Approach - XP
DOI:
https://doi.org/10.59992/h0qswj82Keywords:
Agile Methods Software Development, XP Approach, Agile Best Practices, XP Life CycleAbstract
This paper is interested in proposing a set of proposed practices for eXtreme Programming (XP) approach to improve the quality of applying this approach in the domain of the software development process. This paper clarifies the basic concepts of agile methods and presents the fundamentals and features of XP approach. life cycle phases of XP approach include six phases: exploration, planning, iterations to release, production, maintenance, and death. Each XP phase can be achieved through performing a set of activities or steps. The researchers developed a set of improved steps for achieving XP phases. The researchers also propose a quality assurance approach for applying XP approach. The proposed quality assurance approach can be used for assuring the quality of achieving XP phases. Then, the deviation between the actual quality and the acceptable quality level can be identified and analyzed. The weaknesses of the software development practices can be discovered, treated to improve the quality of each phase, and avoided in further phases. The strengths of the proposed practices are utilized to increase the quality of achieving the software projects.
References
[1] A. Qumer and B. Henderson-Sellers, "An Evaluation of the Degree of Agility in Six Agile Methods and its Applicability for Method Engineering", Information and Software Technology Vol. 50 Issue 4, 2008, pages 280–295, 2008.
[2] Alan S. Koch, "Agile Software Development - Evaluating the Methods for Your Organization", Artech House INC., 2005.
[3] Beck, K. and Andres, C., "Extreme Programming Explained: Embrace Change", Addison-Wesley, 2005.
[4] Dean Liffingwell, "Scaling Software Agility – Best Practices for Large Enterprises", The Agile Software Development Series, Pearson Education Inc., 2007.
[5] G. Gordon Schulmeyer, "Handbook of Software Quality Assurance", 4th edition, Artech House Inc., 2008.
[6] Gary Chin, "Agile Project Management: How to Succeed in the Face of Changing Project Requirements", AMACOM, 2004.
[7] Giulio Concas, Marco Di Francesco, Michele Marchesi, Roberta Quaresima, and Sandro Pinna, "An Agile Development Process and Its Assessment Using Quantitative Object-Oriented Metrics", 9th International Conference, XP 2008, Limerick, Ireland, Proceedings, June 2008.
[8] Hamid Mcheick, "Improving and Survey of Extreme Programming Agile Methodology", International Journal of Advanced Computing (IJAC), Vol. 3, Issue 3, July 2011.
[9] Helen Sharp and Hugh Robinson, "Collaboration and co-ordination in mature eXtreme programming teams", International Journal of Human-Computer Studies 66 pages 506–518, 2008.
[10] Hulkko, H. and Abrahamsson, P., "A Multiple Case Study on the Impact of Pair Programming on Product Quality", Proceedings Of ICSE, pp. 495–504, 2005.
[11] Ince, Darrel, "Software Quality Assurance - a Student Introduction", McGraw-hill international (UK) limited, 1995.
[12] Ioannis G. Stamelos and Panagiotis Sfetsos, "Agile Software Development Quality Assurance", Information science reference, Idea Group Inc., 2007.
[13] James A. Highsmith, "Adaptive Software Development: A Collaborative Approach to Managing Complex Systems", Dorset House Publishing, New York, 2000.
[14] Jeffrey A. Livermore, "Factors that Significantly Impact the Implementation of an Agile Software Development Methodology", Journal of Software, Vol. 3, No. 4, APRIL 2008.
[15] Jennifer Stapleton, "DSDM: The Method in Practice", Addison-Wesley, 1997.
[16] John Hunt, "Agile Software Construction", Springer, 2006.
[17] K.Usha, N.Poonguzhali, and E.Kavitha, "A Quantitative Approach for Evaluating the Effectiveness of Refactoring in Software Development Process", International Conference on Methods and Models in Computer Science, Delhi, India, Dec. 2009.
[18] Karlheinz Kautz and Sabine Zumpe, "Just Enough Structure at the Edge of Chaos: Agile Information System Development in Practice", 9th International Conference, XP 2008, Limerick, Ireland, Proceedings, June 2008.
[19] Kent Beck, "Extreme Programming Explained: Embrace Change", Addison Wesley, 1999.
[20] N. Wallace, P. Bailey, and N. Ashworth, "Managing XP with Multiple or Remote Customers", Third International Conference on eXtreme Programming and Agile Processes in Software Engineering (XP2002), 2002.
[21] Noura Abbas, Andrew M. Gravell, and Gary B. Wills, "Historical Roots of Agile Methods: Where Did Agile Thinking Come From?", 9th International Conference, XP 2008, Limerick, Ireland, Proceedings, June 2008.
[22] Pekka Abrahamsson, Outi Salo, Jussi Ronkainen, and Juhani Warsta, "Agile Software Development Methods – Review and Analysis", VTT, 2002.
[23] R. C. Martin, "Extreme Programming - Development Through Dialog", IEEE Software, pp. 12–13, 2000.
[24] S.R. Palmer and J.M. Felsing, "A Practical Guide to Feature-Driven Development", Prentice-Hall Inc, 2002.
[25] Tobias Hildenbrand, Michael Geisser, Thomas Kude, Denis Bruch, and Thomas Acker, "Agile Methodologies for Distributed Collaborative Development of Enterprise Applications", International Conference on Complex, Intelligent and Software Intensive Systems, 2008.
[26] Williams, L., Kessler, R., Cunningham, W., and Jeffries, R, "Strengthening the Case for Pair Programming", IEEE Software 17, 19–25, 2000.
[27] Yang Yong and Bosheng Zhou, "Evaluating Extreme Programming Effect through System Dynamics Modeling", International Conference on Computational Intelligence and Software Engineering (CiSE), Wuhan, China, Dec. 2009.