Lessons from Applying XP Methodology to Business Requirements Engineering in Developing Countries Context

Most standard software development methodologies are often not applied to software projects in many developing countries of the world. The approach generally practice is close to what eXtreme Programming (XP) is likely promoting, just keep coding and testing as the requirement evolves. XP is an agile software process development methodology that has inherent capability for improving efficiency of Business Software Development (BSD). XP can facilitate Business-to-Development (B2D) relationship due to its customer-oriented advocate. From practitioner point of view, we applied XP to BSD and result shows that customer involvement has positive impact on productivity, but can as well frustrate the success of the project. In an effort to promote software engineering practice in developing countries of Africa, we present the experiment performed, lessons learned, problems encountered and solution adopted in applying XP methodology to BSD.




References:
[1] R.G. Wolak, DISS 725-System Development: Research Paper 2,
Software Requirements Engineering Best Practices, School of Computer
and Information Sciences, Nova Southeastern University, 2001.
http://www.itstudyguide.com/papers/rwDISS725researchpaper2.htm
[2] P. Sawyer, I. Sommerville and S. Viler, "Capturing the Benefit of
Requirements Engineering", IEEE Software 16(2), 1999, pp 78-85.
[3] R. Thayer and M. Dorfman, Software Requirements Engineering, 2nd Ed.
IEEE Computer Society Press, 1999.
[4] C. Potts, "Invented Requirements and Imagined Customers:
Requirements Engineering for Off-the-Shelf Software", 1995,
http://www.doi.ieeecomputer society.org/10.1109/ISRE.1995.5125 53
[5] K. Beck and M. Fowler, Planning Extreme Programming (2000),
Addison Wesley.
[6] K. Beck, "Embracing change with extreme programming", IEEE
Computer, 32, 10 1999, pp. 70-77.
[7] B. Bahli, and E.S.A. Zeid, "The role of knowledge creation in adapting
extreme programming model: an empirical study", Proceeding of ICICTIEEE
conference on information and communications technology 2005,
pp. 75-87.
[8] M. Aoyama, "Web-based agile software development", IEEE Software
1998, 15(6), pp. 56-65.
[9] F. Maurer and S. Martel, "Extreme programming: rapid development for
web-based applications". IEEE Internet Computing 2002, pp. 86-90.
[10] M.C. Paulk, "Extreme Programming from a CMM Perspective", 2001,
http://www. hristov.com/andrey/fht-stuggart/xp-cmm-paper.pdf.
[11] J. Nawrocki, M. Jasinski, B. Walter, and A. Wojciechowski, "Extreme
Programming Modified: Embrace Requirements Engineering Practices"
Proceedings of the IEEE Joint International Conference on
Requirements Engineering, 2002.
[12] I. Sommerville and P. Sawyer, Requirements Engineering: A Good
Practice Guide. John Willey and Sons, 1997.
[13] J. Nawrocki, B. Walter and A. Wojciechowski, ÔÇÿToward Maturity Model
for Extreme Programming", 2001,
http://www.dsv.su.se/~mira/Agile%208.pdf.
[14] S. Huang and S. Tilley, "Towards a Document Maturity Model", ACMSIGDOC-
2003, pp 93-99