• No results found

Emerging themes in agile software development: Introduction to the special section on continuous value delivery

N/A
N/A
Protected

Academic year: 2022

Share "Emerging themes in agile software development: Introduction to the special section on continuous value delivery"

Copied!
5
0
0

Laster.... (Se fulltekst nå)

Fulltekst

(1)

ContentslistsavailableatScienceDirect

Information and Software Technology

journalhomepage:www.elsevier.com/locate/infsof

Emerging themes in agile software development: Introduction to the special section on continuous value delivery

Torgeir Dingsøyr

a,b,

, Casper Lassenius

c

aSINTEF, Trondheim, Norway

bDepartment of Computer and Information Science, Norwegian University of Science and Technology, Trondheim, Norway

cDepartment of Computer Science and Engineering, Aalto University, Helsinki, Finland

a rt i c l e i nf o

Article history:

Received 19 April 2016 Revised 26 April 2016 Accepted 27 April 2016 Available online 10 May 2016 Keywords:

Agile software development Software process improvement Value-based software engineering Requirements engineering Continuous deployment Lean startup

Scrum

Extreme programming

a b s t ra c t

Therelationshipbetweencustomersand suppliers remainsachallenge inagilesoftwaredevelopment.

Twotrendsseektoimprovethisrelationship,theincreasedfocusonvalueandthemovetowardscon- tinuousdeployment. Inthisspecialsection oncontinuous valuedelivery,wedescribetheseemerging researchthemesandshowtheincreasinginterestinthesetopicsovertime.Further,wediscussimplica- tionsforfutureresearch.

© 2016TheAuthors.PublishedbyElsevierB.V.

ThisisanopenaccessarticleundertheCCBY-NC-NDlicense (http://creativecommons.org/licenses/by-nc-nd/4.0/).

1. Introduction

Since the inception of agile developmentmethods in the late 1990s, there have been a stream of topics of interest amongst practitionersandtheresearch community.Earlyresearch onagile developmentfocused on extremeprogramming practices such as test-firstdevelopment[1,2]andpairprogramming[3,4],onwhole methodssuchasextremeprogramming[5],Scrum andLeansoft- waredevelopment.We haveseenan increaseinstudyqualityaf- teranumberofspecialissuesandspecialsectionsonagiledevel- opment,a larger number of studies publishedin journals, anda largeramountofstudiesconnectingempiricalfindings totheories thataretakenfrommorematureresearchfields[6].

In this special section, we focus in particular on two recent trendsinresearch onagilesoftware development:First, thetran- sitionfromafocusonagilemethodsonteamlevelwithemphasis on team performance (illustrated by the focus on pair program- mingandtest firstdevelopment),toa broaderorganizationalun- derstandingwhere more focus is put on value of the developed product. Second, the transition from iterative development with initialrecommendationson30dayiterationsinScrumtocontinu-

Corresponding author at: SINTEF, Trondheim, Norway.

E-mail address: torgeird@sintef.no , xp2015specialissue@gmail.com (T. Dingsøyr).

ousdeploymentofnewfeatures.Wedescribethesetwo trendsas afocusoncontinuousvaluedelivery.Thisisachallengingtopic.In oneofthefewreliablescientificsurveyswehaveonusageofagile methods[7],manyrespondentsindicatethatcustomer/supplierre- lationshipsisaoneofthemainchallenges,yetmanyseeimproved customerunderstandingasaneffectofadoptingagiledevelopment methods.Furthermore,manyreportusingiterationsandpractices suchascontinuousintegration,whichisaprerequisiteforcontin- uous delivery.The top reasons foradoptingagile methods are to increase productivity,increase product andservicequality andto reducedevelopmentcycletimesandtime-to-market.

But is thereanything new inthe search forcontinuous value delivery? In Beck‘s first book on extreme programming [8], he states that we “need to make our software economically more valuable by spending moneymore slowly, earning revenue more quickly and increasing the probably productive lifespan of our project” (page11),andthepracticeofcontinuousintegrationwas suggested already then. Also, some have claimed that even the practices in extreme programming is “old wine in new bottles”

andhavebeenestablishedpracticesfora longtime [9].Weargue that the ideas ofcontinuous value delivery are old, but that the possibilitieshaveincreasedwith maturingtechnology. Further,as wewill see,theideashavedevelopedsincetheinitiationofagile methods.

http://dx.doi.org/10.1016/j.infsof.2016.04.018

0950-5849/© 2016 The Authors. Published by Elsevier B.V. This is an open access article under the CC BY-NC-ND license ( http://creativecommons.org/licenses/by-nc-nd/4.0/ ).

(2)

Inthe following,weintroduce threearticles,whichhavebeen extendedandrevisedforthisspecialsection.Thearticlesarecho- sen from the XP2015 conference [10]. Finally, we highlight what we seeasmainimplications forresearch onagilesoftwaredevel- opmentgiventhesetrends.

2. Whatisvalue?

Many of the recent improvementtrends that have influenced software development practice have a focus on business value.

The agile manifestofocusesoncustomer collaboration andwork- ingsoftware,andaprinciplebehindthemanifestoistosatisfythe customer through early delivery. Lean production puts emphasis onvaluethroughreducingcosts[11],througheliminating“waste”, wherewastecanbewaitingtimeorlargeinventories(see[12]for a complete list). Proponents of lean production claim that waste canbereducedbyapplyingtechniquessuchasvaluestreammap- pingorjustintimeproduction.Therecenttrendofleanstart-ups [13] takesa similarposition onvalue, making the argumentthat wastecanbereducedthroughearlylearningaboutcustomervalue.

Theimprovementtrendsarenotveryspecificonhowtheyde- finevalue.Anobviousreasonisthatdifferentenvironmentsmight haveverydifferentinterpretationsofwhatgivesbusinessvalueto them.The generaluseofthewordvalue rangesfrom“usefulness orimportance” and“relative worth,utility,orimportance” to“the monetaryworth ofsomething”[14].Whenvalueisdeterminedby usefulnessorevenmonetary worth,atleastitsuggeststhat value ofsoftwareisassignedbystakeholdersoutsideofthedevelopment team.Proponentsofagiledevelopmentandleanstartupwouldar- guethata developmentteamneedstolearnwhatexternal stake- holders valueduringa developmentproject,while traditionalap- proaches would argue for understanding the view of value up- front.

Such an up-front understanding is eminent in traditional project management. The most popular frameworks for project management,theprojectmanagementbodyofknowledge[15]and the PRINCE2 framework [16]both focuson the businessvalue of projects.Theprojectmanagementbodyofknowledgedefinesbusi- nessvalue asboth tangibleandintangibleelements. Tangibleele- mentsincludeequipmentandmonetaryassetswhileintangibleel- ements include“good will”, brand recognition orpublic benefits.

The central idea inPRINCE2 is to achieve benefits withprojects, andthebenefits aredefinedpriorto projectinitiationina“busi- nesscase”.Thebusinesscaseisundercontinuousjustificationand liststhebenefitsthataretobeachieved.

Alsoin software engineering, therehas beena history ofdis- cussing value. Boehmintroduced the term“value-based software engineering” in 2003 [17,18], arguing that many practices in the fieldaredone ina“value-neutral” settingwhererequirementsare treatedasequallyimportantandthataccountsof“earnedvalue” in developmentprojectsare focusingon costsandscheduleandnot businessvalue.Boehmsuggestedtointegratevalue considerations into principles and practices, suggesting research on a number of topics including value-based requirements engineering, value- based planning andcontrol. In his article [17], hediscusses how software developmentcan be mademorevalue-based, forexam- plethrough conductingmorethoroughanalysisofthebenefitsto beachievedbynewsoftware,elicitationofvaluepropositionsthat stakeholdershold,andconductingbusinesscaseanalyseson soft- wareprojects.

We argue that these ideas now have been taken up more broadlythroughthetrendsofagilesoftwaredevelopmentandlean softwaredevelopmentwithanevensharperfocusonvalue.

Predictingthevalueofsoftwareisprobablyatleastaschalleng- ing aspredicting the cost of software [19]. Based on experience fromalargedevelopmentprojectinNorway,thecompanyPromis

has suggested to estimate value in the form of “benefit points”

[20].Theideaistogetasimilarestimateofvaluetoanepic(setof userstories),asagiledevelopmentteamsoftenmake anestimate ofthedevelopmentcostin“storypoints”.The“benefitpoints” are alsorelativetoanepicwith“known” valuetothecustomerorgani- zation,andthenthesefigurescanbehelpfulindecidingaboutpri- ority ina productbacklog. Themethod involvestranslatingover- allgoals ofaprojectorprograminto howmuchcan beachieved throughimplementationofanepic.

Tosummarize,weseeanincreasedfocusonvalue inimprove- menttrendsrelevantforsoftwaredevelopment.Thisfocushasled to suggestions on how tooperationalize calculations onbusiness valuesuchasfromPromis,andalsoontechniquestoadvanceun- derstanding ofcustomer needs. A particularly interesting area of researchisusingagiletechniquesinachievingearlyfeedbackfrom users and customers. The article in this special section on agile requirements engineering and use of test cases as requirements (“Multi-CaseStudyofAgileRequirementsEngineeringandtheUseof TestCasesasRequirements”byBjarnasonetal.)drawsonarichem- piricalmaterialtoshowavarietyofpractices,anddiscussbenefits andchallengeswhenusingtest casestoelicit,validate, verifyand managerequirements.

3. Continuousdeploymentandcontinuousexperimentation

As the theoretical approaches to model andassess value up- front haveproven tobe challenging, there is a currenttrend to- wardsusingempiricalmeanstounderstandvalue.Empiricallyun- derstanding customer value relies on the idea of continuous ex- perimentation,an approach in whichpotentially valuable features are delivered to customers, and data is collected to understand thevalueofthedeliveredfunctionality.Inthisemergingapproach, differentversionsof thesoftware mightbe delivered to different user groups, making it possible to understand experienced cus- tomervalueandhowdifferentfeaturesetsorimplementationsaf- fectproductusage.Whilerelyingonotherpractices,includingcon- tinuousintegration andcontinuous deployment, continuousexperi- mentationalsorequiresadditionalinfrastructuretosupportexper- imentplanningexecutionandanalysis[21].

At this moment, research on continuous experimentation is startingtoappear,butasmoreandmorecompaniesmovetowards continuousvalue delivery, its practical importance is likelyto be verysignificant, andcompanies’ abilityto quicklyuse dataabout customerbehaviorininnovativewayslikelytobeamajorcontrib- utortotheircompetitiveness.Astheacademicresearchoncontin- uousexperimentationisinitsearlystages,thereismuchopportu- nityforambitiousresearchonthetopicinthenearfuture.

Continuous integration (CI) is a software development prac- ticewheresoftwareisintegratedcontinuouslyduringdevelopment [22].CIrequiresatleastdailyintegrationandthateachintegration isverifiedby automatedbuildandtests.Asabasicbuildingblock ofa working agile implementation,there exists a growing set of case studies, and experience reports on CI discussing both chal- lenges and benefits related to the practice, see e.g. [23,24]. And while there is a lack of synthesizing research, it seems basic is- sues like what the characteristics of a CI process should be still needsclarification.E.g.,StåhlandBosch[24]studiedCIinindustry andfound that the practices were not reallycontinuous: “activi- tiesarecarriedout muchmoreinfrequentlythan some observers mightconsidertoqualifyasbeingcontinuous”.

Buildinguponcontinuousintegration,continuousdeliveryaims at constantly keeping the software in a releasable state [25,26]. Thisisachievedthroughoptimization,automatizationandutiliza- tion ofthe build, deploy,test and releaseprocess [26]. The pro- posedbenefits ofcontinuous delivery includeincreased visibility, fasterfeedbackandempowerment ofstakeholders [26].However,

(3)

Fig. 1. Relative interest over time on themes “Scrum”, “extreme programming”, “DevOps” and “continuous integration” based on searches in Google Trends, showing results for category “computers and electronics/programming”.

whentryingtoadoptcontinuousdelivery,organizationshavefaced numerouschallenges[27,28].

Continuousdeploymenttakesthefinalstepinautomation,and that each change isbuilt, testedand deployedto productionau- tomatically.Thus, incontrasttocontinuousdelivery,there areno manualsteps ordecisionsbetweena commitbya developerand productiondeployment.Themotivationforautomatingthedeploy- menttoproductionistogainfasterfeedbackfromproductionuse tofixdefectsthatwouldbeotherwisetooexpensivetodetect.Re- searchoncontinuousdeploymentisstillinitsinfancy,despitethe industrialrelevanceofthetopic[29].

Interestingly,butnot surprisingly,thetopicsofcontinuousex- perimentation andcontinuous deployment seem similar to other agile topics in the sense that they are industry rather than re- searchdriven. Thestate-of-the artisdrivenby industry andcon- sultants, andresearch is lagging behindin synthesizing andsys- tematizingknowledgeandhelpingtovalidateordismissthemany claimsmadebyproponentsforvarioustoolsandtechniques.How- ever,asthearticleonthecurrentstateofexperimentationinprod- uctdevelopmentin thisspecialsection (“RaisingtheOdds ofSuc- cess:TheCurrent Stateof Experimentation in ProductDevelopment” byLindgrenandMünch)shows,thereisaconsiderablepotentialin exploitingtheseideasinmanycompanies,andinparticularthere arechallengeswithchangingtheorganizationalculture,accelerat- ingthedevelopmentcyclespeedandalsoinidentifyingmeasures forcustomervalue.

4. Implicationsforfutureresearch

Wearguedforanincreasinginterestincontinuousvaluedeliv- eryasaresearch topic. Thistrendhasbeendescribedby leading scholarsin the software engineering field such as Fitzgerald and Stol[12] focusing on the trend towards continuous development andBosch[30] focusingontheimportance oflearning. Butisthe trendshowninpractitionerorresearcherinterestsofar?

InFigs. 1and2weshow developmentpracticetrendsthelast tenyears.Fig.1 isbased onInternet searches1 andindicates rel- ativeinterestamongst developers ontopics.Fig. 2showsrelative interestamongstresearchers.2 Wehaveplottedinterestintwoes-

1Searches in Google analysed by Google Trends.

2Measured by the number of articles on topics in the Scopus database.

tablishedtopicsinagilesoftwaredevelopment,namelythemeth- ods extreme programming (XP) and Scrum. We see that Scrum hasreceived by farthemostinterest, andtheinterest isincreas- ing over time (the dropin 2015 amongst researchers isprobably duetolateindexingofarticlesinthedatabase).Thehighinterest in Scrum amongst researchers mightbe due to the generalpop- ularity of Scrumas a developmentmethod.It could also be that Scrum isdescribedasthecontext ofstudies, notnecessarily that thereissuchahighinterestinstudyingScrumitself.Furthermore, wehaveplottedtheinterestinemergingtopics,whichweargueis undertheumbrellacontinuousvaluedelivery,namelyDevOpsand thepracticeof“continuousintegration”.

Forpractitioners,we seethatthereisa declineintheinterest inextremeprogramming,whiletheinterestinScrumisincreasing overtime. There isan increasein interestoncontinuousintegra- tion from 2006 to 2015, and a sharp increase on DevOps in the last years. Forresearchers, we see a sharp declinein interest on extremeprogramming,asteadyincreaseininterestonScrumand continuous integration and a more sharp increase in interest on continuousintegration.Astrikingdifferencebetweenpractitioners andresearcheristherelativehigherinterestinScrumamongstre- searchers.Anotherdifferenceisthehighinterestincontinuousin- tegrationamongstpractitioners,whilethistopicismoreorlesson thesamelevelasDevOps andextremeprogrammingamongst re- searchers.

The finalarticle inthisspecialsection focusesongivingvoice topractitioners indiscussionson futureresearch.Thearticle“The challengesthatchallenge:Engagingwithagilepractitioners’concerns”

byGregoryetal.providesathoroughreviewofexistingdiscussions onresearch directions,anddraws ona rich materialfrompracti- tionersinordertodiscussfutureresearchdirections.Theyidentify thetrendswehavediscussedinthisintroduction,such asthein- creasing focus on organisations, including a tighter collaboration betweenbusinessandtechnicalstaff,aswellasageneralfocuson demonstratingproduct valuefromagilemethods. Theyalsoiden- tifya numberofotherresearch areas,suchastheemergingfocus not on agile adoption asmost organizationsat leastclaim to do agiledevelopment,butonsustainingagilityinprojectsandorgan- isations.

(4)

Fig. 2. Relative interest over time on themes “Scrum”, “extreme programming”, “DevOps” and “continuous integration” based on searches for publications in the Scopus scientific database.

Acknowledgments

We wouldlike to thankthe program committeemembers for theXP2015conferencefortheireffortinreviewingconferencepa- pers, nominating papers and finally for reviewing selected arti- cles for this special section. We would also like to thank Claes Wohlin forguidanceregardingthespecialsection. Thework with thissection haspartially beensupported by theprojectAgile 2.0 funded by theResearchcouncil ofNorway throughgrant 236759 and by the companies Kantega, Kongsberg Defence & Aerospace, SopraSteria,andSticos,andbyTEKES,theFinnishFundingAgency forInnovation,aspartoftheNeedforSpeed(N4S)programme.

References

[1] H. Erdogmus , M. Morisio , M. Torchiano , On the effectiveness of the test-first approach to programming, IEEE Trans. Softw. Eng. 31 (2005) 226–237 . [2] D. Janzen , H. Saiedian , Test-driven development: concepts, taxonomy, and fu-

ture direction, Computer 38 (Sep 2005) pp. 43–+ .

[3] V. Balijepally , R. Mahapatra , S. Nerur , K.H. Price , Are two heads better than one for software development? The productivity paradox of pair programming, MIS Q. 33 (Mar 2009) 91–118 .

[4] J.E. Hannay , T. Dybå, E. Arisholm , D.I.K. Sjøberg , The effectiveness of pair pro- gramming: a meta-analysis, Inf. Softw. Technol. 51 (Jul 2009) 1110–1122 . [5] T. Dybå, T. Dingsøyr , Empirical studies of agile software development: a sys-

tematic review, Inf. Softw. Technol. 50 (2008) 833–859 .

[6] T. Dingsøyr , S. Nerur , V. Balijepally , N.B. Moe , A decade of agile methodolo- gies: towards explaining agile software development, J. Syst. Softw. 85 (2012) 1213–1221 .

[7] P. Rodriguez , J. Markkula , M. Oivo , K. Turula , Survey on agile and lean usage in finnish software industry, in: Proceedings of the ACM-IEEE International Sym- posium on Empirical Software Engineering and Measurement, Lund, Sweden, 2012 .

[8] K. Beck , Extreme Programming Explained: Embrace Change, Addison-Wesley, 20 0 0 .

[9] M.-R. Hilkka , T. Tuure , M. Rossi , Is extreme programming just old wine in new bottles: a comparison of two cases, J. Database Manag. 16 (2005) 41 . [10] C. Lassenius , T. Dingsøyr , M. Paasivaara , in: Agile Processes, in Software Engi-

neering, and Extreme Programming: 16th International Conference, XP 2015, Proceedings vol. 212, Helsinki, Finland, May 25-29, 2015, Springer, 2015 .

[11] K. Conboy , Agility from first principles: reconstructing the concept of agility in information systems development, Inf Syst Res 20 (2009) 329–354 .

[12] B. Fitzgerald, K.-J. Stol, Continuous software engineering: a roadmap and agenda, J Syst Softw (2015), doi: 10.1016/j.jss.2015.06.063 .

[13] E. Ries , The lean startup: How Today’s Entrepreneurs Use Continuous Innova- tion to Create Radically Successful Businesses, Crown Books, 2011 .

[14] Webster’s, Encyclopedic Unabridged Dictionary of the English Language, Gramercy Books, New York, 1989 .

[15] PMI, A Guide to the Project Management Body of Knowledge, 5th edition, Project Management Institue, 2013 .

[16] C. Bentley , Prince2: A Practical Handbook, Routledge, 2010 .

[17] B. Boehm , Value-based software engineering: reinventing, ACM SIGSOFT Softw.

Eng. Notes 28 (2003) 3 .

[18] S. Biffl, A. Aurum , B. Boehm , H. Erdogmus , P. Grünbacher , Value-Based Soft- ware Engineering, Springer Science & Business Media, 2006 .

[19] M. Shepperd , Cost prediction and software project management, in: Software Project Management in a Changing World, Springer, 2014, pp. 51–71 . [20] K. Strand , K. Karlsen , Agile Contracting and Execution, PROMIS, 2014 . [21] F. Fagerholm , A.S. Guinea , H. Mäenpää, J. Münch , Building blocks for con-

tinuous experimentation, in: Proceedings of the 1st International Workshop on Rapid Continuous Software Engineering, Hyderabad, India, ACM, 2014, pp. 26–35 .

[22] Fowler, M. (2006). Continuous Integration.

[23] Eck, A., Uebernickel, F., and Brenner, W., “Fit for continuous integration: how organizations assimilate an agile practice,” 2014.

[24] D. Ståhl , J. Bosch , Automated software integration flows in industry: a multi- ple-case study, in: Companion Proceedings of the 36th International Confer- ence on Software Engineering, New York, NY, USA, 2014, pp. 54–63 . [25] Fowler, M. (2013). Continuous Delivery.

[26] J. Humble , D. Farley , Continuous Delivery: Reliable Software Releases Through Build, Test, and Deployment Automation, Addison-Wesley Professional, 2010 . [27] G.G. Claps , R.B. Svensson , A. Aurum , On the journey to continuous deployment:

technical and social challenges along the way, Inf. Softw. Technol. 57 (2015) 21–31 .

[28] S. Neely , S. Stolt , Continuous delivery? Easy! just change everything (Well, maybe it is not that easy), in: Agile Conference (AGILE), 2013, 2013, pp. 121–128 .

[29] P. Rodríguez , et al. , Continuous deployment of software intensive products and services: a systematic mapping study, J. Syst. Softw. (2016) .

[30] J. Bosch , Speed, data, and ecosystems: the future of software engineering, IEEE Softw. 33 (2016) 82–88 .

(5)

Torgeir Dingsøyr focuses on software process improvement and knowledge management as chief scientist at the SINTEF research foundation. In particular, he has studied agile software development through a number of case studies, co-authored the systematic review of empirical studies, co-edited the book Agile Software Development:

Current Research and Future Directions , and co-edited the special issue on Agile Methods in the Journal of Systems and Software. He wrote his doctoral thesis on Knowledge Management in Medium-Sized Software Consulting Companies at the Department of Computer and Information Science, Norwegian University of Science and Technology, where he is an adjunct professor.

Casper Lassenius is an associate professor of software engineering at Aalto University. His research interests include agile and lean software development in small and large contexts, global software engineering, software measurement, and industrial software testing. He has PhD and M.Sc degrees from Helsinki University of Technology.

Referanser

RELATERTE DOKUMENTER

We presented the results of two separate measurement campaigns of the ultra wideband implant channel on living porcine subjects. To the best of our knowledge, this

This special issue includes contributions on how to address main challenges which emerge when using agile methods in large software development projects and programmes:.. A

Lessons learned and improvements (RQ2) were studied through observations and group interviews in the study of the capstone projects. Two main areas were identified where

based  planning  and

Our research question is, BHow can agile methods be adapted in the very large scale, regarding programme organization, customer involvement, software architecture and inter-

Today, product development organizations are adopting agile meth- ods in units outside the software development unit, such as in sales, market, legal, operations working with

As agile software development principles and methods are being adopted by large software product organizations it is important to understand the role of software

Motivated by the importance of team autonomy in agile software development and the need for alignment, the main goal of this paper is to understand the enablers and barriers