04147390

Embed Size (px)

Citation preview

  • 7/31/2019 04147390

    1/5

    Factors that Impact Implementing an Agile Software Development Methodology

    Jeffrey A. LivermoreWalsh College

    [email protected]

    Abstract

    The Internet economy has altered the rules ofsoftware engineering. Traditional developmentmethodologies are too cumbersome to meet the rapidlychanging requirements and short product cyclesdemanded by business. To meet these changingrequirements, software developers have developed agilesoftware development methodologies (SDMs) utilizingiterative development, prototyping, and templates.

    This research project investigated agile SDMimplementation using an online survey sent topractitioners worldwide. This survey data were used toidentify factors related to agile SDM implementation.

    Factors that included training, managementinvolvement, access to external resources, and corporatesize were found to impact implementation of an agilesoftware development methodology. Factors such as usingmodels, having an implementation plan, collocating thedevelopment team, and developing software for Internetor intranet use did not impact the implementation of anagile software development methodology.

    Several of the factors that impact the implementation ofan agile development methodology are under the controlof management. Organizations considering theimplementation of an agile methodology may wish tomanipulate some of these factors to increase theopportunities for success of their methodology.

    KeywordsAgile software development, Extreme Programming, XP,Scrum, FDD, Crystal Methods, agile methodologyimplementation

    1. IntroductionThe growth of the Internet and the digital economy

    have altered software engineering. Traditional softwaredevelopment methodologies (SDMs) are being replaced

    by light or agile SDMs. Agile SDMs are characterized byiterative development, continuous code integration, andthe ability to handle changing business requirements [1].

    Extreme Programming (XP) is the most popular agilemethodology. XP is based on a series of concepts thatinclude: having the business customer on-site, pairprogramming, collective code ownership, continuous codeintegration, small releases, designing tests before writing

    code, standup meetings, refactoring, and 40-hour workweeks [2].

    Other popular agile methodologies are Scrum, CrystalMethods, and Feature Driven Development (FDD). All ofthese methodologies function differently from traditionalSDMs and help organizations meet the challenges of thedigital economy [1].

    2. Agile Software Development

    MethodologiesAgile methodologies are used to produce higher

    quality software in a shorter period of time. Agile

    methodologies were developed to streamline thedevelopment process and remove barriers to acceptingbusiness requirement changes during the developmentprocess. Agile methodologies do not require that businessrequirements and design details be locked in for theduration of development [3]. Agile SDMs share severalfeatures including prototyping, iterative development, andminimal documentation [4].

    2.1. Extreme Programming (XP)Extreme Programming was developed at Chrysler by

    Kent Beck while working on a payroll project. After theproject was completed, Beck continued to refine the XP

    methodology until it gained worldwide acceptance in 2000and 2001 [5]. XP can improve programming qualitywhile shortening delivery schedules.

    XP is based on a series of concepts and practicesincluding having the customer collocated with thedevelopment team, pair programming, collective codeownership, and the use of metaphors to describe businesssituations [1]. Other XP principles include: designingtests before developing code, maintaining an openworkspace, refactoring code, and limiting work to 40hours a week.

    XP contains practices that are new to many developers.Pair programming, open workspaces, and the 40 hour

    workweek may lead to resistance from developers andmanagement [6].

    2.2. ScrumThe Scrum methodology was also designed to handle

    rapidly changing business requirements. Themethodologys name is derived from a strategy used in thesport of Rugby. In a Rugby scrum, the ball is passed back

    1-4244-1029-0/07/$25.00 2007 IEEE. 82

  • 7/31/2019 04147390

    2/5

    and forth between team members to move the ballforward. The Scrum methodology moves a projectforward by improving communication between teammembers and breaking the work into a series of sprintsthat last thirty days or less [Schatz]. Scrum focuses moreon management of the development process than codingtechniques [8].

    Scrum is a methodology that can be used on small and

    large projects. Individual teams can use the Scrumtechniques on their projects while large projects can bebroken into subprojects and a Scrum team assigned toeach subproject. The communication and prioritymanagement between the subproject teams can bemanaged with Scrum techniques.

    2.3. Crystal MethodsCrystal Methods is an agile SDM based on the premise

    that people affect software development more than toolsor processes [5]. Crystal Methods is a toolkit ofmethodology elements that organizations combine intomethodologies to suit individual projects. Large or safety

    critical projects require more methodology elements thansmall non-critical projects. With Crystal Methods,organizations only develop and use as much methodologyas their business needs demand.

    2.4 Feature Driven DevelopmentFDD was developed for a bank project in Singapore

    [9]. The banks development project required an iterativedevelopment process that was both easy to use andprovided accurate progress reporting. FDD wasdeveloped by Coad and DeLuca to meet these needs.

    FDD is a five step process that does not requireextensive training to use [9]. The first three steps are:

    develop an overall model of the desired application,develop a list of desired features, and prioritize the list offeatures into an implementation plan. The fourth and fifthsteps are where the develop iteration occurs. As eachfeature is developed and released, the feature list isreprioritized to keep the development team constantlyworking on the highest priority features with the mostvalue to the business.

    2.5 Traditional methodologiesTraditional methodologies such as SDM-70 or

    Method-1 were developed before technologies such as theInternet, XML, or ubiquitous computing were in

    existence. Traditional methodologies were innovative andeffective in the context of existing technologies andbusiness requirements. Traditional methodologies requireextensive documentation, locking in businessrequirements, and require changes to existing softwareproducts and documentation produced prior torequirement changes [2].

    The factors that impact implementing a traditionalSDM were researched by Roberts et al. in 1998 [10]. TheRoberts study found that having an organizationaltransition plan for a new SDM, management involvement,management commitment, the use of models, and accessto external resources all impacted the implementation oftraditional SDMs. Their study became a seminal workthat served as the inspiration for this research project.

    2.6 Hypothesis reviewThe research survey instrument was designed to collect

    data that would answer questions surrounding eighthypotheses. The first five hypotheses were drawn fromRoberts study on traditional methodology implementationwith the remaining three hypotheses drawn from aliterature review. The eight research hypotheses are;H1: Training on the use of the agile SDM will have asignificant impact on the agile SDM implementation.H2: Management support and involvement will have asignificant impact on agile SDM implementation.H3: Having a compete implementation strategy will

    significantly impact implementing an agile SDM.H4: Selecting an agile SDM that utilizes models willsignificantly impact the implementation of that agileSDM.H5: Access to external resources such as off-site trainingsessions, journals, consultants, books and online resourceswill have a significant impact on agile methodologyimplementation.H6: Developing software for Internet or intranetapplication will have a significant impact on agilemethodology implementation.H7: Company or software development team size willhave a significant impact on agile SDM implementation .

    H8: Collocating the development team will have asignificant impact on agile methodology implementation.

    3. Research MethodologyAn online survey instrument was developed to collect

    information on agile SDM implementations. Thequestions in the survey came from the research hypothesesdrawn from the Roberts et al. study and the literaturereview. The survey instrument was first reviewed by apanel of peers for readability and then by a panel of agileSDM experts for content. The survey was online for sixweeks.

    Obtaining relevant response information required

    identifying a population of software developers with SDMexperience. This population selected was the SoftwareEngineering Institutes Software Process ImprovementNetwork (SPIN). The network consists of local chaptersof individuals who are dedicated to improving theprocesses used to develop software [11]. An invitation tocomplete this research survey with a hyperlink to thesurvey was sent to the presidents of all domestic and

    83

  • 7/31/2019 04147390

    3/5

    international SPIN chapters, a small number of similarorganizations, and authors who had published articles onagile SDM implementation. The presidents were asked toforward the invitation to their members.

    4. ResultsA total of 112 responses was received. Incorrect e-

    mail addresses led to 23 rejections. Six SPIN chapter

    presidents agreed to forward survey invitations to acombined membership of 1,803 software professionals.Survey invitations were sent to 143 authors with publishedarticles on SDM usage. In sum, 112 survey responseswere received from the 1,946 survey invitations for asurvey return rate of 5.76%. No incentives were offeredto complete and submit the 66 question survey instrument.

    This survey research had a small response rate of5.76%. This low response rate limits the applicability ofthe results to the larger population. Additional researchshould be conducted with a shorter survey instrument andpossibly incentives to increase the response rate.

    Agile methodology users provided 71 of the responses,

    with 26 of those responses from organizations thatactively use XP. It was important to receive responsesfrom agile methodology users and traditional or non-methodology users to determine the effectiveness andbenefits received from implementing agile methodologies.Scrum was implemented at eight organizations, FeatureDriven Development (FDD) at four, Dynamic SystemDevelopment Methodology (DSDM) at three, AdaptiveSoftware Development (ASD) at one, and 34organizations developed their own agile SDM. Ten ofthese homegrown methodologies were built on an XPfoundation.

    4.1. DemographicsThe individuals responding to the survey had an

    average of 14.02 years of professional experience. Therespondents came from a variety of industries withpreponderance in IT and consulting. Table 1 lists theindustry affiliations of the respondents.

    4.2 TrainingThe survey results demonstrated that there is a

    significant correlation between successful methodologyimplementation and receiving training on themethodology. A correlation between two variables is astatistical measurement of their tendency to increase or

    decrease together. The correlation is significant if itunlikely to have occurred by chance. Organizations thatprovided methodology training were more likely to have asuccessful implementation of that methodology. This is acommon sense result that was predicted in the literaturesearch. Training in a methodology enables anorganization to develop expertise and be better prepared toimplement the methodology.

    Table 1. Industry demographics

    Industry Agile Non-Agile

    No SDM

    Consulting 11 1 1Education 2 0 1Government 2 1 1IT 23 0 9

    Financial 9 1 4Manufacturing 2 0 1Retail 2 0 1Telecommunications 1 1 3Transportation 1 0 0Utility 0 0 1Other 11 1 3No Answer 7 1 10Total 71 6 35

    4.3 Management Support and Involvement

    There was a significant correlation betweenimplementation success and management support andinvolvement. This positive correlation was predicted inthe literature and is intuitively obvious. Managementinvolvement and support should improve the success ofalmost any business project.

    4.4 Methodology Implementation StrategiesThere was no significant correlation between having a

    complete implementation plan and the successfulimplementation of an agile SDM. This may be explainedby the very nature of agile methodologies. One of thesurvey respondents explained the oxymoron nature ofhaving a complete plan to implement an agilemethodology, having a complete and workable inadvance is contrary to the spirit of XP. We started with arough idea of what we needed and improved it everyweek.

    4.5 The Use of Models and TemplatesThere was no significant correlation between

    implementation success and the use of models ortemplates. This correlation existed for traditionalmethodologies but did not exist with agile methodologies.Agile methodologies do not rely heavily ondocumentation templates the way that traditionalmethodologies do.

    4.6 Access to External ResourcesThere was a significant positive relationship between

    access to external resources and the successfulimplementation of an agile SDM. The survey instrumentcollected data on external resources such as books,journals, consultants, and attendance at methodology usergroups.

    84

  • 7/31/2019 04147390

    4/5

    This is a common sense result that was predicted bythe literature search. Allocating resources to almostproject will increase the likelihood that the project will besuccessful. Allocating funds to provide consultants,books, and journals will increase the development teamsknowledge about the methodology and how to exploit themethodology to bring benefits to the organization.

    4.7 Internet/Intranet Software DevelopmentThere was not a significant correlation between

    traditional software development and developing softwarefor Internet or intranet-based applications. This result wasnot expected as Internet and intranet applications requireshort development schedules and often have frequentchanges to their business requirements [12].

    4.8 Company and Team SizeThere was not a significant correlation between

    implementation success and the size of the developmentgroup. This result was not expected as numerousresearchers have stated that agile methodologies do not

    work effectively with large development teams [1].There was a significant negative correlation between

    implementation success and the size of the corporationattempting to implement an agile methodology. Largercorporations have more corporate inertia and find it moredifficult to implement change than smaller organizations.

    4.9 Development Team CollocationThere was no significant correlation between

    implementing an agile SDM and development collocation.The majority of agile and non-agile development teamsare collocated. Collocation provides benefits to all typesof development teams and the survey results document

    that collocation is a standard industry practice regardlessof the SDM utilized.

    4.10 Summary of Statistical ResultsAll of the statistical tests were conducted using SPSSstatistical software. The correlations, number of responsesused in each test, and the significance of the correlationare all listed in Table 2.

    5.0 ConclusionsThere are several factors under managements control

    that impact the implementation of an agile SDM.

    Training, management involvement and support, accessto external resources, and company size all significantlyimpact the implementation of an agile SDM. Having acomplete implementation strategy, the use of models andtemplates, developing software for Internet or intranet use,and development team collocation did not significantlyimpact successful implementation.

    Table 2: Hypothesis testing results

    Research

    hypothesis

    Pearson

    correlation

    Significance Number of

    responses

    .183 .068 71/68One

    .240 .032 80/102

    Two .229 .073 62/68.224 .083 61/68Three

    .127 .232 91/102-.180 .173 59/68Four

    .015 .894 85/102

    .319 .008 68/68Five

    .228 .033 88/102

    .103 .422 63/68Six

    .122 .260 87/102

    .041 .375 62/68

    -.117 .183 62/68-.173 .049 93/102

    Seven

    .167 .055 93/102

    .170 .188 62/68Eight

    .053 .614 94/102

    6.0 RecommendationsOrganizations that are considering implementing an

    agile SDM control factors that can impact how successfulthat implementation may be. Organizations shouldconsider allocating the resources necessary to help makethe cultural change to agile. Resources should be spent ontraining, journals, and user group memberships to preparethe staff to use the agile SDM.

    Organizations should also evaluate the different agile

    methodologies to determine which methodology is thebest fit for their organization. Different methodologiesrequire different changes to the management and softwaredevelopment cultures. Selecting the methodology thatbrings the most benefits to any particular organizationwhile requiring the fewest major cultural changes willgreatly impact the implementation.

    7.0 References[1] Boehm, B. & Turner, R. Management challenges toimplement agile processes in traditional developmentorganizations.IEEE Software. 22(5), 30-40. 2005.

    [2] Theunissen, W., Boake, A., & Kourie, D. In search of thesweet spot: Agile open collaborative corporate softwaredevelopment.Proceedings of the 2005 Annual ResearchConference of the South African Institute of Computer Scientistsand information Technologists on IT Research in DevelopingCountries. White River, South Africa. 268-277.[3] Lindstrom, L. & Jeffries, R. Extreme programming and agilesoftware development methodologies.Information SystemsManagement. 21(13), 41-53. 2005.

    85

  • 7/31/2019 04147390

    5/5

    [4] Holmstrom, H., Fitzgerald, B., Agerfalk, P., & Conchuir, E.Agile practices reduce distance in global software development.Information Systems Development. 23(3), 7-18. 2006.[5] Highsmith, J.Agile Software Development Ecosystems.Addison-Wesley, Boston, MA, 2002.

    [6] Jenkins] Jenkins, S.B. Musings of an Old schoolprogrammer. Communications of the ACM. 49(5), 124-126.2006.[7] Schatz, B. & Abdelshafi, I. Primavera gets agile: A

    successful transition to agile development.IEEE Software.22(3). 2005[8] Mann, C. & Maurer, F. A case study on the impact of scrumon overtime and customer satisfaction.Proceedings of the Agile

    development Conference (ADC05). Denver, CO. 70-79. 2005.[9] Palmer, S. & Felsing, J.A practical guide to feature-drivendevelopment. Prentice Hall. Upper Saddle Hill River, NJ. 2002.[10] Roberts, T., Gibson, M., Fields, K., and Rainer, R. FactorsThat Impact Implementing a System Development Methodology.IEEE Transactions on Software Engineering. 24(8), 640-649.1998[11] Software and Systems Process Improvement Networks.

    http://www.sei.cmu.edu/collaborating/spins/[12] Williams, L. Extreme agility. Web Techniques, 7(1), 56.

    2002

    86