Success Factors For Agile Software Development - Ijcaonline

Transcription

International Journal of Computer Applications (0975 – 8887)Volume 113 – No. 17, March 2015Success Factors for Agile Software Development – ACase Study from Sri LankaV. N. VithanaS. G. S. FernandoDepartment of ITSLIITSri LankaDepartment of ITSLIITSri LankaABSTRACTAgile software development methods provide great flexibilityto adapt to changing requirements and rapidly marketproducts. Sri Lankan software organizations too areembracing these methods to develop software products. Beingan iterative an incremental software engineeringmethodology, agile philosophy promotes working softwareover comprehensive documentation and heavily relies oncontinuous customer collaboration throughout the life cycle ofthe product. Hence characteristics of the people involved withthe project and their working environment plays an importantrole in the success of an agile project compared to any othersoftware engineering methodology. This study investigatedthe factors that lead to the success of a project that adoptsagile methodology in Sri Lanka. An online questionnaire wasused to collect data to identify people and organizationalfactors that lead to project success. The sample consisted ofSri Lankan software professionals with several years ofindustry experience in developing projects using agilemethods. According to the statistical data analysis, customersatisfaction, customer commitment, team size, corporateculture, technical competency, decision time, customercommitment and training and learning have a influence on thesuccess of the project.General TermsAgile software development methods.KeywordsSuccess factors, agile software development methods.1. INTRODUCTIONSoftware development methods constantly evolve due to newtechnologies and demands of the users. Organizations need tocontinuously adapt new structures, strategies and policies tostay competitive in today‟s dynamic business environment.Thus, agile software development methods are becomingincreasingly popular with the great flexibility they provideorganizations to adapt to changing requirements and to marketproducts rapidly.Agile software development (ASD) methods were originatedby a group of 17 software practitioners in the year 2001. ASDprinciples were based on best practices of these softwarepractitioners and their previous success and failureexperiences with many past software projects [1].ASD philosophy constitutes of a set of principles where thereis more value on Individuals and interactions over processesand tools; Working software over comprehensivedocumentation; Customer collaboration over contractnegotiation; Responding to change over following a plan [1].On the contrary, traditional development methods are morefocused on following well defined plans and are inflexible in arapidly changing business environment. Thus, whenM. KapurubandaraDepartment of ITSLIITSri Lankatraditional methods are used, software practitioners get soinvolved with the process and consequently the realdevelopment gets slowed down.Today, agile philosophy seems to have inspired manysoftware practitioners all over the world as it has a hugeimpact on how the software is being developed. Under theumbrella „Agile‟ there are several development methodologiessuch as Scrum, XP, Kanban, Crystal, to name a few. Agilemethodologies such as XP and Scrum are in widespread use indeveloped countries such as US, Europe and Japan [2].Nowadays most of the software development is carried outoffshore in cost effective developing countries such as Indiaand Sri Lanka [3]. According to Fowler, Offshoredevelopment brings two issues which conflict with theprinciples of agile development. Firstly, ASD methods highlystress the importance of having face-to face communication.But in offshore development, developers are not residing inthe same physical proximity which creates a barrier for faceface communication. Secondly, most offshore organizationsfavor the plan-driven approach where detailed requirements ordesigns are sent offshore to be constructed. But ASD methodsvalue working software over comprehensive documentationand are willing to change at customer‟s request over followinga rigid plan. Therefore offshore developers might not becomfortable with the flexibility that ASD methods offer. Thecharacteristics of the people involved with the project and theculture plays an important role in the success of an agileproject. According to the literature, effective communication,readiness to learn, negotiation skills, autonomy to take rapiddecision are some of the key determinants of an agile projectsuccess.Most software offshore outsourcing destinations are nowestablished in Sri Lanka and these Sri Lankan companies aretoo adopting ASD methods to a considerable extent. There arefew studies carried out on identifying the success factors inadopting ASD methods in the western, developed countries.There is very little empirical studies from Asian countries [4].It would be interesting to study whether these factors aresimilar in the Sri Lankan context where the personalcharacteristics and culture are vastly different from thedeveloped, western countries.Therefore, this research try to address the following researchquestion.“What are the factors from the perspective of ASDpractitioners that will influence the success of projects thatwant to adopt ASD methods in Sri Lanka?”Software professionals who are interested in adopting ASDmethods, would be interested to know the factors on which histeam should focus that would lead to the success of theproject.10

International Journal of Computer Applications (0975 – 8887)Volume 113 – No. 17, March 2015It is believed that the findings of this paper would becomeuseful to those who wish to adopt ASD methods and forresearchers in software industry.The rest of the paper is organized as follows: the LiteratureReview identifies factors that affect the success of an agileproject and explains how to determine the success of aproject. Methodology discusses the research methodology thatwas followed to conduct the research while an analysis ofstatistical data is provided under Results and Discussion. Thepaper concludes providing some directions for future research.2. LITERATURE REVIEWThere are several factors that contribute to the success of aproject. From a project management perspective, a successfulproject should meet the original targeted cost, schedule,quality, and functionality by the efficient use of resources. Aquality product should be in confirmation with therequirements specification and also fit for use [5]. Nowadays,a successful project is defined using four factors as follows. Asuccessful project 1) meets business requirements, 2)delivered and maintained on schedule, 3) delivered andmaintained within budget and 4) deliver the expected businessvalue and return on investment [6]. Hence, in this research,project success which is the dependent variable is measuredusing the following criteria 1)Reduced delivery schedules, 2)Increased return on investment (ROI), 3) Increased ability tomeet with the current customer requirements, 4) Increasedflexibility to meet with the changing customer requirements,5) Improved business processes.This section briefly reviews the literature to identify thefactors that influence the success of a software project thatadopt agile methods.2.1 Factors influencing the adoption ofAgile Methods in Software DevelopmentAccording to the literature, customer plays a very importantrole in the success of an agile software project. Customerinvolvement in the project can be categorised as mercommitment. Agile manifesto sees customer collaboration asone of the main requirements in project success. Lindvall etall states that continuous customer collaboration throughoutthe life cycle of the project is a critical success factor of anAgile project [7]. One of the agile principles is to give thehighest priority to the customer through early and continuousdelivery of valuable software [1]. According to a studyconducted by Misra et al customer satisfaction followed bycustomer collaboration are considered to be the mostimportant factors in determining a project success [8]. SinceASD methods are Incremental and iterative, customer is animportant stake holder throughout the life cycle of the project.Customer plays a very responsible role in the project byverifying the software and prioritizing requirements at eachiteration. Hence customer commitment is also an importantsuccess factor [9].Agile teams are said to be self-organizing and hence do notrely on outsiders to guide them. The team has the autonomy toorganize themselves to best complete their work [10]. Agileteams need to take quick decisions by themselves [11].Therefore decision making time is a key factor in agile projectsuccess.The geographical location of the team members play animportant role in software development. When the teammembers are located in different areas worldwide, they will beworking in different cultures and different time zones whichin return would become a barrier for effective communication.As Cockburn states distant communication over a phone willmiss out important information including gestures and facialexpressions. Also the stakeholders might limit theconversations and assume things that would not happen in aface-to face conversation. Hence distant communicationwould lead to miscommunication of important information[12].Therefore geographical distribution of the teammembers is considered as an important factor in agilesoftware project success.When the team size is small, effective communication couldbe easily achieved [8]. But when the team size expand beyond20-40 members, face-to face communication becomes verydifficult [7]. Therefore many argue that team size play a keyrole in agile project success.Agile manifesto emphasizes the importance of Individual andinteractions over processes and tools. An agile project needs ahighly corporative environment to be successful. Agileprojects highly rely on customer collaboration and continuousfeedback. Hence the organization should be dynamic andhighly flexible to change. Close collaboration among teammembers is also required. The organization culture shouldsupport negotiation [11]. Agile methods would be successfulin a friendly and collaborative work environment and hencewould be difficult to be implemented in a bureaucraticorganization culture [13]. Therefore organization culture playsan important role in implementing agile methods.Traditional software methods rely on documented plans butagile methods prefer internal planning and control within theteam rather than interference from external managers.Therefore the level of autonomy on planning and control is animportant success factor [10]; [12].Any software projects‟ success depend on the people andhuman resource factor. ASD methods rely on the peoplefactor more than any other methodology. The people factor iscategorised into several sub factors in the literature mmunication and negotiation, societal culture and trainingand learning of team members [8], [9].Competency denotes whether the team member possess pastexperience in developing similar software and is equippedwith good interpersonal and communication skills [7].According to Lindvall et al about 25 % of the project personalneed to be competent for the project to be successful. A highlycompetent team would deliver quality software fast. SinceASD methods emphasizes on delivering working softwarefast, certainly, competency plays an important role in theproject success.Agile teams possess more autonomy in taking decisions.Therefore personal characteristics of the team members suchas honesty, collaborative attitude, sense of responsibility andreadiness to learn are considered important in driving an agileproject towards success [7], [13].ASD methods heavily rely on face to face communicationover written documentation [13]. Therefore effectivecommunication and negotiation is a necessity of an agileproject success [9], [12].According to Misra et al software development is influencedby the local culture of the society in which the organizationoperates. Personal characteristics of the people are greatlyinfluenced by the society and vice versa. It would be easier to11

International Journal of Computer Applications (0975 – 8887)Volume 113 – No. 17, March 2015implement agile methods in a societal culture that promoteseffective communication, motivation for progress andflexibility among individuals [7], [8].Lindvall et al states that explicit training is trivial for thesuccess of an agile project. ASD methods such as XP requiresless formal training as transferring of tacit knowledge andmentoring is achieved through pair programming.The above literature survey on the influencing factors revealthat there are many significant success factors which affectthe adoption of Agile Methodologies in software projects.These factors can be grouped to develop a framework forinvestigations. This paper proposes the following frameworkfor this purpose. The success factors for the adoption of agilemethodologies can be broadly categorised into 5 categories.They are namely Organizational, people, process, technicaland project [9]. This research considers only People andOrganizational categories as out of the five, these twocategories might have the highest variance in the Asiancontext. Figure 1 summarises the success factors that wereidentified in the People and Organizational categories adoptedfrom stomerSatisfaction Communication& Negotiation CustomerCollaboration PersonalCharacteristics Successful AgileProject CustomerCommitmentDecision TimeSocietal CultureTeamDistributionTraining &LearningTeam SizeCorporateCulturePlanningControlFig 1: Theoretical framework - Success Factors (adapted from [8])3. RESEARCH METHODOLOGYThis research is investigating the success factors to adoptionof Agile Software Development methods in the softwarecompanies in Sri Lanka. The purpose of this study is to comeup with a set of potential determinates that influence thesuccess of the adoption.The goal of this study is to Extend the understanding and find empirical evidence ofthe success factors Determine the significance of the potential successfactors which impacts the adoption.3.1 Research ApproachGiven the lack of empirical research in this area especially inSri Lanka, an exploratory investigation was considered themost suitable approach. Sri Lanka, a developing country, withmany offshore and as well as local software companies areestablished, is the chosen test bed. A methodology suitable forSri Lanka could prove to be useful with other developingcountries with a similar cultural background.This research try to identify the success factors from theperspective of the software professionals. Hence the criterionfor selection of software professionals was their number ofyears of experience in the industry. Software practitionersplaying different job roles (i.e. software engineer, projectmanager) working in various industries and possess more than3 years of experience using ASD methods in different types ofprojects were selected. The study deployed a questionnaireand the questionnaire link was emailed to selected softwarepractitioners. The questionnaire was sent in September 2014and kept open for 3 months to collect responses. Theextensive literature review, contributed to the design of theproposed research model and the survey instrument.3.2 Survey InstrumentQuestionnaire was the main instrument of this study and wasdesigned after going through a few similar research studiesconducted in developed countries. This method was cost12

International Journal of Computer Applications (0975 – 8887)Volume 113 – No. 17, March 2015effective and the respondents could take their time to answerthe questions thoughtfully. A survey instrument withquestions using Likert scales was developed and pilot testedto capture the information, reflections and perceptions of thesoftware professionals. It was designed to investigate thesuccess factors that influence adoption of agile technology bythe organizations and their significance.The questionnaire mainly consisted of close-ended, multiplechoice type questions. It consisted of a few open-endedquestions which provided the opportunity for the respondentto give some additional information. The survey had threesections. The first section of the survey included of questionsto gather demographic data about the respondent. The secondsection had questions to identify the success factors of agiledevelopment. To measure importance of success factors, a 5point Likert scale was used to reflect the level of perception ofthe question by the respondent. The third section was used toidentify respondent‟s perspective on the success of a softwareproject.Several pilot tests were carried out prior to the distribution ofthe questionnaire. Pilot tests were conducted with a group of 2software quality assurance engineers, 2 software engineers,and 1 project manager.Overall, 170 questionnaires were personally disseminated andaddressed to software practitioners with no constraints on thetype of industry sectors.A covering letter was sent along with the questionnaire linkexplaining the purposes of the study, assuring anonymity ofrespondents and their organization, and providing instructionson how and who should complete the questionnaire. Therecipients were selected using a random systematic samplingtechnique from Sri Lankan agile groups in social media suchas LinkedIn and Facebook. Follow-up efforts to nonrespondents were made through emailing again after twoweeks. Out of 78 total responses, 14 were incomplete,resulting in 64 usable responses, that is, a 37% response ratefrom the 170 delivered questionnaires. This sample size isconsidered adequate for the analysis and is comparable toresponse rates in literature [Sekaran & Bougie, 2010].4. DATA ANALYSISThe data were statistically analyzed using SPSS.78 responses were received from which 64 were filtered basedon the completeness and the number of years of experience inusing ASD methods. The responses considered are those with2 or more years of experience in the industry developingprojects using ASD methods.Demographic data about the respondents were collected. Mostof the companies (36%) that responded to our survey arehaving 50 to 250 employees. 25% of the respondents camefrom large organizations, having more than 500 employees.23% of the respondents are from small companies with lessthan 50 employees. Thus, the sample consists of a fairdistribution from small, medium and large organizations.47% of the respondents have 5 to 10 members in their teams.16% are in teams which have less than 5 members. 23% arehaving 11 to 20 members. 13% are having more than 20members. 63% belong to small sized groups (have less than10 members). Thus, the sample consists of a fair distributionof small (less than 10) and large teams.Out of the respondents 28% are software engineers, 25% areTeam leaders and 19% are Quality Assurance engineers. Therest of the respondents consists of project managers,consultants, business analysts, UI engineers and projectcoordinators.Out of the respondents 52% are serving only the foreign clientbase and 33% are serving both foreign and local clients. 77%of the respondents are using Scrum methodology. 9% of therespondents are using XP and another 9% are using Leanmethodology respectively. Other respondents are practicingASD, Crystal and USDP.29% of the respondents are having 2 years of experience usingagile methodologies. 55% are having 3 years of experience.10% are having 4 years of experience and 6% are havingmore than 5 years of experience.4.1 Descriptive StatisticsThe descriptive statistics of the data collected fromrespondents were studied and summarized in Table 1. Foreach independent variable Mean, Mode, Minimum, Maximumand Standard Deviation was calculated.Table 1 – Summarized Descriptive stomer Collaboration3.92445%1.044Customer Commitment4.17441%.747Decision Time4.19442%.852Team Distribution3.30533%1.391Team Size4.56561%.732Corporate 0445%.756Technical Competency4.27447%.740Personal Characteristics4.35550%.728Communication andNegotiation3.54442%.700Societal Culture3.60436%1.109Training and Learning4.16541%.930Independent VariableMeanCustomer SatisfactionAccording to the descriptive statics, following people factorshave a mean value above 4. Personal Characteristics Technical Competency Training and LearningAccording to the descriptive statics, following people factorshave a mean value above 4. Customer Satisfaction Team Size Corporate Culture13

International Journal of Computer Applications (0975 – 8887)Volume 113 – No. 17, March 2015 Decision Time Customer Commitment4.2 Factor AnalysisRespondents were asked to indicate their agreement withstatements by circling a number of the Likert scale(1 strongly disagree to 5 strongly agree). Data for somefactors were collected through several questions. Thus, factorsanalysis was conducted for the factors, team distribution,corporate culture, personal characteristcs, communication andnegotiation and societal culture.Cooperate Culture (CC)In this construct there are eight items, each item is measuredon a Likert scale of 1 to 5 where the response of 1 indicatesStrongly Disagree while response of 5 indicates StronglyAgree to the statement. The descriptive statistics and the interitem correlation values are given in table 1. Principle axisfunctioning has been used in factor analysis.Table 2 : Descriptive Statistics Summery and Inter Correlation for items in CCDescriptive SummeryInter – Item correlationMeanCC1ItemStd. 0.286.302.135.218.513.373.2311.000Based on the mean values in table 2, there seems to agreementin all 4 as somewhat Agree on Cooperate Culture. The highestcorrelation for each item with at least one other item in theconstruct is between 0.3 and 0.9, except for CC7. Hence CC7was dropped and Factor analysis has been conducted again. InKaiser-Meyer-Olkin (KMO) value is 0.668, which isconsidered to be acceptable. Single factors were extractedthat explained 50% of the variance in the four items (which isexactly 50%). The smallest factor loading is 0.5 [19]. Themean of seven was computed and saved as CC to be used infurther Analysis.Team Distribution (TD)In this construct there are eight items, each item is measuredon a Likert scale of 1 to 5 where the response of 1 StronglyDisagree while response of 5 indicates Strongly Agree to thestatement. The descriptive statistics and the inter itemcorrelation values are given in table 2. Principle axisfunctioning has been used in factor analysis.Based on the mean values in table 3, there seems to agreementin all 3 as Neither Disagree nor Agree on Team Distribution.The highest correlation for each item with at least one otheritem in the construct is between 0.3 and 0.9. Hence both itemscorrelate adequately in the construct. In Kaiser-Meyer-Olkin(KMO) value is 0.5, which is considered to be mediocre.Single factors were extracted that explained 49.8% of thevariance in the two items (which is almost 50%). The smallestfactor loading is 0.5 [19]. The mean of two was computed andsaved as TD to be used in further Analysis.Personal Characteristics (PC)In this construct there are six items, each item is measured ona Likert scale of 1 to 5 where the response of 1 indicatesStrongly Disagree while response of 5 indicates StronglyAgree to the statement. The descriptive statistics and the interitem correlation values are given in table 3. Principle axisfunctioning has been used in factor analysis.Table 3 : Descriptive Statistics Summery and InterCorrelation for items in TDDescriptive Summery Inter – Item 1.000.469TD23.051.419.4691.00014

International Journal of Computer Applications (0975 – 8887)Volume 113 – No. 17, March 2015Table 4 : Descriptive Statistics Summery and Inter Correlation for items in PCInter – Item correlationDescriptive SummeryItemMeanStd. 000.724PC64.40.689.605.590.611.792.7241.000Based on the mean values in table 4, there seems to agreementin all 4 as Somewhat Agree on personal characteristics. Thehighest correlation for each item with at least one other itemin the construct is between 0.3 and 0.9. Hence six itemscorrelate adequately in the construct. In Kaiser-Meyer-Olkin(KMO) value is 0.866, which is considered to be good. Singlefactors were extracted that explained 67% of the variance inthe four items (which is more than 50%). The smallest factorloading is 0.68 [19]. The mean of six was computed and savedas PC to be used in further Analysis.Communication and Negotiation (CN)In this construct there are five items, each item is measured ona Likert scale of 1 to 5 where the response of 1 indicatesStrongly Disagree while response of 5 indicates StronglyAgree to the statement. The descriptive statistics and the interitem correlation values are given in table 5. Principle axisfunctioning has been used in factor analysis.Table 5 : Descriptive Statistics Summery and Inter Correlation for items in CNInter – Item correlationDescriptive SummeryItemMeanStd. 1.000.269CN54.05.958.197.346.183.2691.000Based on the mean values in table 4, CN1 and CN5 have amean value above 4 which indicates Somewhat Agree in thelikert scale. In the questionnaire, CN1 was „Our projects havemechanisms that enable personnel to communicate andnegotiate quickly and effectively with developers, operations,support, customers, management, and business areas‟. CN5was „Most people in our projects are amicable to each other tosuch an extent that they communicate with each other withtrust and good will‟. A mean value above 4 indicates themajority agrees with CN1, and CN5. CN3 and Cn4 are havingrelatively low mean values indicating Somewhat Disagree inthe Likert scale. In the questionnaire, CN3 was „In most cases,communication and negotiation in our projects happenbetween people who are physically close to one another‟. CN4was „In most cases, communication and negotiation in ourprojects happen between people who work in the same(similar) time zone as ours‟. Hence majority of therespondents state that they do not communicate with people inthe same physical proximity or same time zone. From therespondents 52% are serving only the foreign clients. Thus itis not possible to communicate in the same physical proximityor same time zone.The highest correlation for each item with at least one otheritem in the construct is between 0.3 and 0.9 except for CN1.Hence CN1 is dropped and analysis is conducted again. InKaiser-Meyer-Olkin (KMO) value is 0.68, which isconsidered to be acceptable. Single factors were extractedthat explained 50% of the variance in the four items (which isexactly 50%). The smallest factor loading is 0.65 [19]. Themean of four was computed and saved as CN to be used infurther Analysis.Socialite CultureIn this construct there are four items, each item is measuredon a Likert scale of 1 to 5 where the response of 1 indicatesStrongly Disagree while response of 5 indicates StronglyAgree to the statement. The descriptive statistics and the interitem correlation values are given in table 6. Principle axis15

International Journal of Computer Applications (0975 – 8887)Volume 113 – No. 17, March 2015functioning has been used in factor analysis.Based on the mean values in table 6, there seems to agreementin all 3 as Neither disagree nor agree. The highest correlationfor each item with at least one other item in the construct isbetween 0.3 and 0.9. Hence all four items correlate adequatelyin the construct. In Kaiser-Meyer-Olkin (KMO) value is0.737, which is considered to be good. Single factors wereextracted that explained 60% of the variance in the two items(which is almost 50%). The smallest factor loading is 0.539[19]. The mean of four was computed and saved as SC to beused in further Analysis.Table 6 : Descriptive Statistics Summery and InterCorrelation for items in 1.953 .000SuccessIn this construct there are five items, each item is measured ona Likert scale of 1 to 5 where the respondents of 1 indicatesStrongly Disagree while response of 5 indicates StronglyAgree to the statement. The descriptive statistics and the interitem correlation values are given in table 7. Principle axisfunctioning has been used in factor analysis.Inter – Item correlationSC1SC1SC4Table 7 : Descriptive Statistics Summery and Inter Correlation for items in SCDescriptiveSummeryItemMeanInter – Item OImeetCustReqmeetChangingC inessProcess4.31.833.473.269.730.7761.000Based on the mean values in table 7, there seems to agre

Agile Methods in Software Development According to the literature, customer plays a very important role in the success of an agile software project. Customer involvement in the project can be categorised as customer collaboration, customer satisfaction and customer commitment. Agile manifesto sees customer collaboration as