Influence Factors for the Choice of a Software Development Methodology

The success rate of software development projects can be increased by using a methodology that is adequate for the specific characteristics of those projects. Over time a wide range of software development methodologies has been elaborated, therefore choosing one of them is not an easy task. Our research reviews the main categories of development methodologies and then focuses, for a detailed study, on three of them: Rational Unified Process (RUP), Rapid Application Development (RAD) and Extreme Programming (XP). For each methodology it is presented the structure of software life cycle, there are identified the situations in which the methodology can be used successfully and the situations in which it tends to fail. Based on the literature review of software development methodologies and on a series of surveys, published by different researchers, exploring the state of practices in this field, we have identified a number of factors that influence the decision of choosing the most adequate development methodology for a specific project. The methodologies that are subject of this study are evaluated in relation to these factors to find out which development methodology is the most adequate depending on the level of the factors for a specific project. The results of our research are useful for the developers by helping them to identify what software development methodology can be used with success for a specific project.

[1]  Pekka Abrahamsson,et al.  New directions on agile methods: a comparative analysis , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[2]  Raul Sidnei Wazlawick,et al.  The influence of organizational culture on the adoption of extreme programming , 2008, J. Syst. Softw..

[3]  Martin Fowler,et al.  Planning Extreme Programming , 2000 .

[4]  Philippe Kruchten,et al.  The Rational Unified Process: An Introduction , 1998 .

[5]  Alistair Cockburn,et al.  Agile Software Development , 2001 .

[6]  S. Bhalerao,et al.  Generalizing Agile Software Development Life Cycle , 2009 .

[7]  Rostislav Fojtik,et al.  Extreme Programming in development of specific software , 2011, WCIT.

[8]  Tore Dybå,et al.  Empirical studies of agile software development: A systematic review , 2008, Inf. Softw. Technol..

[9]  M. Elizabeth C. Hull,et al.  Software development processes - an assessment , 2002, Inf. Softw. Technol..

[10]  Joshua Barnes Implementing the IBM Rational Unified Process and Solutions: A Guide to Improving Your Software Development Capability and Maturity , 2007 .

[11]  Alessandro Soro,et al.  Integrating XP project management in development environments , 2006, J. Syst. Archit..

[12]  Philippe Kruchten,et al.  The Rational Unified Process: An Introduction, Second Edition , 2000 .

[13]  Laurie Williams,et al.  Agile Software Development Methodologies and Practices , 2010, Adv. Comput..

[14]  P. Krutchen,et al.  The Rational Unified Process: An Introduction , 2000 .

[15]  DingsøyrTorgeir,et al.  Empirical studies of agile software development , 2008 .

[16]  Alistair Cockburn,et al.  Selecting a Project 's Methodology , 2000, IEEE Softw..

[17]  Using the Zachman Framework to Assess the Rational Unified Process , 2001 .

[18]  Kent L. Beck,et al.  Extreme programming explained - embrace change , 1990 .

[19]  Mohammad Alshayeb,et al.  An empirical study of relationships among extreme programming engineering activities , 2006, Inf. Softw. Technol..

[20]  Mikael Lindvall,et al.  An introduction to agile methods , 2004, Adv. Comput..

[21]  Alistair Cockburn,et al.  Agile Software Development: The Business of Innovation , 2001, Computer.

[22]  Ahmad Shuja,et al.  IBM Rational Unified Process Reference and Certification Guide: Solution Designer , 2007 .

[23]  M. Rizwan Jameel Qureshi,et al.  An adaptive software development process model , 2008, Adv. Eng. Softw..

[24]  Philippe Kruchten,et al.  The Rational Unified Process Made Easy - A Practitioner's Guide to the RUP , 2003, Addison Wesley object technology series.

[25]  Geir Kjetil Hanssen,et al.  Tailoring RUP to a Defined Project Type: A Case Study , 2005, PROFES.

[26]  Susan Gasson THE ROLE OF METHODOLOGIES IN IT-RELATED ORGANISATIONAL CHANGE , 2003 .

[27]  Tommi Tervonen,et al.  Quantitative release planning in extreme programming , 2011, Inf. Softw. Technol..

[28]  David E. Avison,et al.  INFORMATION SYSTEMS DEVELOPMENT , 2006 .

[29]  Ivar Jacobson,et al.  The Unified Software Development Process , 1999 .

[30]  Dean Leffingwell,et al.  Managing software requirements: a unified approach , 1999 .

[31]  John Smith,et al.  A Comparison of the IBM Rational Unified Process , 2001 .

[32]  Gerhard Chroust What is a software process? , 1996, J. Syst. Archit..