An Empirical Study Of Agile Software Development Methodologies: A Sri .

Transcription

International Journal of Computer Applications (0975 – 8887)Volume 84 – No 8, December 2013An Empirical Study of Agile Software DevelopmentMethodologies: A Sri Lankan PerspectiveM.M.M.SafwanThavarajah G.Vijayarajah N.Sri Lanka Institute of InformationTechnologyMetro Campus, Colombo 03,Sri LankaSri Lanka Institute of InformationTechnologyMetro Campus, Colombo 03,Sri LankaSri Lanka Institute of InformationTechnologyMetro Campus, Colombo 03,Sri LankaK. SenduranC.D. ManawaduSri Lanka Institute of Information TechnologyMetro Campus, Colombo 03,Sri LankaSri Lanka Institute of Information TechnologyMetro Campus, Colombo 03,Sri LankaABSTRACTThe challenges with developing software systems led to aswitch from traditional software methodologies like Waterfalltowards the Agile software methodologies. Agilemethodologies are an established process for developingsoftware nowadays and are relatively considered to be quick.These Agile software methodologies have become more andmore popular in recent times, and Scrum in particular hasbeen adopted by many companies. The current literaturesuggests that these Agile methodologies are indeed moreeffective in project management, particularly in dealing withthe complexity of modern software systems and the rapidlychanging business environment. There is, however, lessevidence on their usage among software practitioners in SriLanka. This paper empirically investigates the perceptions ofAgile methodologies usage from software practitioners in SriLanka. The team presents the practices in Agile perceived todeliver the most benefits. The team aim to provide awarenessand knowledge about Agile methodologies to the practitionersin the country. This paper can serve as a reference to the earlyadopters who intend to use Agile methods in the future.General TermsSoftware Development Methodology; Agile MethodologiesKeywordsAgile project management; Software process; Agile methods;Practices; Methodologies.1. INTRODUCTIONThe increasingly critical nature of software projects places agreater demand on project management. It has also beenobserved that the inability to deal with the increasingcomplexity of a software project increases the likelihood ofthe project failing [1]. Based on various studies reported inliterature [1], there are many reasons commonly cited forfailure of software projects. Among these, the following standout.Waterfall approach, and the Spiral method were introduced inorder to deal with the problems that were identified, but thesedid not deal well with issues like the rapid delivery to marketand the frequent changes required during the development andmaintenance cycle.With the recent introduction of Agile project managementmethodologies such as Scrum, proponents argue that theseproblems can be overcome [2], but the author was interestedin studying whether, particularly in the Sri Lankan context, aquantifiable improvement has been made with the transitioninto Agile methodologies. Agile methods provide ways todevelop software which place emphasis on people and theircreativity [3]. Despite the benefits that Agile can deliver, littlework has been published regarding its current usage in SriLanka [4]. If the methods are to be used, there is a need tounderstand how Agile methods are being practiced within thisregion. How is the practice perceived by the practitioners inSri Lanka? What challenges and benefits have theyexperienced when using the methodologies? How theyovercome those challenges? Agile methods are not foreveryone. In one of the sessions for an invited talk at theXP2011 Conference, titled ‘When Agile is not enough’; thespeaker stated: “what works in one culture, will notnecessarily work in other cultures”. The team agrees with thisstatement and intends to investigate the scenario in thecountry. Several studies stated that addressing culturaldifferences is important for the success of softwaredevelopment [5, 6]. One study [5] although the paperdiscussed global software development, it is believed thatsome cultural aspects discussed in the paper can be related tothe usage of Agile methods.1.1 Research QuestionsIn this paper, several questions will be addressed: What do practitioners say about awareness of Agile inthe country? What are the first reason(s) making they started to useAgile methods? Rapid changes in user requirements Lack of user involvement What are the challenges they faced when using Agile? Unrealistic expectations by developers Poor planningDespite the challenges, what are Agile Practicesperceived to deliver the greatest benefits to them? Ambiguous communication of requirementsAs software projects evolved in terms of complexity, so grewthe methodologies for managing them. Methodologies like the1.2 Objectives and Expected ContributionThis paper will describe the perceptions of practitioners in thecountry in terms of awareness, Agile introduction, challenges1

International Journal of Computer Applications (0975 – 8887)Volume 84 – No 8, December 2013they are facing, and the benefits they obtained when using themethods. The challenges of using Agile methods can serve asguidelines for software practitioners in Sri Lanka and thenearby region where only limited studies about this field exist.It is hoped that the findings will help to reduce the difficultiesencountered when they are trying to introduce Agilemethodologies. In addition, this study will help add to theempirical evidence of software engineering knowledge andsoftware processes in terms of Agile methods usage. It ishoped that based on the findings from this study, the usage ofthe methods will increase and at the same time, add to theawareness of the Agile methodologies in the country.Agile methods are established methodology that is believed toproduce faster results when developing software. Nonetheless,Agile is not a silver bullet replacing traditional methods ofsoftware engineering, such as the Waterfall model. However,to get the best out of Agile, it must be adapted to the peopleand organization of the adopters. While Agile became typicalin the development of software in the Western countries (suchas Europe, Australia and Northern America), it is not the casein other regions: Southeast Asia region [4] and countries suchas Sri Lanka. For them, Agile is new and some have neverheard of the method [7].development methods have gained popularity and havebecome increasingly important to a significant number ofsoftware development organizations [13, 14]. In a short time,agile development has attracted huge interest from thesoftware industry. A survey in the USA and Europe revealsthat 14% of companies are using agile methods, and that 49%of the companies that are aware of agile methods areinterested in adopting them [15].The area of Agile softwaredevelopment methodologies has been researched to someextent [16] and has gained a lot of attention mainly because ofits potential to improve customer satisfaction, decrease defectsrates, and shorten development time along with its capabilityto assist rapidly changing requirements [17, 18, 19].Furthermore, with the importance of software industries to thecountry, it is necessary to provide baseline on how to usesoftware processes that can be adapted to frequent change inthe business environment.This paper will present the perception from practitioners in SriLanka on the emergence of Agile methodologies. In thispaper, their awareness will be considered. Challengesassociated with the introduction of Agile methods will bepresented, together with solutions suggested by thepractitioners. The practices perceived to deliver the mostbenefits are also presented. As qualitative study is alwaysconcerned with validity and reliability of the findings, theseissues are discussed before the paper is concluded.This research paper is structured into two sections. Section 2will contain the literature review on this topic and the detailsof the background study that has been conducted. The finalsection will consist of all the references that have been citedin this paper.2. LITERATURE REVIEWAlthough there are some papers about the perception fromadopters of Agile methods, however, these studies weremainly carried out in Western countries such as Canada, theEuropean region and the United States [8-10]. This chapterdescribes how Agile software methodologies have emergedover the years in Sri Lanka.2.1 Agile Software DevelopmentThe use of iterative and incremental software developmenttechniques grew during the latter half of the 1990s [11]. At thesame time, new software development methodologies beganto utilize these techniques, espouse flexible rules of projectbehavior, and focus on human interactions. By early 2001, theword Agile was selected to describe software developmentmethodologies adhering to these joint principles [12]. Theemergence of Agile methodologies, however, can be said tohave begun in the mid- 1990s, when software methodologiesand techniques such as Extreme Programming (XP), Scrum,eXtreme Testing, Crystal Family of Methodologies, DynamicSystems Development Method (DSDM), Adaptive SoftwareDevelopment (ASD), and Feature-Driven Development(FDD) began to emerge. Since then, Agile softwareFig 1: Chow and Cao’s Research Model2.2 AModelforMeasuringEffectiveness of Agile MethodologiestheChow and Cao [20] proposed a model for identifying thecritical success factors for projects that use Agilemethodologies (See Figure 1). They identified the followingas key factors which may affect the success or failure of anAgile software project. Organizational factors, such as management commitmentand organizational environment, People factors, such as team capability and customerinvolvement Process factors, such as the project management processand project definition process Technical factors such as Agile software developmenttechniques and the delivery strategy Project factors such as project nature and project type2

International Journal of Computer Applications (0975 – 8887)Volume 84 – No 8, December 20132.3 The Importance of Software Industriesand Software Process in Sri LankaSoftware industry is acknowledged worldwide to be thefastest growing sector. Throughout the last decade there was atrend for the software industry to move from advanced highwage countries, towards low waged countries in Asia.According to analysts this trend will continue during thecoming decade. During the last decade India made the bestuse of the above scenario and was able increase softwareexports considerably, to achieve annual growth rate of over50%. Though Sri Lanka is lagging far behind, it has thepotential to improve the enabling factors and make softwareindustry the main foreign exchange earner of the countrywithin a relatively short period [21]. Realizing the importantcontribution of the software industry to the economic growthand how it can help the community, Sri Lanka has startedfocusing on it. This is important in order to transform thecountry into a developed and technological country.In order to have smooth operation of software developmentand successful deployment of the industry in ICT, the needsof software processes are considered to be critical. Theproblems found from one study [22] show that Sri Lanka isstill lacking the usage of software processes. Besides, theproblems in terms of delivering quality products have alsobeen identified [21]. In addition, recent investigation hasdiscovered that companies in Sri Lanka do not have a clearmethodology that shows how the requirements can beobtained [21].The need for a good software process is important as it canhelp practitioners define their requirements. These problemshave motivated us to introduce Agile methods in the country.As Agile emphasis on collaboration with customers andhaving works iteratively and incrementally, it will help toreduce some of the associated problems [21]. It is expectedthat the problems can be minimized with the application of themethods. To the best of the team member’s knowledge andbased on a review of literature, the team found very littleinformation and published studies about Agile methods usedin Sri Lanka.3. METHODOLOGYThis section provides the road map to achieve the researchobjectives. The section presents the research design bydescribing the research approach, target population, samplesize, sampling technique, data collection and data analysismethods.Moreover, the systematic review also included qualitative andquantitative research studies, published up to and including2013. Only studies written in English were included. Thesearch strategy included electronic databases and handsearches of conference proceedings. The following electronicdatabases were searched: ACM Digital Library IEEE Xplore ISI Web of ScienceIn addition, the team searched many volumes of thefollowing conference proceedings for research papers: Agile Universe Agile Development Conference3.1 Study DesignQuestions in this interview were developed from the findingsobtained in the baseline study [7]. The issues identified in thebaseline study have been the basic references andconsequently created hypotheses investigating the perceptionof software practitioners when using Agile methods. This is asemi-structure interview and therefore the questions areadapted to the answers given by the participants. Theinterviews mainly focus on capturing the project specificdemographics. These demographics include time and the costfactors. The semi structured interviews facilitated the researchto gather answers not only for set of pre-defined questions,but also for some important hidden information. Then apreliminary questionnaire was designed to obtain relevantinformation for the research.3.2 ParticipantsSince this is a qualitative study, the participants are purposelychosen rather than at random. The suggestion behind thequalitative study is to purposefully select participants. Theparticipants chosen are based on the following criteria;software practitioners including developers, testers, systemanalyst, business analyst and project managers involved inAgile project. Taking benefits from their positions isconsistent with the objective of the study. The benefit of thispurposive sampling is to allow the researcher understandingthe scenario from the right participants. The team conductedinterviews with a software architect to collect in depth and indetailed information.3.3 Data CollectionTwo methods were employed, initially conducting semistructured interviews from each company and later collectingthe team’s perception via an online survey.It was identified that the major software developmentcompanies in the island and considered the IT companiesproviding software development services.This facilitated the involvement of many team members,allowing the comparison of their opinions. At the same time,through these of open-ended questions, it permittedmaintaining a qualitative view on the project environment,without having to conduct interviews with every single teammember.E-mails were sent to these companies inquiring their ability toprovide information for the above research. Out of them onlytwo companies agreed to provide data – Zone24x7 and SriLankan Airlines IT Department. The data were collected fromtwo software organizations in Sri Lanka, between August andSeptember 2013, involving 61 software practitioners. Thepurpose and implications of the research were explained to theparticipant before the interview was started. At the same time,prior consent was sought from the participant by providingform to be signed. This study has been granted an ethicalapproval under Sri Lanka Institute of InformationTechnology. The interviews were recorded using a voicerecorder. Hand written notes were also taken while theinterviews were recorded. This is important for reference andcan be compared with the recorded data later on in theIn this study, the team conducted a qualitative semi structuredinterview to understand the perception of new adopters in SriLanka. As software development deals with human factors, aqualitative study therefore helps in understanding therespondents’ behavior, and to identify the unknown and neverexplored scenarios [22]. Unlike the quantitative approach, aqualitative study will help to describe what is actuallyhappening when Agile methods was implemented [23].3

International Journal of Computer Applications (0975 – 8887)Volume 84 – No 8, December 2013analysis stages. As already mentioned above, the researchcollected data not only through interviews, but also byproviding questionnaires to QA leads, Developers andTesters. The questionnaires were distributed mainly via emails and helped the research to obtain information from alarge number of personnel.3.4 Data AnalysisThe data were transcribed and they were compared with thenotes that were taken during the interview. It was ensured thatonly the relevant data were transcribed. The results wereentered into spread sheet and the calculations were done. Datawere presented using pie charts and bar charts with the help ofMicrosoft Excel. Results were categorized as follows: The percentage of respondents classified according totheir roles. The percentage of respondents who adopt Agilemethodologies in software development process. The percentages of different Agile methods used by therespondents. The percentage of reasons for using Agile methods. The percentage of different problems faced. The percentage of different benefits obtained. The percentage of respondents who thinks AgileMethodologies are important and vice versa. The percentage of reasons for considering AgileMethodologies as important and vice versa.Fig 2: Proportion of respondents in terms of theirroles4.2 AgileStatisticsMethodologiesPractitionerThe percentage of areas where Agile methods are expected toplay an important role.4. RESULTS AND DISCUSSIONThis section of the research paper will describe the researchoutcomes based on gathered information. Information wasgathered using interviews and questionnaires. A total of 61responses were received including the interview.The information received from questionnaire responses werestudied, analyzed and represented in graphical format asfollows:4.1 Sample Categorized by RolesAs shown in Fig 2 out of 60 respondents 45% are qualityassurance managers, 25% are software developers, 8% areproject managers and system architects. It can be depicted that92% of the respondents are surely involved in softwaredevelopment processes.The balance 8% maybe or may not be involved in softwaredevelopment processes but definitely related to IT andsoftware.Fig 3: Proportion of respondents based on usage of agilemethodologiesAs displayed in Fig 3 68% of the respondents are currentlyusing and involved with Agile methodologies in theirdeveloping process. These shows that almost ¾ of thepopulation are adopting Agile methodologies as a workingpractice. However 32% has responded that Agilemethodologies is not being used in their development processwhich means that there is more than ¼ of the populationwhich has to be motivated to adopt Agile methodologies byhighlighting its importance and significance.41 out of 60 which are 68% of the respondents were usingAgile methodologies and therefore classified as Agilemethodology practitioners. These practitioners were furtherstudied by analysing the different reasons which made themadopt Agile methods. It was found that “To keep up with thechanging environments” was leading the way at 55% followedby “Motivated by its benefits” at 28%.“Enforced by the superiors” was the least used at 18%. Fig 4shows the different reasons for adopting Agile methods.4

International Journal of Computer Applications (0975 – 8887)Volume 84 – No 8, December 2013Fig 4: Proportion of different reason to adopt agilemethodologiesFig 7: Proportion of different types of benefits obtained byrespondentsThe study shows that positive reasons for adoption of Agilemethodologies are mainly due to improvement in customersatisfaction which is at 38% according to Fig 7. The othermajor reasons are clearly represented in the chart above. The“Shortened development time” is the lowest at 18%.4.4 Factors Negatively Affecting the Usageof Agile MethodologiesFig 5: Proportion of different types of agile methodologiesused by agile method practitionersThe practitioners were further studied by analysing thedifferent types of Agile methods that they use. It was foundthat “Scrum” was leading the way at 47% followed by “XP”at 26% and “DSDM” at 7%. “Crystal family ofmethodologies” was the least used at 1%. However the resultsseem to be fragmented and Fig 5 shows that Scrum and XPbeing the most used Agile methods.4.3 Challenges and Benefits Involved inAgile MethodologiesFig 6: Proportion of different types of challenges faced byrespondentsAccording to Fig 6 the main issues faced in the adoption ofAgile methodologies out of 68% of the respondents are“Costly”, “Insufficient team support” and “Repetition ofwork” at 45%, 30%, 12% respectively. It can be depictedfrom this result that more importance should be given to costmanagement and team building activities.Fig 8: Proportion of negative factors contributing to nonagile method practitionersThe reasons for not using Agile methodologies in thedevelopment process were studied and therefore theremaining 19 out of 60 which are 32% of the respondentswere classified as non-practitioners. 68% of the nonpractitioners stated that they had no idea of Agilemethodologies. This shows that majority of the population areunaware of Agile methodologies concept and its use. 11% ofthe non-practitioners believed that Agile methodologies is ofless importance in the software development project and thebenefits obtained by using them doesn’t make any differencein the process. This shows that the benefits of using Agilemethodologies have not been clearly absorbed by thepopulation. 21% of the reasons indicated in Fig 8 shows thatAgile methodologies has not been adopted as a traditionalworking practice in the organizations like Software Houses.They have been neglected and thus the importance of Agilemethodologies and its positive outcomes are over seen. Allthese factors increase the need of highlighting the importanceand benefits of Agile methodologies in a softwaredevelopment project and this research paper exactly does that.4.5 Non-Practitioners Perception of AgileMethodologiesAs depicted in Fig 9 out of 19negative respondents 53% havestated that Agile methodologies is important and useful in thesoftware development process and 47% have opposed it.5

International Journal of Computer Applications (0975 – 8887)Volume 84 – No 8, December 2013Plan drivenAgile basedTimeFig 9: Proportion of respondents based on importance ofagile methodologiesFig 11: Visibility vs Time36% of the non-practitioners who perceive Agile methods asimportant say that they are useful and provides guidance incoding area whereas both analysis and design manipulates upto 17%. Testing seems to be the lowest affected area at 13%according to Fig 10.TimeFig 12: Business Value vs TimeFig 10: Proportion of different areas where agile methodsare perceived to be importantThe team managed to interview Mrs. Thushari, SoftwareArchitect, IT Systems, Sri Lankan Airlines, Katunayake. Theinformation that was extracted from the interview is describedbelow: Agile defines the software architecture. It helps people inplanning. It allows them to learn from small releases andthey are able to adjust from market’s feedback. Explain about the Agile process?Agile also follows the software development life cyclelike requirement gathering, analysis, design, coding andtesting but delivers a small release and waits forcustomer’s feedback. In the whole process satisfaction isthe highest priority with faster development. Are there any particular tools available which cansupport Agile planning?Yes there are tools like Rally Software, Version One andXPlanner. TimeWhy do you think adopting an Agile method is useful?Are there any disadvantages or challenges in Agile?Yes there are few like inadequate test coverage, codebroken accidentally due to frequent builds, earlydetection of defects, inadequate API testing andperformance bottlenecks.After the interview the team was able to come up with an ideaof how plan driven project and agile based project differs asshown in Fig 11, 12 and 13 below:Fig 13: Risk vs Time5. CONCLUSIONIn this paper, the perceptions have been identified from theirawareness, the way they introduced the method and thechallenges they are facing. The lessons learnt aboutperceptions are important to serve as guidelines for theadoption of Agile methods in the country.This study indicates a low perception from Agile userstowards the methodologies and that there is difficulty ofgetting everyone in the team to take responsibilities. Thefindings also show that people need to be confident whentrying to use Agile methods. This is so as they need to seesomething working and proven success stories from the Agileusers. From this study, the challenges are mostly found fromthe organizations having hierarchical approach. Here themanagement is expected to set the datelines and control theprocess, therefore Agile is hard to be accepted. It was foundthat the challenges from lack of documentation, organizationalaspect, involvement, knowledge and culture are all based in orrelated to people factor where the mindset change is needed toovercome those challenges.However, recent Google Trend Research show increasinginterest of software development companies towards Agilebased software development (See Figure 14).This study adds evidence to the knowledge of softwareengineering and software process; at the same time it providesknowledge and reference about Agile methods to the countryand the nearby region.6

International Journal of Computer Applications (0975 – 8887)Volume 84 – No 8, December 05), Cairo, EGYPT, 2005, pp. 75-87.[10] K. Mannaro, M. Melis, and M. Marchesi, "Empiricalanalysis on the satisfaction of IT employees comparingXP practices with other software developmentmethodologies," in 5th International Conference ExtremeProgramming and Agile Processes in SoftwareEngineering, Garmisch-Partenkirchen, GERMANY,2004, pp. 166-17Fig 14: Interest over Time6. ACKNOWLEDGMENTSWe would like to express our sincere sense of gratitude to ourinstitution - Sri Lanka Institute of Information Technology(SLIIT). We are deeply indebted to our supervisor Mr. DilhanManawadu, whose help, stimulating suggestions, knowledge,experience and encouragement helped us in all the times ofstudy and analysis of the project in the pre and post researchperiod. We are also grateful to him since his lectures onSoftware Quality Assurance helped us to a great extent in theresearch. Very special thanks to the lecture panel, colleaguesof SLIIT, Mrs. Thushari of Sri Lankan Airlines an Zone24x7.7. REFERENCES[1] R. N. Charette, "Why software fails [software failure],"Spectrum, IEEE, vol. 42, no. 9, pp. 42-49, /10.1109/MSPEC.2005.1502528[2] A. Begel and N. Nagappan, "Usage and Perceptions ofAgile software development in an Industrial Context: AnExploratory Study", in Empirical Software Engineeringand Measurement, 2007. ESEM 2007. First InternationalSymposium on, 2007, pp. 255-264.[3] A. Cockburn and J. Highsmith, "Agile softwaredevelopment: The people factor," Computer, vol. 34,pp.131-133, Nov 2001.[4] R. Sison, S. Jarzabek, O. S. Hock, W. Rivepiboon, andN.N. Hai, "Software practices in five ASEAN countries:an exploratory study," in Proceedings of the28thinternational conference on Software engineeringShanghai, China: ACM, 2006.[5] V. Casey, "Leveraging or Exploiting CulturalDifference?," IEEE Computer Society, 2009, pp. 8-17.[6] M. Phongpaibul and B. Boehm, "Improving qualitythrough software process improvement in Thailand:initial analysis." vol. 30: ACM, 2005, pp. 1-6.[7] A. L. Asnawi, A. M. Gravell, and G. B. Wills,"Empirical Investigation on Agile Methods Usage: IssuesIdentified from Early Adopters in Malaysia," in AgileProcesses in Software Engineering and ExtremeProgramming, 2011,pp. 192-207.[8] G. Melnik and F. Maurer, "Perceptions of agile practices:a student survey," in Extreme Programming and AgileMethods - XP/Agile Universe 2002. Second XP Universeand First Agile Universe Conference. Proceedings,Chicago, IL, USA, 2002, pp. 241-250.[9] B. Bahli and E. S. AbouZeid, "The role of knowledgecreation in adopting extreme programming model: Anempirical study," in ITI 3rd International Conference onIJCATM : www.ijcaonline.org[11] C. Larman and V. R. Basili, “Iterative and Incrementaldevelopment: A Brief History”, Computer, vol 36, no. 6,pp. 47-56, June 2003.[12] A. Cockburn, “Agile software development: TheCooperative Game. Agile development Series”.Cockburn, A. and Highsmith, J., eds, 2nd ed., Boston:Addison-Wesley 2007.[13] A. Marchenko and P. Abrahamsson, "Scrum in a multiproject environment: An ethnographically-inspired casestudy on the adoption challenges," in Agile, 2008.AGILE '08. Conference, August 2008, pp. /Agile.2008.77[14] B. Boehm, "Get Ready for Agile Methods, with Care,"IEEE Computer, pp. 64- 69, January, 2002.[15] North American and European Enterprise Software andServices Survey, Business Technographics Ed., 2005.[16] T. Dybå and T. Dingsøyr, "Empirical Studies of Agilesoftware development: A Systematic 10.1016/j.infsof.2008.01.006[17] B. Boehm and R. Turner. (2004) “Balancing agility anddiscipline: Evaluating and integrating agile and plandriven methods”, Proceedings of the 26thInternationalConference on Software Engineering, 718-719.61[18] M. Lindvall, D. Muthig, A. Dagnino, C. Wallin, M.Stupperich, D. Kiefer, J.May, and T. Kahkonen, "Agilesoftware development in Large Organizations",Computer, vol. 37, pp. 26-34, 2004.[19]

describes how Agile software methodologies have emerged over the years in Sri Lanka. 2.1 Agile Software Development The use of iterative and incremental software development techniques grew during the latter half of the 1990s [11]. At the same time, new software development methodologies began