JSEA  Vol.6 No.9 , September 2013
eXRUP: A Hybrid Software Development Model for Small to Medium Scale Projects
ABSTRACT

The conventional and agile software development process models are proposed and used nowadays in software industry to meet emergent requirements of the customers. Conventional software development models such as Waterfall, V model and RUP have been predominant in industry until mid 1990s, but these models are mainly focused on extensive planning, heavy documentation and team expertise which suit only to medium and large scale projects. The Rational Unified Process is one of the widely used conventional models. Agile process models got attention of the software industry in last decade due to limitations of conventional models such as slow adaptation to rapidly changing business requirements and they overcome problems of schedule and cost. Extreme Programming is one of the most useful agile methods that provide best engineering practices for a good quality product at small scale. XP follows the iterative and incremental approach, but its key focus is on programming, and reusability becomes arduous. In this paper, we present characteristics, strengths, and weaknesses of RUP and XP process models, and propose a new hybrid software development model eXRUP (eXtreme Programming and Rational Unified Process), which integrates the strengths of RUP and XP while suppressing their weaknesses. The proposed process model is validated through a controlled case study.


Cite this paper
G. Rasool, S. Aftab, S. Hussain and D. Streitferdt, "eXRUP: A Hybrid Software Development Model for Small to Medium Scale Projects," Journal of Software Engineering and Applications, Vol. 6 No. 9, 2013, pp. 446-457. doi: 10.4236/jsea.2013.69055.
References
[1]   N. M. A. Munassar and A. Govardhan, “A Comparison between Five Models of Software Engineering,” International Journal of Computer Science Issues (IJCSI), Vol. 7, No. 5, 2010, pp. 94-101.

[2]   P. Abrahamsson, O. Salo, J. Ronkainen and J. Warsta, “Agile Software Development Methods-Review and Analysis,” VTT Publications 478, 2002.

[3]   D. Truex, R. Baskerville and J. Travis, “A Methodical Systems Development: The Deferred Meaning of Systems Development Methods,” Accounting Management and Information Technologies, Vol. 10, No. 1, 2000, pp. 53-79. doi:10.1016/S0959-8022(99)00009-0

[4]   S. Cronholm, “Using Agile Methods?—Expected Effects,” Proceedings of 17th International Conference on Information Systems Development (ISD2008), Paphos, 25-27 August 2008, pp. 913-924.

[5]   N. Ganesh and S. Thangasamy, “Issues Identified in the Software Process Due to Barriers found during Eliciting Requirements on Agile Software Projects: Insights from India,” International Journal of Computer Applications, Vol. 16, No. 5, 2011, p. 7.

[6]   B. Boehm, “Get Ready for the Agile Methods, with Care,” Computer, Vol. 35, No. 1, 2002, pp. 64-69. doi:10.1109/2.976920

[7]   R. F. Roggio, “Process Driven Software Development: An Approach for the Capstone Sequence,” Proceedings of Information Systems Education Conference (ISECON), Pittsburgh, 1-4 November 2007, pp. 234-242.

[8]   J. Newkirk, “Introducing to Agile Processes and Extreme Programming,” Proceedings of 24th International Conference on Software Engineering, Orlando, 25 May 2002, pp. 695-696.

[9]   P. Abrahamsson, “Extreme Programming: First Results from a Controlled Case Study,” Proceedings of 29th Euromicro Conference (EUROMICRO’03), Antalya, 1-6 September 2003, pp. 259-266.

[10]   L. Lindstrom and R. Jeffries, “Extreme Programming and Agile Software Development Methodologies,” Information Systems Management, Vol. 21, No. 3, 2004, pp. 41-52. doi:10.1201/1078/444 32.21.3.20040601/82476.7

[11]   M. Grant, “Introduction to Extreme Programming”. http://www.xprogramming.com

[12]   A. Sillitti and G. Succi, “The Role of Plan-Based Approaches in Organizing Agile Companies,” Cutter IT Journal, Vol. 19, No. 2, 2006, pp. 14-19.

[13]   “Extreme Programming Official Website”. http://www.extremeprogramming.org/map/project.html

[14]   J. Osorio, M. Chaudron and W. Heijstek, “Moving from Waterfall to Iterative Development: An Empirical Evaluation of Advantages, Disadvantages and Risks of RUP,” Proceedings of 37th EUROMICRO Conference of Software Engineering and Advanced Applications, Oulu, 30 August-2 September 2011, pp. 453-440

[15]   A. Paul and P. A. Beavers, “Managing a Large ‘Agile’ Software Engineering Organization,” Proceedings of Agile Conference, Washington DC, 13-17 August 2007, pp. 296303.

[16]   J. Newkirk, “Introduction to Agile Processes and Extreme Programming,” Proceedings of 24th International Conference of Software Engineering, Orlando, 19-25 May 2002, pp. 695-696.

[17]   P. Kroll and P. Kruchten, “Rational Unified Process Made Easy: A Practitioner’s Guide to the RUP,” Addison Wesley, Boston, 2003.

[18]   P. Kruchten, “The Rational Unified Process—An Introduction,” 2nd Edition, Addison-Wesley, 2000.

[19]   Y. Dubinskyl, O. Hazzanz and A. Keren, “Introducing Extreme Programming into a Software Project at the Israeli Air Force,” Proceedings of the 6th International Conference on Extreme Programming and Agile Processes in Software Engineering, Sheffield, 18-23 June 2005, pp. 19-27.

[20]   K. Fertalk, N. Hlupic and D. Kalpic, “Permeation of RUP and XP on Small and Middle-Size Projects,” Proceedings of the 5th WSEAS International Conference on Telecommunications and Informatics, Tenerife, 16-18 December 2006, pp. 98-104.

[21]   W. C. de Souza Carvalho, P. F. Rosa and M. L D. S. Soares, “A Hybrid Approach to Integrate Agile and Traditional Software Development Processes,” Proceedings of Jornadas Chilenas de Computación, Curico, September 2011, pp.

[22]   S. U. Nisa and M. R. J. Qureshi, “Empirical Estimation of Hybrid Model: A Controlled Case Study,” I.J. Information Technology and Computer Science, Vol. 4, No. 8, 2012, pp. 43-50. doi:10.5815/ijitcs.2012.08.05

[23]   M. R. J. Qureshi, “Empirical Evaluation of the Proposed eXSCRUM Model: Results of a Case Study,” International Journal of Computer Science Issues, Vol. 8, No. 3, 2011, pp. 150-157.

[24]   C. Vriens, “Certifying for CMM Level 2 and ISO 9001 with XP@Scrum,” Proceedings of Agile Development Conference (ADC’03), Salt Lake City, 25-28 June 2003, pp. 120-124.

[25]   P. Runeson and P. Greberg, “Extreme Programming and Rational Unified Process—Contrasts or Synonyms?” Proceedings European Software Process Improvement Conference (EuroSPI), Budapest, 9-11 November 2005.

[26]   http://www-106.ibm.com/developerworks/rational/library/4156.html

[27]   W. Hesse, “Dinosaur Meets Archaeopteryx? Seven Theses on Rational’s Unified Process (RUP),” Proceedings of 6th International Workshop on Evaluation of Modeling Methods in System Analysis and Design, Marburg, 4-5 June 2001, 9 Pages.

[28]   “The Advantages and Disadvantages/Best Practices of RUP Software Development”. http://www.my-project-management-expert.com/the-advantaes anddisadvantaes-of-rup-software-development.html

[29]   N. Shahid, O. A. Khan, S. K. Anwar and U. T. Pirzada, “Rational Unified Process,” Online Notes on RUP. http://ovais.khan.tripod.com/papers/Rational_Unified_Process.pdf

[30]   M. Hirsch, “Making RUP Agile,” Proceedings for Conference of Object-Oriented Programming, Systems, Languages & Applications, New York, 4-8 November 2002, p. 44.

[31]   E. G. Sally and K. T. Rudahl, “Software Process in the Classroom: A Comparative Study,” Proceedings of 9th International Symposium on Communications and Information Technology, Icheon, 28-30 September 2009, pp. 427-431.

[32]   T. Massoni, A. Sampaio and P. Borba1, “A RUP-Based Software Process Supporting Progressive Implementation,” In: UML and the Unified Process, Chapter 3, IGI Publishing, Hershey, 2003, pp. 375-387.

[33]   J. Cho. “A Hybrid Software Development Method for LargeScale Projects: Rational Unified Process with Scrum,” Journal of Issues in Information Systems, Vol. 5, No. 2, 2009, pp. 340-348.

[34]   K. Beck, “Extreme Programming Explained Embrace Change,” Addison-Wesley, Boston, 2000.

[35]   J. Smith, “A Comparison of RUP and XP,” White Paper, Rational Software.TP167, 5/01.

[36]   A. Farrel, “Selecting a Software Development Methodology based on Organizational Characteristics,” An Essay Submitted in Partial Fulfillment of the Requirements for the Degree of “Master of Science in Information Systems”, Athabasca University, Athabasca, 2007.

[37]   A. Sillitti, M. Ceschi, B. Russo and G. Succi, “Managing Uncertainty in Requirements: a Survey in Documentation-Driven and Agile Companies,” Proceedings of 11th IEEE International Software Metrics Symposium, Como, 19-22 September 2005, pp. 10-17.

[38]   P. Emery, “The Dangers of Extreme Programing,” Term Paper, 2002. http://members.cox.net/cobbler/XPDangers.htm#_Toc530042781

[39]   P. Mattis, A. Trafford and A. Sakalaspur, “Extreme Programming”. http:// csis.pace.edu/~ctappert/cs616-02/pres-xp.ppt

[40]   A. Ullah, G. Rasool and R. J. Qureshi, “IXPRUM—A Novel Agile Model for Software Development,” AWER Procedia Information Technology and Computer Science, Vol. 1, No. 1, 2012, pp. 1314-1320.

[41]   S. Easterbrook, J. Singer, M. A. Storey and D. Damian, “Selecting Empirical Methods for Software Engineering Research,” Springer, London, 2008.

[42]   M. Voka, “Defect Frequency and Design Patterns: An Empirical Study of Industrial Code,” IEEE Transactions on Software Engineering, Vol. 30, No. 12, 2004, pp. 904-917. doi:10.1109/TSE.2004.99

[43]   M. J. Neale and J. M. R. Liebert, “Science and Behavior: An Introduction to Methods of Research,” Prentice-Hall, Upper Saddle River, 1986.

 
 
Top