A study of critical success factors for adaption of agile methodology


Published on

Published in: Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

A study of critical success factors for adaption of agile methodology

  1. 1. International Journal of Computer Engineering and Technology (IJCET), ISSN 0976- 6367(Print), ISSN 0976 – 6375(Online) Volume 4, Issue 4, July-August (2013), © IAEME 539 A STUDY OF CRITICAL SUCCESS FACTORS FOR ADAPTION OF AGILE METHODOLOGY Ms. Deepali Shahane Dr. Pallavi Jamsandekar Asst. Professor. IMED BVU, Pune, India Professor, IMRDA Sangli, India ABSTRACT This paper elaborates the relevance of agile methodology in context with Indian IT industry. The survey was conducted to find out usage of traditional methods and agile methods in today’s internet era in fast developing world. Today many products are developed by forming teams of members from different geographical areas across the globe in collaborative environment, using advanced tools & techniques. To meet the flexible requirement or due to changing environments, software developers are using agile methodologies utilizing iterative development prototyping and templates. Factors that include, management involvement, readiness of members, size of the organization were found to make significant impact on using and implementing agile software methodology. This survey conducted in IT firms irrespective of software development methodology that they are using. A study follows survey research pattern where questionnaire was distributed through web in English language and over 200 people from IT industry which are based in India and outside were contacted. However after persuasion, software developers were interviewed by conducting contextual enquiry techniques such as internet, WebEx calls. Only 40 responses were received. Contextual enquiry technique was used to understand the real life scenario and challenges in the daily life of software developers. KEYWORDS: Agile practices, Agile readiness, Agile software development methodology (ASDM), Agile tools, organizational culture, Three pillar framework of agile practitioners. 1. INTRODUCTION In the last two decades software development methodology is in the mode for accepting a change that is called AGILE software development methodology. The process of accepting new methods is beneficial but still there are some hesitations in acceptance. It has been shown by software developers that agile methods are really beneficial in terms of quality of the software [1]. INTERNATIONAL JOURNAL OF COMPUTER ENGINEERING & TECHNOLOGY (IJCET) ISSN 0976 – 6367(Print) ISSN 0976 – 6375(Online) Volume 4, Issue 4, July-August (2013), pp. 539-546 © IAEME: www.iaeme.com/ijcet.asp Journal Impact Factor (2013): 6.1302 (Calculated by GISI) www.jifactor.com IJCET © I A E M E
  2. 2. International Journal of Computer Engineering and Technology (IJCET), ISSN 0976- 6367(Print), ISSN 0976 – 6375(Online) Volume 4, Issue 4, July-August (2013), © IAEME 540 Different agile software development methods are there such as XP, scrum, Crystal method & Feature Driven Development. All these methods work differently from traditional methods and are ready to accept changes with rapidly changing environment [2]. Among those methods extreme programming (XP) and Scrum are most popular agile methods. These methods follow iterative development, continuous code integration and ability to handle changing business requirements [2]. There are three different factors that affect the agile development with distributed team across the globe. Those factors are geographic location, time differences and maturity of team member [3]. Conducting daily stand up meetings is a challenge with geographically dispersed teams. However it can be addressed by conferences to some extent. Time differences matters when team members are not available at a particular time. This is a main challenge when it is assumed that every member is experienced and independently functioning professional which is not a reality. Every method has its pros and cons still there is no systematic method available to guide selection of appropriate method based on type of project [4]. Identification techniques and factors will help to select the process specific to project. II. AGILE SOFTWARE DEVELOPMENT METHODOLOGIES (ASDM) ASDM are used to give the quality software in a shorter time period. It is asset of new approaches for developing software in order to accept changing business requirements, as the requirements and design are not expected to freeze during product development process. [5] 2.1 EXTREME PROGRAMMING (XP) The Extreme programming method is one of the widely used methods. It consists of Planning, managing, designing, coding, testing. Extreme Programming improves a software project in five essential ways; communication, simplicity, feedback, respect, and courage. Extreme Programmers communicate with their customers and other team members continuously. Design is kept simple and clean. The feedback is taken by testing their software starting from day one. The system is delivered to the customers as early as possible and changes are implemented as per suggestion. [6] 2.2 SCRUM Scrum life cycles consist of four phases: planning, staging, developing and release. The planning phase focuses on the vision, expectations about project and funding is also secured. Staging phase consists of identification of more requirements and these requirements are prioritized for first release. In the development phase a system ready for release is being implemented in a series of 30- day iterations. When documentation and training for the product is being developed then the Release phase is ON. Scrum has fixed length of iterations i.e. 30 days, so that customer gets release of the product at every month. Schwabber (2003, page 134), [7]. The iteration in Scrum is known as Sprint, this sprint is of 30 days. Every day new daily scrum meeting starts. In that meeting team members give details about the time requirement to complete the given task. A sprint backlog helps to define time requirement of the task in the current iteration. If the tasks take longer time to complete then they are moved to next iteration. According to Koch– “Scrum is defined not so much, by its process as by the practices that comprise it” [8]. 2.3 CRYSTAL Crystal is a "Family" of methodologies that share a common "Genetic Pool" Crystal was invented by Alistair Cockburn after many years of research and experience by studying successful projects and what made them successful. At its core it is an agile methodology and follows the
  3. 3. International Journal of Computer Engineering and Technology (IJCET), ISSN 0976- 6367(Print), ISSN 0976 – 6375(Online) Volume 4, Issue 4, July-August (2013), © IAEME 541 principles of frequent delivery, iterations, user involvement, responding to change. However it does so, in a very different way than in other methodologies [9]. 2.4 FEATURE DRIVEN DEVELOPMENT (FDD) Feature Driven Development (FDD) is an iterative software development methodology intended for use by large teams working on a project using object-oriented technology. This methodology includes some prescription about which tasks should be done and by which roles should be done. Mostly it is not considered a true agile methodology.FDD is good for organizations that are transitioning from a phase-based approach to an iterative approach but are not comfortable getting rid of all task and role assignments. 2.5 TRADITIONAL SOFTWARE DEVELOPMENT METHODOLOGY Traditional method such as waterfall model (SDLC) was developed in the early years of software development or before internet, XML era. When the business requirements are fixed then these methods are suitable. They require more documentation in order to LOCK the requirements. When the requirements are changing it is very difficult with traditional methods, so agile methods were used. From the previous research done it was found that the agile methods are not regularly used in IT industry. Still it needs some motivation to use these methods. Researchers were trying to find out the factors which are affecting the use of agile methods. Advantages in using the traditional methods Progress of the system is measurable Implementation has more priority than the functionality More focus on documentation Requirements are not changing frequently Disadvantages in using the traditional methods time required to complete the project is more mistakes cannot be recovered easily and its costly changing customer requirements cannot be accommodated This may force developers to apply agile method. Advantages of ASDM [10] Some of the advantages of the Agile methodology are as follows: • Short cycles: Deliver working code to the business users in regular, short iterations (two to four weeks), ensuring quick feedback and quality assurance with improvised status reporting. • Test-first development: Building test cases and scripts as per requirements, before starting actual development. • Continuous integration: Rebuilding and automatically testing the code base on regular basis after every incremental change, to address issues immediately and support distributed parallel development. • Refactoring: Improving upon the design of existing code and existing capability to support new requirements. • Empowered team: Allowing project team member to “own” the project and work directly with business representatives to prioritize & identify key requirements to resolve issues. • Reduction of project risk: Identify and Reduce the risk of late delivery and identify risk by having close collaboration with the business, and manage mitigation at the start of the project. Recently explore ways to address offshore development issues, people, process, technology
  4. 4. International Journal of Computer Engineering and Technology (IJCET), ISSN 0976- 6367(Print), ISSN 0976 – 6375(Online) Volume 4, Issue 4, July-August (2013), © IAEME 542 (technical, management and cultural). Also manage the risk by identifying the skill sets with possibility of having modular & scalable process to execute scalable distributed teams. III. OBJECTIVES Even though agile method is advantageous over traditional methods, it has found that percentage of using Agile Development Methodology is very less. This study aims to evaluate the gap between adoptions of agile methodologies in Indian IT industry. It aims to find out the factors, which influence software development methodology. 1. To identify the success factors for agile software development projects. 2. To identify the actual critical success factors affecting the adoption of agile software development. 3. To find the level of importance of those critical success factors relative to each other? 4. To find suitability of agile methods for different types of organizations. 5. To find factors more affecting agility of different types of organizations. IV. SURVEY Lot of work is done on Agile Development but very limited work that focuses on existing situation and its usage in ASIA (India) is published through literature. The study is mainly done in USA, UK or Europe. When the new method such as Agile Development has to be used, we have to find out the factors, barriers related to adoption of these methods. In these cases developers’ views and organization’s views needs to be considered. To find out the usage of software development methodology, may be traditional or agile, it depends on people and practices, culture of the organization and also region that they are following. The study was conducted to discover perception of agile methods by developers but it does not consider cultural conflicts and alliance, comparison and adoption of these methods. [11] Different types of studies focusing on agility, critical success factors for adoption of agile methodology are referred [9,12,13,14,15] There are some organizations in India which are trying to focus and train their human resources on adoption of agile methodologies. Chandrasheker and Kemeswarashashtry have done research, finding out the successful implementation of ASMD [17] Kalpna and Jagdish has given focus on adopting agile in distributed development with the India as a base, it is a case study of Wipro technologies[17], they have discussed a validated model to make a smooth transition from a collocated to a distributed scenario in agile projects. The lessons learnt and best practices that they have gained in implementing model have also been discussed 4.1 Earlier surveys conducted In 2008 Vijaya sarathy and Turk have done survey worldwide [18] to find out the interest in adoption of ASDM. They have received 98 responses in 2010. Empirical study was done by ASnaw, Gravell and wills [19] in Malyasia. Abbas, Gravell and Wills in 2010 [20] has conducted survey in order to check success rate and its relation with one another. Where they have used technique of Ambler who has done survey in 2007 [21] In 2008 Schindler has done survey in Austrian IT Industry to find out the adoption of ASDM [22] Forrester’s research states that [23], North American & European companies were using agile approaches and others are planning to adopt them in the future. This study includes the small size companies who are developing the advance products. These are recent adaptors.
  5. 5. International Journal of Computer Engineering and Technology (IJCET), ISSN 0976- 6367(Print), ISSN 0976 – 6375(Online) Volume 4, Issue 4, July-August (2013), © IAEME 543 The Standish Group - CHAOS Report 2009 [24,25] states that 24% of projects cancelled before completion, 44% finished late, and rest were over budget, or incomplete. “…cancelled projects cost American organizations over $145 billion in 2008.” This says that there is a need to use appropriate method to develop software products. There may be many reasons for this. Some of them are Time, Insufficient Budget, Never Reviewing Project Progress, Inadequate Testing, and Lack of Quality Assurance. These problems or issues are to be discussed and solved for success of project [26]. V. METHOD The qualitative semi-structured and spontaneous, informal interviews, literature review, quantitative web based questionnaire were used to define and collect necessary data. VI. RESEARCH METHODOLOGY A survey instrument was developed with Google docs to collect the information on adoption of ASDM’s. This survey first discussed with IT experts working in the field over broader spectrum of development - marketing and project management - business analysis etc. Other factor such as no. of years experience was considered besides the size of organization. Typical product development time lines were also mapped. Factors important for ASMD’s were confirmed with these experts and were open for over 3 months on web. Agile methods can help in producing customer requirements and at the same time focus on delivery of quality software. [27] In this survey, we focus on factors viz; time, cost, quality, functionality and agile readiness which are affecting the adoption of agile methods and success of the project. VII. SAMPLE SIZE A study was done using a questionnaire through web in English language and over 200 people from IT industry which are based in India and outside were contacted. However after persuasion, software developers were interviewed by conducting contextual enquiry techniques such as internet, WebEx calls. Only 40 responses were received. Contextual enquiry technique was used to understand the real life scenarios and challenges in the daily life of software development team members. VIII. FINDINGS Responses received through the questionnaire are analyzed to find importance given to different factors and got following results. 1. These IT industries are working in the various domains such as E-commerce, Manufacturing, Retail, Technology, Healthcare, Telecom, Hospitality, logistics etc. People working in technology and banking / finance contribute about 50 % of sample size. Very few from logistics and utility sectors have responded to this survey.
  6. 6. International Journal of Computer Engineering and Technology (IJCET), ISSN 0976- 6367(Print), ISSN 0976 – 6375(Online) Volume 4, Issue 4, July-August (2013), © IAEME 544 FIGURE 1 2. Among the respondents more than 40% are using traditional methods. 35 % respondents are using ASDM and rest of companies are practicing both methods. This means that people still believe in the traditional methodology than the agile methodology. 3. About 60 %of respondents use same methodology for different projects. FIGURE 2 4. Out of 35% of total respondents who adopt ASDM, 75% prefer to use scrum method. While Pair programming and XP is the second preferred method. FIGURE 3 5. People preferred to use Agile methodology because of several factors of which; time required for completion is more significant while factor such as complexity of project and project cost are less affective. Other factors for choosing Agile development method are identified those are less defects, uncertain requirements, and flexibility. 6. Quality and functionality of the software has got the highest importance. 7. Customer readiness has more importance over team readiness in ASDM.
  7. 7. International Journal of Computer Engineering and Technology (IJCET), ISSN 0976- 6367(Print), ISSN 0976 – 6375(Online) Volume 4, Issue 4, July-August (2013), © IAEME 545 FIGURE 4 CONCLUSION The result of this survey throws light on the fact that still people are not ready to accept agile software development method in large scale. Mainly traditional method of software development is used by the developers as compared to agile methods in most of the projects. Awareness about agile methodologies and its benefits need to be conveyed. Resource development thru on the job training and information about best practices should be given to development teams so that they can apply suitable methodology depending upon the type of the project. Functionality and quality are the most important factors according to the findings of the survey, as compared to other factors such as time, cost, and motivation. Customer readiness is more significant as compared to the team involvement. Further investigation of these factors affecting use of agile methods is required. Relation between the extracted factors need to be correlated [28] FUTURE SCOPE: It leads to further research about finding the adoption rate of agile methodology in software development in Indian scenario. The factors which are critical for success of ASDM are to be verified statistically. Other factors which are important and difficult to quantify are need to be validated such as appropriateness of project, senior management as well as clients’ commitment and availability of resources and infrastructure. Although response of candidates & openness to disclose /discuss about project respecting confidentiality of projects and cultural aspect is a challenge. REFERENCES Journal papers [2] Boehm, B., & Turner, R. (2003). Using risk to balance agile and plan-driven methods. Computer, pp 36(6), 57-66. [3] Ness Technologies ( NSDQ_ NSTC- white paper -) (2010) Ness software product lab. Agile Software Best Practices: Agile and Globally Distributed teams Can Coexist June 2010 http://www.ness.com/sp, 2010 [11] Daniel, D. Ronald, "Management Information Crisis," Harvard Business Review,” Sept.-Oct., 1961. [16] Rockart, John F., Christine V. Bullen. "A Primer on Critical Success Factors" published in The Rise of Managerial Computing: The Best of the Center for Information Systems Research, edited with (Homewood, IL: Dow Jones-Irwin, 1981) or McGraw-Hill School Education Group (1986) [18] Leo Vijaysarathy, Dan Turk, Agile Software Developemnt: A survey of Early Adopters, Journal of Information Technology Management, ISSN #1042-1319
  8. 8. International Journal of Computer Engineering and Technology (IJCET), ISSN 0976- 6367(Print), ISSN 0976 – 6375(Online) Volume 4, Issue 4, July-August (2013), © IAEME 546 [19] Ani Liza Asnawi , Andrew m Gravell, Gary B Wills (2010) An Empirical study – Understanding factors and Barriers for implementing Agile methods in Malaysia, - IDoESE- 10 sept 2010 Bolzano Bozen Italy [22] Jeffrey A. Livermore, Walsh College , (2007) Factors that Impact Implementing an Agile Software Development Methodology, IEEE 2007 [23] Gil Broza, Industrial Logic (Canada) Toronto, ON, Canada (2005)Early Community Building: A Critical Success Factor for XP Projects - - IEEE 2005 [27] Subhas C. Misra, Vinod Kumar, and Uma Kumar Carleton University, Ottawa, Canada (2009) Success factors of Agile development method- Journal of Systems and Software 2009 [28] Noura Abbas Andrew Gravell, Gary Wills, southampton UK, Using Factor Analysis to Generate Clusters of agile Practises –978-0-7695-4125-9/10 Agile, 2010.5 – IEEE Books [1] Abrahamsson, P., Salo, O., Ronkainen, J., & Warsta, J. (2002). Agile software development methods. Oulu, Finland: VTT Publications. [5] Boehm, B., & Turner, R. (2005). Management challenges to implement agile processes in traditional development organizations. IEEE Software, 22(5), 30-39. [7] Schwaber, K., & Beedle, M. (2003). Agile Software Development with Scrum. Upper Saddle River, NJ:Prentice Hall pp 134. [8] Koch, A.S. (2005). Agile software development: Evaluating the methods for your organizations. Northwood, MA: Artech House [12] Cockburn, A. (2002). Agile software development. Boston, MA: Addison-Wesley. [13] Cooper, D.R., & Schindler, P.S.(2003). Business research methods. New York, NY:McGraw- Hill/Irwin. [14] Highsmith, J. (2002). Agile software development ecosystems. Boston, MA:Addison-Wesley. Thesis [15] http://www.coursework4you.co.uk/essays-and-dissertations/critical-success-factors.php Proceeding papers [17] Kalpana Sureshchandra, Jagadish Shrinivasavadhani, Adopting Agile in Distributed Development, GSE '08 Proceedings of the 2008 IEEE International Conference on Global Software Engineering [20] Noura Abbas, Andrew M Gravell, Gary B Wills (2010) The Impact of Organization, Project and Governance Variables on Software Quality and Project Success by 2010 Agile conference Web Links [6] http://www.extremeprogramming.org/ [9] http://www.infoq.com/presentations/fdd-crystal-agile-overview [10] www.thoughtworks.com/tei [21] Adoption survey 2007 http://www.ambysoft.com/scottAmbler.html [24] Standish Group (2001). Extreme Chaos. 2009, from http://www.standishgroup.com/sample_research/PDFpages/extremechaos.pdf [25] The Forrester Wave™: Agile, Development Management Tools, Q2 2010, by Dave West and Jeffrey S. Hammond for Application Development & Delivery Professionals [26] http://www.projectsmart.co.uk/why-software-projects-fail.html