• No results found

How To Write A Model For Designing A Process Model

N/A
N/A
Protected

Academic year: 2021

Share "How To Write A Model For Designing A Process Model"

Copied!
19
0
0

Loading.... (view fulltext now)

Full text

(1)

ContentslistsavailableatSciVerseScienceDirect

The

Journal

of

Systems

and

Software

j our na l h o me p a g e :w w w . e l s e v i e r . c o m / l o c a t e / j s s

MDE

software

process

lines

in

small

companies

Julio

Ariel

Hurtado

a,b,∗

, María

Cecilia

Bastarrica

a

, Sergio

F.

Ochoa

a

, Jocelyn

Simmonds

c aComputerScienceDepartment,UniversidaddeChile,Chile

bIDISGroup,SystemsDepartment,UniversidaddelCauca,Colombia cInformaticsDepartment,UniversidadTécnicaFedericoSantaMaría,Chile

a

r

t

i

c

l

e

i

n

f

o

Articlehistory:

Received28November2011 Receivedinrevisedform 20September2012 Accepted25September2012 Available online 20 November 2012 Keywords:

Softwareprocesslines Model-drivenengineering Processassetreuse

a

b

s

t

r

a

c

t

Softwareorganizationsspecifytheirsoftwareprocessessothatprocessknowledgecanbesystematically reusedacrossprojects.However,differentprojectsmayrequiredifferentprocesses.Defininga sepa-rateprocessforeachpotentialprojectcontextisexpensiveanderror-prone,sincetheseprocessesmust simultaneouslyevolveinaconsistentmanner.Moreover,anorganizationcannotenvisionallpossible projectcontextsinadvancebecauseseveralvariablesmaybeinvolved,andthesemayalsobecombined indifferentways.Thisproblemisevenworseinsmallcompaniessincetheyusuallycannotaffordto definemorethanoneprocess.Softwareprocesslinesareaspecifictypeofsoftwareproductlines,inthe softwareprocessdomain.Abenefitofsoftwareprocesslinesisthattheyallowsoftwareprocess cus-tomizationwithrespecttoacontext.Inthisarticleweproposeamodel-drivenapproachforsoftware processlinesspecificationandconfiguration.Thearticlealsopresentstwoindustrialcasestudiescarried outattwosmallChileansoftwaredevelopmentcompanies.Bothcompanieshavebenefitedfrom apply-ingourapproachtotheirprocesses:newprojectsarenowdevelopedusingcustomprocesses,process knowledgeissystematicallyreused,andthetotaltimerequiredtocustomizeaprocessismuchshorter thanbefore.

© 2012 Elsevier Inc. All rights reserved.

1. Introduction

Softwaredevelopmentlifecycles,fromtraditionalmodelslike Waterfall,tomoremodernoneslikeRUP,ScrumandXP,suggest specificactivitiesthatneedtobecarriedoutaspartofthe devel-opmentprocess,aswellastheorderoftheseactivities.Moreover, ifacompanywantstocertifyorevaluateitssoftwaredevelopment process,thisprocessmustberigorouslydefinedasprescribedby themostpopularmodelsandstandards(e.g.,CMMI,2006;ISO/IEC 12207, 2008). Specifying an organizational process requires an enormousamountofeffort,andtheresultingprocessmuststillbe adaptedinordertosatisfythespecificcharacteristicsofdifferent projectsettings(MirbelandRalyté,2006).

There is no optimal software process since appropriateness dependsonvariousorganizational,projectandproduct character-isticsand,evenworse,thesecharacteristicsevolvecontinuously. Therefore,aone-sizefits-allapproachdoesnotworkforsoftware development(Firesmith,2004).Eachprojecthasitsown character-isticsandrequiresaparticularrangeoftechniquesandstrategies

Correspondingauthorat:IDISGroup,SystemsDepartment,Universidaddel

Cauca,Colombia.

E-mailaddresses:[email protected](J.A.Hurtado),[email protected] (M.C.Bastarrica),[email protected](S.F.Ochoa),[email protected] (J.Simmonds).

(LaplanteandNeill,2004).Theprocessofselectingasetof prac-ticesandthenintegratingthemintoacoherentprocessmustalsobe alignedwiththebusinesscontext(Cusumanoetal.,2009).Basedon thefindingspresentedinDörretal.(2008),wesupporttheideathat aproject’scontextmustbetakenintoaccountwhendecidingwhich processvariantbestfitstheproject.Additionally,thespecific pro-cessappliedshouldnotvarydramaticallyfromprojecttoproject, sothattheprocessknowledgeacquiredbythedevelopmentteam canbereused.

Theprocessthroughwhichageneralsoftwareprocessis con-figured in order to adapt it to a project’s particular setting is known as tailoring (Pedreira et al., 2007). In other areas, like SituationalMethodEngineering,thisprocessisalsoknownas con-figuration.Inthiswork,weconsiderconfigurationandtailoringas synonyms.Empiricalstudiesshowthatprocesstailoringisdifficult becauseitinvolvesintensiveknowledgegenerationand deploy-ment(Rolland,2009),anditisalsotime-consuming(Ocampoetal., 2005).Moreover,theexpertiserequiredtoproduceagoodprocess tailoringmaybelostfromoneprojecttothenext.Therefore,the tailoringprocessitselfishardtoreplicateanddoesnotscaleifdone manually.

Weapplytwocomplementaryapproachestoprocesstailoring:

model-drivenengineeringandsoftwareprocesslines.Model-driven engineering(MDE)isasoftwaredevelopmentapproachthat advo-catesthecreationofabstractmodels,whicharethensystematically transformedintomoreconcretemodels,andeventuallyintosource

0164-1212/$–seefrontmatter© 2012 Elsevier Inc. All rights reserved. http://dx.doi.org/10.1016/j.jss.2012.09.033

(2)

Fig.1.Theproductlineengineeringframework(Pohletal.,2005),adaptedtoallow softwareprocesslinedevelopment.

code(Schmidt,2006).Thisapproach promotesreuse through a generativestrategy.MDEcanalsobeusedinthesoftwareprocess engineeringdomain(BretonandBézivin,2001),where transforma-tionsareusedasinstantiationstrategies(Killispergeretal.,2009). Onthe otherhand,a software productline(SPL) is a setof software-intensivesystemsthatshareacommonandmanagedset ofassetssatisfyingthespecificneedsofaparticularmarketsegment ormission(ClementsandNorthrop,2001).Teamproductivityand productqualityincreaseasaconsequenceoftheresultingmassive reuseofassets.Analogously,softwareprocesslines(SPrL)isaset ofsoftwareprocesses,builtfromaseriesofsharedprocessassets inordertoreuseprocessknowledgeacrossprojectswithdifferent needs.AccordingtoRombach,aSPrLisasystematicmechanismfor managingaprocessanditsvariants(Rombach,2005).

The FAST (Family-Oriented Abstraction, Specification, and Translation) process(Weiss and Lai, 1999), which was particu-larlyproposedtodefineproductsfamilies,separatesproduct-line engineeringprocessintotwomainstages:domainengineeringand

productengineering.Indomainengineering,commonandvariable elementsareidentified,aswellashowthesemaybecombined inordertogenerateparticularproducts.Eachoftheseelementsis implementedasareusableasset.Duringtheproductengineering stage,membersoftheproductfamilyarebuiltusingthepreviously definedassets.

EachstageoftheSPLdefinitionisfurthersubdividedintoother phases: analysis, design, implementation and verification (Pohl etal.,2005).InFig.1,weshowhowtheanalysisanddesignphasesof domainandproductengineeringwereadaptedtoallowthe devel-opmentofSPrLs.TheactivitiesinvolvedintheseSPrLphasesare describedintherestofthearticle.Wealsoshowtheirapplication intwoindustrialcasestudies.

Thus, themain contributionof this articleis an MDE-based approachtosoftwareprocess lineanalysisanddesign, focusing onprocesstailoringwithrespecttoacontext.Therearemultiple advantagestocombiningMDEandSPrL:byexplicitlyspecifying implicittailoringknowledgeastailoringtransformations(as pro-posedbyMDE),andbycreatingagenerallibraryofreusableprocess assets(asproposedbySPrL),wecansystematicallytailorgeneral, reusableprocesseswithrespecttoaspecificprojectcontext.

SmallSoftwareOrganizations(SSO)hasparticular characteris-ticsthataffecttheirsoftwareprocessesandmakethemdifferent frommedium-size and largeorganizations.Onlysomeof these companieshavearigorousorganizationalstructureandaformally defineddevelopmentprocess(vonWangenheimetal.,2006a,b). Theyusuallyworkonsmallprojects,involvingsmallgroups(Batista andDeFigueiredo,2000;Harrisetal.,2007),andbasingtheir com-petitivenessonbeingspecialized(Arandaetal.,2007).Therefore,

a successfulSSOis usuallylinked toaparticular niche(Aranda etal.,2007;Jantunen,2010)whichmakesthedevelopmentcontext ratherstableandthusreducestherequiredvariabilityofthe orga-nizationalsoftwareprocess.Thesecompaniestypicallyconsidera fewprojectcontextvariables(Hofer,2002),butdifferent configu-rationsofthesevariablesrequiredifferentdevelopmentprocesses (Hurtadoetal.,2011).Wehavevalidatedourapproachintwosmall companies:KITeknologyandAmisoft.Theseorganizationsare con-sideredsmallaccordingtoEuropeanCommission(2005)because theybothhavearound50employees,andtheirannualturnover doesnotexceed10millionEuros.Theselectedcompaniesdevelop softwarefornichemarkets(Arandaetal.,2007;vonWangenheim etal.,2006b),sothedomainandtechnologydonotchange dra-maticallyfromprojecttoproject.KITeknologydevelopsweb-based applicationsandAmisoftfocusesonjudiciaryinformationsystems. Therestofthepaperisstructuredasfollows.Section2presents therelatedwork.InSection3,wedescribethetailoringprocess,as wellasthemodelsandtransformationsrequiredbyourapproach, illustratingthesewitharunningexample.InSections4and5,we describetwocasestudieswhereweappliedtheproposedtailoring approach.Finally,Section6presentstheconclusionsandfuture work.

2. Relatedwork

Inthissection,wefirstgiveabriefoverviewofsoftware prod-uct lines and software process lines. We then discuss several approachestosoftwareprocesstailoring,andfinally,wereview variousproposalsforrepresentingandusingcontextinformation.

2.1. Softwareproductlinesandsoftwareprocesslines

Given that software processes are software too (Osterweil, 1987),asoftwareprocessline(SPrL)canbeconsideredasaspecial softwareproductline(SPL)inthesoftwareprocessengineering domain.ProcessesinaSPrLsharecommonfeatures andexhibit variability(StanleyandOsterweil,1996).Consequently,aSPrLis anidealwaytodefine,tailorandevolveasetofrelatedprocesses, anopinionthatissupportedbytheworkonprocessvariability representation(Simidchievaetal.,2007),processfamilies(Rolland andNurcan,2010),SPrLarchitectures(Washizaki,2006),process domainanalysis(Ocampoetal.,2005),andSPrLscoping(Armbrust etal.,2009).Aclassictailoringapproachreactivelyintegrates unan-ticipatedvariabilityintheprocessmodel(Armbrustetal.,2009), whileaSPrLapproachfacilitatesplannedreuse.Nevertheless,as statedinDeelstraetal.(2005),derivingproducts(processes)inthe contextofaSPL(SPrL)isachallengingtask.

SPEM2.0(OMG,2007)istheOMGstandardformodeling soft-wareandsystemsdevelopmentprocessesandtheircomponents. VarioussmallChileansoftwaredevelopmentcompanies,aspartof theTutelkánproject(Valdésetal.,2010),formalizedtheirprocesses usingSPEM2.0.Thisstandarddefinesfourprimitivesforspecifying variability,whichmustbespecifiedbetweentwoprocesselements ofthesametype:

1. Contributes:asourcevariabilityelementcontributesits proper-tiestothetargetvariabilityelementwithoutdirectlyaltering anyofthetargetelement’sproperties.Thetargetelementtakes onanyextraattributesandassociationsdefinedbythesource element,exceptforthosealreadydefinedbythetargetelement. 2.Replaces:asourcevariabilityelementreplacesitstarget variabil-ityelement.Inthiscase,onlytheincomingassociationsofthe targetelementarepreserved,boththetarget’sattributesand outgoingassociationsarereplacedbythesourceelement’s.The

(3)

targetofmultiplereplacesrelationscanonlybereplacedbyone sourceelementinaconfiguration.

3.Extends:asourcevariabilityelementextendsthedefinitionof itstarget variability element,possiblyoverridingthe target’s attributesandassociations.

4.Extends-Replaces:inthisrelationship,asourcevariability ele-mentfirstextendsitstargetvariabilityelement,andthenreplaces

it.

Instancesoftheserelationsmayoverrideeachother,so variabil-ityrelationsmustberesolvedinthepresentedorder.Theprocess tailoringstepissuccessfuliftheprocessengineercanresolveaway allvariabilityinanon-conflictingmanner.Apriori,itishardto predicthowvariabilityrelationsinteractwitheachother,whichis whytheSPEM2.0variabilitymechanismsarerarelyusedinpractice (Martínez-Ruizetal.,2011).

2.2. Tailoringapproaches

Thereareseveralapproachestoprocesstailoring,whichmainly differintermsofexpectedprocessformality,sizeofthecompany, and available tool support(Pedreiraet al., 2007).For example, theassembleapproachpresentedinDaiandLi(2007)providesa reducedsetofprocessmodificationactions(add,delete,splitand mergeoperation),whichareusedto“assemble”anewprocessfrom apreviousversion.TheunderlyingformalismisPetrinets,andas such,processmodelsonlyconsiderprocessactivities,ignoringroles andworkproducts,andtherearenovariableelements.Also,the projectcontextisnotformallyusedtoguidetheadaptationprocess, astailoringisdoneinanadhocmannerbytheprocessengineer, whoselectswhatactiontoapplyandwhen.

Thesituationalmethodengineering(SME)approachfocuseson project-specificprocessconstruction(Ralytéetal.,2003),where pre-existing pieces of methods are selected and combined in an attempt to produce the most appropriate process for an organization or a project. This is an active research area, see (Henderson-SellersandRalyté,2010;Tolvanenetal.,1996)for sur-veysonthesetechniques.SMEtechniquescanbeusednotonlyto customizeasoftwaredevelopmentprocesstoaparticularproject context,butalsotoperformacontinuousimprovementprocess (Bajec etal.,2007a,b).Nevertheless,inmostcasestheeffortfor tailoringtheprocess is stillhuge, especially when anassemble approachisadopted(MirbelandRalyté,2006).Thisisabig prob-lembecauseprocesstailoringisnormallytheresponsibilityofthe projectmanager,butitrequirestheexperienceandknowledgeofa softwareprocessengineer,soitisdifficulttoachieveareasonable separationoftheirtasks(Baietal.,2012).Thetwomost signifi-cantchallengesfortheSMEcommunityaretherateofindustry adoptionandhowtoautomatethemethodconstructionprocess (Henderson-SellersandRalyté,2010).ProvidedthatSMEfollowsa bottom-upapproach,itisacreativetaskandrequiresthe knowl-edgeandexperienceofamethodengineer;thus,automationin SMEisverycomplexifpossibleatall.Instead,ourapproachusesa top-downstrategy,whereaprocessstructureincludingvariation pointsandtheirvariantsaredefined.Inourapproach,the flexibil-ityiscontrolledandonlysomeprocesscouldbedefinedaccording tothevariationpoints.However,thislimitedvariationallowsusto implementapracticaltransformationalstrategyforautomatically generatingeachprocess.Hence,ourapproachfollowsatrade-off criterionbetweenflexibilityandpracticality.

SomeprocessesliketheUnifiedProcess(Jacobsonetal.,1999) useanadjustmentguideapproach,wheretailoringrulesare spec-ifiedasgeneralguidelinesabouthowtoadaptphases,iterations anddisciplinesaccordingtoproject-specificsituations.Thiswas theapproachoriginallyfollowedbyKI,thecompanysubjectofour firstcasestudy(seeSection4).Thesuccessfulapplicationofthis

approachhighlydependsontheprocessengineer,whomustbe carefultobeconsistentwithhowtheseguidelinesareappliedto differentprojects(eachonewithapotentiallydifferentcontext).

Agile methods such as XP (Beck and Andres, 2004) usean

auto-adaptable approach, where theproject- and team-adapted processemergesfromthesetofprinciples,valuesandpractices thatdefinetheagilemethodology.OtherprocessessuchasCrystal Methodology(Cockburn,2000)followatemplate-basedapproach, whereafamilyofmethodologytemplatesaredefined(Clear, Yel-low,Orange andRed),andeach templateis moredetailedthan thelast.Commercialprocesses,suchasRUP(Kruchten,2003),use aframework-basedapproach(BelkhatirandEstublier,1996)(also knownasa configurationapproach),wherea generalprocessis defined anda specific configurationis createdfor eachspecific project.Processesdevelopedusingthisapproachtendtobelarge andcomplex,andahighlevelofprocessengineeringknowledge isrequiredtoproducevalidconfigurations,whereasthedifficulty ofthetemplatestrategyisthatitishardtodefineanadequateset oftemplatesthatsatisfyallthepossibleprojectscenarios(Bustard andKeenan,2005).

Killisperger et al. (2009) propose an instantiation-based

approach;itconsistsofdefiningageneralprocessthatis instan-tiatedforeachprojectuptotheenactmentlevel.Thisapproach requiresanenormousamountofprocessformalizationinorderto obtainalloftheexpectedbenefits.Inourwork,wetailorthegeneral processaccordingtothecharacteristicsoftheprojectcontext,and theresultingSPEMprocessservesasaprocessguide.However,we donotreachtheenactmentlevelasthisisnotsupportedbySPEM.In thisarticle,werepresentprocessmodelvariabilityusingaprocess featuremodel,similartoasoftwareproductfeaturemodels(Kang etal.,1990),andtheorganizationalsoftwareprocessismodeled usingeSPEM,ametamodelincludingthecoreSPEMconceptsand relationsrequiredbyourproposedtailoringmechanism.TheMDE strategyweapplyhelpsachieveaseparationbetweentheprocess modelingstakeholdersandprocessenactment(project) stakehol-ders(Baietal.,2012),andithidesthecomplexitybyintensively reusingtailoringknowledge.

2.3. Contextmodeling

Contextrepresentationinsoftwaredevelopmenthasgained rel-evancelately,particularlybecauseofitsuseinsoftwareprocess tailoring.However,itsdefinitionandscopedifferinalmostevery proposal.Theliteraturereportstheuseofthecontexttoaddress severalchallenges,e.g.,estimatingprojectcosts,selectingthe soft-wareprocesstobeusedinaparticularproject,orcharacterizing aSPrL.Mostcontextrepresentationsinvolvespecificationsintext (KettunenandLaanti,2005;Xu,2005),tables(Killispergeretal., 2009;KoolmanojwongandBoehm,2012)orsomekindsof check-lists(MaandWang,2006;Parketal.,2006),whicharenotalways ineasy-to-processformats.

TheworkofPérezetal.(1995)presentsasetofcontext char-acteristics related with processes. Such context characteristics supportthecustomizationofsoftwareprocessmodels.Armbrust etal.(2009)definethreedimensions(orcontextvariables)todefine thecontextcharacteristicsintheSPrLscopedefinition:product, projectandprocess.TheCOCOMOIImodel(Boehmetal.,1995) definesasetofattributesanddimensionsthathelpestimateproject metrics.Suchcontextvariablesarealsousefulforrepresenting con-textmodels.TheIncrementalCommitmentModel(ICM)process (KoolmanojwongandBoehm,2012)definesfourprocesspatterns for rapidprocessdeployment usingcontextualizedinformation, processesfornewprojectsarederivedfromthesepatterns.Zowghi etal.(2005)proposeastrategytodefineanappropriate require-mentsengineeringmethodthatiswell-suitedfor theparticular systemorapplicationdevelopmentendeavorunderconsideration.

(4)

Fig.2. Generativestrategyforprocesstailoring.

Thecontextinformationusedtoperformthisactivityisembedded inasetofguidelinesusedassupport.

Kornyshovaetal.(2010)describethecontextdimensionsand variablesaffectingthetailoringprocessintheinformationsystems domain.Theyalsopresentaprocessforcontextualizingmethods andselectingmethodcomponentsbased ontheproject charac-teristics.ThecontextmodeldescribedinKornyshovaetal.(2010)

is focused onthe contextualization of method components for selectingandreusingmethodcomponentsinsteadoftailoringthe softwareprocesstoaspecificsituation.Thecomponentselection iscarriedoutusingqueriesonthevaluesofthecharacteristicsof theavailablemethodcomponents.Ifthequerydoesnotprovide aconclusiveresult,themethodengineercouldconsidererother methods,modifytherequiredcharacteristics’values,orrank char-acteristicsbytheirorderofimportance.Ourapproachusescontext informationtoidentifytherelationshipbetweentheprocess vari-abilityandcontextattributes,andattailoringtimealsotodefine thespecific situation(context attribute values) where the pro-cessmodelwillbeapplied.Whereasmethodcomponentscontext is oriented to method reuse following a bottom-up approach, project-specificcontextisorientedtoprocessadaptationfollowing atop-downapproach.

Hurtadoetal.(2011)presentasurveyofcontextrepresentations thatcanbeusedfortailoringsoftwaredevelopmentprocesses,and alsoasimplelanguagetorepresenttheprojectcontexts.Our pro-posalusesthislanguagetorepresentsoftwarecontextmodels.

In order to help organizations to determine their relevant dimensionsandcontextattributestoperformthetailoring activ-ities, we have defined a Software Process Context Metamodel, basedontheideaspresentedinHurtadoandBastarrica(2009).We describethismetamodelinSection3.2.

3. Tailoringthesoftwareprocess

Definingan organizationalsoftwareprocess isnecessaryif a companywantstoimprove itsdevelopmentprocess,and abso-lutelynecessaryinordertoachieveanevaluationorcertification suchasCMMIorISO/IEC12207.Althoughdefiningand document-ingageneralprocessrequiresasignificantamountofwork,this processisnotnecessarilyappropriateforallprojects,evenwithin the same organization. Moreover, an organization that usually developscertaintypesofprojectsusingaparticularprocessmay eventuallybecomeinvolvedinadifferenttypeofproject,andthus theprocessthatworkedwellbeforebecomesinadequate.Defining

acustomizedprocessforeachprojectistooexpensiveduetothe amountofresourcesthiseffortwouldconsume,resourceswhich couldbeusedbytheprojectinstead.Havingasetofpredefined pro-cessesforaseriesofdifferentcontextsimpliesahighmaintenance cost,anditstilldoesnotensurethatallpossiblecontextsaretaken intoaccount.Therefore,tailoringtheorganizationalprocessseems tobeagoodtrade-off.

Fig.2presentsanoverviewofourproposedtailoringapproach, whichusestwomodelsasinput:thesoftwareprocessmodelandthe

contextmodelforaspecificproject.Then,usingasetof transforma-tionrules(embeddedinthetailoringtransformationcomponent), thesoftwareprocessistailoredaccordingtotheprojectcontext modelinordertogeneratetheadaptedsoftwareprocessmodel.This tailoringproposalwasbrieflyintroducedinHurtadoetal.(2012b), andisillustratedwithanexampleintherestofthissection.

TheinputsoftwareprocessmodelisaneSPEMmodelthat repre-sentsthegeneralorganizationalprocessthatwillbetailored.This modelmustbecustomizedatthebeginningofeachnewproject. eSPEMmodelsconsistoftask,workproductandroledefinitions, aswellasaspecificationofhowtheseprocesselementsinteractin ordertoaccomplishtheprocess’sgoals.Theinitialsoftwareprocess modelincludesthespecificationofitsvariability,whichisresolved throughthetailoringprocessinordertoachievetheadapted soft-wareprocessmodel.

In ourtailoringapproach, theorganization must alsodefine thecontextmodel,whichisusedtodescribethedifferenttypesof projectsthatthecompanyhandles.Thiscontextmodelspecifies rel-evantprojectvariables(e.g.,theprojecttype),theirpossiblevalues (e.g.,developmentormaintenance),aswellashowthesevariables areclassifiedalongdifferentdimensions.

Thetailoringtransformationcomponent,thatinvolvesthesetof transformationrulesexpressedinATL(Jouaultetal.,2006), indi-catesunderwhichconditionsthegeneralprocessmodelshould change,andhow.Ruleconditionsareexpressedusingthecontext variablesandvalues,andvalidprocesschangesincludetask,work productandroleinclusion/elimination,aswellaschoosingfroma setofpossiblealternatives.Inthecaseoforganizationswithmature developmentprocesses,theserulescanusuallybededucedfrom (semi-)formalgeneralprocessadaptationguidelines.Inothercases, theserulesmustbeformalizedfromscratchorreverse-engineered fromexistingprojects.Thisformalizationisoneofthemost diffi-cultstepsintheproposedapproach,butoncethetransformation rulesareformalizedandvalidated,tailoringbecomessimpler,more consistent,andlesserror-prone.

(5)

Fig.3.TheexperimentalSPEM(eSPEM)metamodel,wheretheprocesselementmetaclassesthatcanvaryhavebeenmarked.

Wehavedevelopedaproof-of-concepttoolchaintosupportour empiricalwork.ThistoolchainisbuiltontopoftheEclipse Mod-elingFramework–EMF3.41andtheATLplug-in2.0.2Metamodels

weredefinedasecore metamodelsinEMFand the transforma-tionswereimplementedasATLrules.Modelswereimplementedas instancesofdefinedmetamodelsandeditedusingExeed(Extended EMFEditor),theEMFreflectiveeditor.

In this section,we first definethe models and metamodels involved in the proposedtailoringapproach, and then the ATL transformationsthatimplementthetailoringprocess.Allstepsare illustratedusingasimpleexample.

3.1. Organizationalprocessmodel

SPEM2.0(OMG,2007)istheOMGstandardformodeling soft-wareandsystemsdevelopmentprocessesandtheircomponents. SPEM2.0isdefinedbothasaMOFmetamodelandasaUML2.0 profile,andtakesanobject-orientedapproachtoprocessmodeling. SPEMdiagramsareusedtomodeltwodifferentviewsofaprocess: astaticview,whereprocesscomponents(tasks,workproductsand roles)aredefined;andadynamicview,whereinteractiondiagrams (likeUMLactivitydiagrams)areusedtomodelhowprocess com-ponentsinteractinordertoaccomplishthegoalsofthemodeled process.

Inordertoencourage processmaintenanceand reuse,SPEM 2.0makesadifferencebetweenthedefinitionofprocessbuilding blocksandtheirlateruse.Processcomponents,liketasks,rolesand workproducts,aredefinedandstoredinaMethodLibrary.An activ-ityisa“big-step”groupingofrole,workproductandtaskuses,and activitydiagramsareusedtomodeltheworkflowbetweentasks oftheactivity.Rolesperformtasks,andworkproductsserveas input/outputartifactsfortasks.

InSPEM,aprocessisasetofactivities,wheretherelationship betweentheseactivitiesisalsospecifiedasaworkflow.Task,role, workproductandactivitydefinitionsarerecommendationsmade byaprocessengineer,sothesecanbeoverriddenwhencreating anewprocess,e.g.,byadding/removingtheassociationbetweena workproductandatask.

In our approach, process models are defined using eSPEM (Hurtado et al.,2012b), a SPEM2.0 subset,which is expressive enoughforourexperimentalpurposes.ThemetamodelforeSPEM isshowninFig.3.Task-,Role-andWorkProductDefinitionare sub-classesoftheMethodContentElementmetaclass,whichinturnis

1EMFwebsitehttp://download.eclipse.org/tools/emf. 2ATLwebsitehttp://www.eclipse.org/downloads/.

asubclassoftheVariabilityElementmetaclass.Ontheotherhand,

Activity, Task-, Role- and WorkProductUse are subclasses of the

WorkBreakDownElementmetaclass.AVariabilityElementisaprocess elementthatcanbemodifiedorextendedbyother VariabilityEle-mentsofthesamekindthroughavariabilityrelationship(defined bytheVariabilityTypeenumeration).

WeuseVariabilityElementstoimplementalternatives(labeled withanalternativesymbolsimilartothatusedinfeaturemodels). AsetofalternativescanbedefinedfromthesameVariabilityElement

(whichmaybeabstract).So,whenaProcessElementislinkedtothe

VariabilityElement,oneofthesealternativescouldbeselected.For example,aTaskUsecanbelinkedtooneofmanyavailableand con-sistentTaskDefinitions.Additionally,eachWorkBreakDownElement

canbeconsideredasoptionalornotaccordingtotheisOptional

attribute.Optionalelementsarelabeledwithanemptycircle. For example, the general requirements engineering process showninFig.4isapartoftheoveralldevelopmentprocessfollowed by students taking CC51A, an advanced software development coursetaughtattheUniversityofChile.Thisprocessconsistsof three activities: Exploration, User Requirements Specification and Validation,andSoftwareRequirementsSpecificationandValidation, carriedoutinsequence.Themaingoalofthiscourseistoexpose seniorstudents,ingroupsof5–6,toareal-lifeworkenvironment, developingrealapplicationsforrealclients.Theprocessitselfis simplebecausestudentsonlyhavefourmonthstocompletetheir projects.Fig.5showstheeSPEMspecificationofthisprocess.

(6)

Fig.5.eSPEMmodeloftheCC51Arequirementsengineeringprocess.

DuringtheExplorationactivity,theclient,analystandproject managermeetinordertodefinetheproject.Occasionally,aclient showsupwithaclearlydefinedprojectandthisactivityisnot nec-essary,whichiswhyitismarkedasoptional(enclosedinayellow box).Thisnotationisadhoc,sincetheSPEMstandarddoesnot recommendhowtovisuallyindicateelementoptionality.During theUserRequirementsSpecificationandValidationactivity,theteam membersspecifythegoalsandscopeoftheirprojectintermsof userrequirements.Performingthisactivitymayinvolvetheuseof simpleprototypesthathelpclientsandteammemberstovalidate theuserrequirementsandconceivethehigh-levelsolution.This activitytakesasinputaprojectdefinition,andproducesasoutput auserrequirementsspecification.

DuringtheSoftware RequirementsSpecification andValidation

activity,each user requirement is translated into one or more

softwarerequirements.Theresultinglistrepresentsthesoftware requirementsspecificationfortheproject(whichmustbevalidated bytheusersandclients).Iftheteammembersarefamiliarwiththe projectdomain,thisvalidationcanbedoneinternally;otherwise, theteammustcreateanoperationalprototypeandvalidateitwith theclient.

Following a general approach for specifying variability in DomainEngineering,we usefeature models(Kanget al.,1990) toformallyspecifyprocessvariabilityata highlevelof abstrac-tion(SimmondsandModeling,2011).Featuresrepresentactivities, tasks,rolesandworkproducts,andweallowcross-treeconstraints betweenfeaturesofanykind.

Forexample,thefeaturemodelinFig.6showsboththe com-monandvariableelementsoftheCC51AREprocess.Thismodel showstheSoftwareRequirementsSpecificationandValidation activ-ityinmoredetail,breakingitdownintothreeparts:aSoftware Requirements Specification task, an (optional) Operational Proto-typingactivity,anda Software RequirementsValidation task.The

SoftwareRequirements Validationis furtherbroken down, repre-sentingthetwovalidation alternativesmentionedpreviously.If theteamisfamiliarwiththeprojectdomain,theycancarryout anInternalValidation,otherwise,theymustdoaPrototypeBased Validation(butinordertodothis,theteammusthavefirstcarried outtheOperationalPrototypingactivity).

3.2. Contextmodel

Thecontextofaprojectmayvaryaccordingtodifferentproject variablesalongspecificdimensionssuchas:size,duration, com-plexity,developmentteamsize,knowledgeabouttheapplication domain,orfamiliaritywiththetechnologyinvolved.Formalizing thesecharacteristicsasamodelenablesustoautomatically tai-lortheorganizationalprocessaccordingtothem.Wehavedefined SPCM(SoftwareProcessContext Metamodel)for specifyingthe contextmodelforeachproject.ThemetamodelforSPCMisshown inFig.7.

SPCMisbasedonthreebasicconcepts:ContextAttribute, Dimen-sion and ContextAttributeConfiguration. Every element in SPCM extendsa ContextElement that hasa nameand a description.A

(7)

Fig.7.TheSoftwareProcessContextMetamodel–SPCM.

ContextAttributerepresentsarelevantcharacteristicoftheprocess contextrequiredfortailoring.TheContextAttributeincludesa pri-ority(usedwhenatrade-offamongcontextattributesisrequired). AContextAttributecantakeoneofasetofvaluesdefinedas Contex-tAttributeValue.AnexampleofaContextAttributeisthesizeofthe project(Size).ContextAttributeValuerepresentsatypeforqualifying aContextAttribute.ExamplesofContextAttributeValuesforthe Con-textAttributeSizearetheContextAttributeValues{Small,Medium, Large}. Dimension represents a collection of related ContextAt-tributes.BygroupingContextAttributesbyDimension,thecontext modeliseasiertounderstand.AnexampleofaDimensionisTeam, whichcanbeusedtogroupteamattributeslikeTeamSizeandTeam Capabilities.AContextmodelisacollectionofDimensions.

For example,the context model ofthe CC51AREprocess is depictedinFig.8.Thiscontextmodelhasthreedimensions:project, product and team. This model also has six context attributes: domainknowledge,complexity,projecttype,duration, sizeand training.Thefirstthree attributetypesareassociatedwith pre-determined context attribute values (throughenumeration) for eachproject,whilethelastthreeattributesareconstantsprovided thatthisprocessisfollowedbystudentsaspartofacourse.

A ContextConfiguration is a set of ContextAttributeConfigura-tions,whereeachContextAttributeValueisavalidContextAttribute. Therefore, each ContextAttributeConfiguration is associated with a ContextAttribute and to one unique ContextAttributeValue. For example,a possible ContextAttributeConfigurationis the Project-TypeConfiguration for a development project, where one of its

ContextAttributesisProjectTypeanditsassociatedAttributeValue

is“Development”.

Table1showshowthedifferentcontextattributesaffectthe variableelementsoftheCC51AREprocess.Iftheteam’sdomain knowledgeisMediumtoHigh,thentheteamcanavoiddoinga prototype-basedvalidationofthesoftwarerequirements,skipping theOperationalPrototyping activity.Theteam’slevel ofdomain knowledgedoesnotaffecttheoptionalExplorationactivity,since therealizationofthisactivitydependssolelyontheprojecttype.

Fig.8.ContextmodelfortheCC51Arequirementsengineeringprocess.

However,thetypeofprojectdoesaffectwhetherornotthe Explo-rationactivityiscarriedout.Complexitydoesnotaffecttheprocess.

3.3. Tailoringbymodeltransformation

WeuseATL(Jouaultetal.,2006)fordefiningthetailoring trans-formationrules.Rulesabouttailoringthegeneralprocessmodel accordingtothevaluesofdifferentcontextattributescanbe com-posedincrementally.Inthiswaywe canconfigure newprocess modelsthroughagenerativestrategybyrecombiningpartial tail-oringtransformationrules,andthusreusingtheknowledgethey embody.MatchedrulesconstitutethecoreofanATLdeclarative

Table1

ProcessscopingaccordingtoCC51Acontextmodel.

Contextattribute Attributevalue Exploration Operationalprototyping Softwarerequirementsvalidation

Domainknowledge High – False Requirementsvalidation

Medium – False Requirementsvalidation

Low – True Prototypebasedvalidation

Complexity High – – –

Medium – – –

Low – – –

Projecttype Development True – –

Extension False – –

(8)

Fig.9. ATLtailoringtransformation.

transformationsincetheyallowustospecify:(i)whichtarget ele-mentsshouldbegeneratedforeachsourceelementand(ii)how generatedelementsareinitializedfromthematchedsource ele-ments.

Our tailoring transformation is endogenous (Czarnecki and Helsen,2006)becauseitsoutputconformstothesamemetamodel astheinput.However,itisnotinplacesincewewanttopreserve theorganizationalprocessmodelforfutureconfigurations.Weuse

ATLCopier3asabasictemplate,andwemodifyitsothatonlythose

elementswhoserulesevaluatetotrueareactuallycopiedtothe tar-getmodel.AllcommonelementsoftheeSPEMmodelarecopied overtotheadaptedmodel,andwespecifyrulesforthevariation points.Eachvariationpointhasanassociatedhelpercalledfrom thematchedrule.

Fig.9showstheruleTaskUse.ThesourcepatternMM!TaskUse

is defined after the keyword from, meaning that the rule will generatetargetelementsfor eachsourceelementmatchingthe pattern. In order toselect onlythose source elementsthat are relevantforthespecificproject,anextraconditionisadded:an Optionalityruleimplementedasahelperfunction(notshownin

Fig.9)thatmakes ofthecontext configuration.Whenthis rule returnsfalse, theelement needs tobe removed from the pro-cess.Attributeinitializationusesthevaluesinthesourceprocess modelelement.However,andprovidedthatweuseeSPEM vari-ability mechanisms, a process element (e.g., TaskUse) couldbe linkedtoseveralvariantsof methodelements(e.g.,Task Defini-tion).Therefore,wedefineanAlternativeTailoringRuleasaselecting rulethat returns the methodelement chosen according tothe helper rule. The AlternativeTailoringRule chooses the appropri-ateTaskDefinition variant,according to the Domain Knowledge valueinthecontext(inthefigure,thisvalueis “Low”).Ifthere were more variability points, a conjunction of rules would be applied, also specifying priorities to make trade-offs, if neces-sary.

3 http://www.eclipse.org/m2m/atl/atlTransformations/.

3.4. Projectadaptedprocessmodel

TheprojectadaptedprocessmodelalsoconformstotheeSPEM metamodel,butitcannothavevariabilities,soallvariabilities iden-tifiedaspartoftheorganizationalprocessmodelareresolvedby thetailoringtransformation.Fig.10 shows theadapted process afterapplyingtherulesinFig.9toanextensionprojectwithalow domainknowledge.

3.5. Discussion

Thisproposalisonlyapplicableincompaniesthathavetheir softwareprocessformalized.Largecompaniesaremorelikelyto havetheirprocessformalized,buttheirsurvivaldoesnotdepend onsmallimprovementsinproductivity.ThisisnotthecaseforSSO, whereinefficiencymayleadthemtofailure.Moreover,evenlarge companiestendtoorganizetheirdevelopmentinsmallerentities

(9)

(Anon.,2011)thatcanalsobenefitfromourapproach.Accordingto

OECD(2005),mostsoftwarecompaniesaroundtheworldaresmall, sotheproposalhasthepotentialofhavingabigimpact.InChile,we haveseenthatthereisagrowinginterestinprocessformalization amongsmallsoftwarecompanies(Ruizetal.,2012).

Softwaredevelopmentinsmallentitiesmayvaryaccordingto asmallsetofvariables:thereisonlyasmallgroupofpeoplethat maybeassignedtoaproject,thereareonlyoneorafewcustomers, andtheprojectsarealwaysshortinduration.Evenmore,notallthe combinationsofthesevariablesarevalid,e.g.,ifthetypeofprojectis maintenancethecustomermustbeknown,iftheprojectisincident theprojectdurationcannotbelong,thusthereisalimitedamount ofvalidcontextconfigurations.Ourproposalallowstodetermine auniqueprocesstobefollowedoncethecontextconfigurationis defined,i.e.,itisafunction:

Tailoring:Context→Process

So,foreachcontextconfigurationthereisauniqueprocessthatis themostappropriateone,andfortwoidenticalcontext configura-tions,theprocessisexactlythesame.Moreover,differentcontexts mayleadtothesameprocess.Therefore,thenumberofpotentially differentprocessesthatmaybegeneratedisatmostequaltothe numberofcontextconfigurations.

Whenthenumberofcontextvariablesgrows,thenthenumber andcomplexityofthetailoringrulesalsogrows.Thismakesthe modelingactivitymoredifficult,andprogrammingtherules,that isalreadythemostsophisticatedpartoftheapproachevenmore complex.Theseissueschallengetheproposal’sadoption,atleast untilwedeveloptoolsforsupportingmodelingandrulegeneration.

4. TailoringtherequirementsengineeringprocessatKI

Wehaveformalizedthegeneralrequirementsengineering(RE) processusedbyKI,4asmall-sizedChileansoftwarecompany.This

companyisCMMILevel2certified,anditsorganizationalsoftware processisbasedonRUP.ItsprocessispartoftheTutelkánproject (Valdésetal.,2010),andispubliclyavailable.

ThisREprocessisaccompaniedbyasetofadaptation guide-lines.Theseguidelinesindicatewhichartifactsshouldorshould notbeincludedaspartoftheadaptedprocess,accordingtocertain projectcontextvalues.ThisisthewayKIhasaddressedthe prob-lemofmanuallytailoringageneralprocesstoasmall,predefined setofprojecttypes:largedevelopment,smalldevelopment, main-tenanceandincident.Eachprojecttypehasbeenclearlyidentified bythecompany’sprocessengineerasavalidprojectcontext.

Inthissection,wefirstdescribetheinputorganizational pro-cessandthecontextmodel.Wethenillustratehowtheadaptation guidelinesareturnedintorules.Finally,weshowtheresultsofthe automatedtailoringprocess,whichproduced theexpected pro-cessfor each predetermined projecttype. We alsopresent the resultsofapplyingourapproachtoanunexpectedprojectcontext: amaintenance-enhancementprojectforan unknowncustomer. Ourapproachsuccessfullygeneratedanadequateprocessforthis context.Theresultspresentedinthissectionhavebeenanalyzed andvalidatedbythecompany’sprocessengineer.

4.1. OrganizationalREprocessmodel

The studied requirements engineering process consists of two activities, which are carried out in parallel: Requirements Development and Requirements Management. Fig. 11 shows the organizational process, and Fig. 12 shows its formalization in

4http://www.kiteknology.com.

Fig.11. KIgeneralrequirementsengineeringprocess.

eSPEM.ThisprocessincludestheRequirementsEngineeringand Managementactivities,andispartofalargerprocess.

TheRequirementsDevelopmentactivityisdepictedinmoredetail inFig.13.Thisactivitymaytakeontwodifferentforms,depending onwhetherornottheprojectisinitsinceptionphase.Inthefirst case,theRequirementsDevelopmentactivityconsistsoftwooptional sub-activitiesthatcanbecarriedoutinparallel:ProblemAnalysis

andEnvironmentSpecification.Inallotherphases,thisactivityis brokendownintothreesub-activitiesthatarecarriedoutin paral-lel:RequirementsSpecification,RequirementsAnalysisandValidation

(10)

Fig.13.KI–theRequirementsDevelopmentactivity.

andEarlyChangeManagement;onlythelastoneisoptional.Yellow rectanglesareusedtovisuallyindicateprocesselementoptionality. The Requirements Management activity consistsof four sub-activities: the Requirements Understanding and Requirements Commitmentactivitiesarefirstcarriedoutsequentially,afterwhich theRequirementsTrackingandRequirementsChangeManagement

activitiesare carriedoutin parallel(seeFig.14).None ofthese sub-activitiesareoptional.TheRequirementsUnderstanding activ-ityisfurthersubdividedintothreesequentialsub-tasks:Identify RequirementsProviders,RequirementsReviewandEnsuringCommon RequirementsUnderstanding (see Fig.15). Note that theIdentify RequirementsProviderstaskismarkedasoptional.Thistaskisonly carriedoutiftheprojectisanewdevelopmentproject.Finally,the featuremodelinFig.16showsboththecommonandvariable pro-cesselementsoftheGeneralRequirementsEngineeringprocess presentedinthissection.

Fig.14.KI–theRequirementsManagementactivity.

Fig.15.KI–theRequirementsUnderstandingactivity.

4.2. Contextmodel

TheGeneralRequirementsEngineeringprocesspresentedinthe previoussubsectionisappliedtodifferenttypesofprojects.We havedefinedacontextmodelforKI,showninFig.17.Thiscontext modelhasthreedimensions:Domain,TeamandManagement.For example,theDomaindimensionhasthreeattributes:Application Domain,Development Environmentand Source of Documentation. Thefirsttwoattributescantakeontwopossiblevalues:“known” or“unknown”,whereastheSourceofDocumentationhasthree pos-siblevalues:“exist”,“doesnotexist”and“expert”(anexpertis thesourceofinformation).Theothertwodimensionsaresimilarly disaggregatedintoattributes,eachwithitsownpossiblevalues.

Weshowthecontextcharacterizationoftwotypicalprojects inTable2.Thepartsofthecontextmodelthatarerelevanttothe tailoringprocessarelistedinthefirsttwocolumns,andeachofthe remainingcolumnsrepresentsaparticularprojectcontext charac-terization.Forexample,thethirdcolumnliststhecontextattribute valuesthatcharacterizeasmall,newdevelopmentproject,within anunknownapplicationdomain.Inthistypeofprojectthereis nopreexistingdocumentation,boththedevelopmentenvironment andcustomertypeareunknown,theproviderisin-house,andthe projectdurationissmall(short).WeexpectthattheREprocess tailoredtosuchaprojectincludesalloptionaltasks,rolesandwork products,asthisisoneofthemostcomplextypesofprojectthatKI develops.

Ontheotherhand,theattributevalueslistedinthefourth col-umnofTable2describeasimplecorrective-maintenanceproject, where the application domain, development environment and customertypeareknown,documentationexists,theprovideris in-houseandtheprojectdurationismedium.Inthiscase,weexpect thattheresultingtailoredprocesswillbemuchsimplerthanthe oneforsmalldevelopmentprojects:duringtheInceptionphase, theRequirementsDevelopmentactivityjustincludestheProblem Analysissub-activity(inadditiontothemandatorysub-activities),

(11)

Fig.16. KI– featuremodelcorrespondingto:(a)theRequirementsDevelopmentactivityand(b)theRequirementsManagementactivity.

whileintherestofthephases,theRequirementsDevelopment activ-ityjustconsistsofthetwomandatorysub-activitiesRequirements SpecificationandRequirementsAnalysisandValidation.

TheRequirementsUnderstandingactivityforbothtypesofproject should consist of just two sequential activities: Requirements

ReviewandEnsuringCommonRequirementsUnderstanding.Thisis becausetherequirementsprovideris“in-house”.Fig.18showsthe resultingRequirementsDevelopmentandRequirements Understand-ingworkflows,whentailoredtotheSimpleMaintenanceproject context.

Table2

KI–contextcharacterizationsoftwotypicalprojects.

Dimension Contextattribute Smalldevelopment SimpleMaintenance

Domain Applicationdomain Unknown Known

Developmentenvironment Unknown Known

Sourceofdocumentation Doesnotexist Exists

Management Projecttype Newdevelopment Maintenance-correction

Provider In-house In-house

Customertype Unknown Known

(12)

Fig.17.KI–contextmodel.

Fig.18.KI–theRequirementsDevelopmentandRequirementsUnderstandingactivities,tailoredtotheSimpleMaintenanceprojectcontext.

4.3. Tailoring

KIhasasetofadaptationguidelines,whichtheyusetomanually tailor their process. Table 3 is a partial listing of the adapta-tionguidelinesprovidedbyKI.Theseguidelinesareexpressedas guardedactions,wheretheprocesselementsthatappearinthe “Action”columnare thosevariation pointsindicated in Fig.16. Forexample,ifwewanttotailorthegeneralrequirements pro-cesstoamaintenance-enhancementproject,thentheProblemand ProjectScopeDefinitiontaskisrequired,i.e.,thetailoredprocess mustincludethistask.

Theadaptationguidelinesforcommoncontextstendtobeclear enoughsothatthereisnoambiguityaboutwhattoexpectinthe adaptedprocess.Forexample,theEarlyChangeManagement activ-ityshouldneverbecarriedoutduringamaintenance-correction project.However,certainattributecombinationsarenotfully docu-mentedintheseguidelines.Forexample,iftheProviderisin-house, thentheProblemandProjectScopeDefinitiontaskmayormaynot berequired,dependingonthevaluesofothercontextattributes. Inothersituations,likethecaseinwhichthereisaSourceof Doc-umentation(“Exist”),nospecificactionhasbeenspecified.Fig.19

presents,asanexample,theATLimplementationofRule2,which

Table3

KI–adaptationguidelines(partiallisting).

Contextattribute Value Action

Projecttype Maintenance-enhancement ProblemandProjectScopeDefinitiontaskrequired Projecttype Maintenance-correction EarlyChangeManagementactivitynotrequired

Provider In-house ProblemandProjectScopeDefinitiontaskmayberequired

Provider Outsource ProblemandProjectScopeDefinitiontaskrequired

Sourceofdocumentation Doesnotexist EnvironmentSpecificationactivitymayberequired

(13)

Fig.19.ATLrule,determineswhethertheEnvironmentSpecificationactivityisrequired.

Fig.20.KI–theRequirementsDevelopmentprocesswhennodocumentationexists.

determineswhentheEnvironmentSpecificationactivityisincluded inthetailoredsoftwareprocess.Iftherulereturns“true”,the activ-itymustbeincludedintheprocess.

Letusnowconsiderthecaseofanunexpectedcontext,i.e.,a validcontextconfigurationthatwasnotrecognizedbythe com-panyasatypicalprojectcontext.Forexample,KIcouldreceivea maintenance-enhancementrequestfromanunknowncustomer. This project context is similar to Simple Maintenance context (fourthcolumn,Table2);however,nodocumentationexistsfor thisproject(sourceofdocumentationdoesnotexist).Therefore, thistypeofmaintenance-enhancementrepresentsanewproject contextfortheorganization.Althoughtheadaptationguidelines donotcontemplatethiscase,theguardedactionslistedinTable3

canbeusedtomake somedecisionsaboutthevariationpoints.

Table4

KI–maintenance-enhancementwithoutdocumentation.

Contextattribute Attributevalue

Applicationdomain Known

Developmentenvironment Known Sourceofdocumentation Doesnotexist

Projecttype Maintenance-enhancement

Provider In-house

Customertype Known

Projectduration Medium

Thecontextconfigurationforthisnewtypeofprojectisshownin Table4.Wecannowapplythetailoringrules.

Fig.20showstheresultofapplyingourtailoringrulestothisnew context.ThisprocessincludestheEnvironmentSpecification activ-ity,whichwasnotincludedintheprocessconfiguredtoSimple Maintenance(seeFig.18),sinceRule2indicatesthatthisactivity mustonlybeincludedwhennodocumentationexists.According tothecompany’sprocess engineers,this istheexpectedresult, eventhoughitwasnotexplicitlystatedintheoriginaladaptation guidelines.

4.4. Evaluation

Our MDE-basedtailoring solutionwasvalidated duringa 4-hworkshop that we organizedat KI. Participants included the company’sCEO,processengineer,andprojectmanagers.Atthis workshop,wepresentedthetechnicalaspectsofourproposal,as wellasademonstrationofourtoolchain.Weefficientlygenerated eachpossibleadaptationoftheprocess,andvalidatedeachonein conjunctionwiththeorganization’sprocessengineer.Thetailored processesweproducedwerecorrectandsuitableforeach particu-larprojectcontextaccordingtothecompany’sstakeholders.Also, sincethetailoringprocessisnowreplicableandfast,thecompany isconsideringtoincludethisasthefirststepofanynewproject.

(14)

Fig.21.Amisoft–organizationalsoftwareprocess.

5. TailoringthesoftwareprocessatAmisoft

Inthissection,wepresenttheapplicationofourapproachtothe developmentprocessofAmisoft,5anothersmallChileansoftware

company.Thiscompanydefineditsorganizationalprocessin2009, anditiscurrentlyimplementingtheISO9001:2008standard,as wellascertifyingCMMILevel2.Thissoftwaredevelopmentprocess isbasedontheOpenUPprocessmodel.

Inordertoapplytheproposedtailoringapproach,wefirst for-malizedtheorganizationalsoftwareprocessinEMF,withthehelp ofthecompany’sprocessengineer.Asinthepreviouscasestudy, processvariabilitywasmodeledinafeaturemodel.Wethen for-malizedthecontext model forAmisoft, aswellas two context characterizations.Afterthat, wedefinedthetailoringrules that specifyhow theprocessmust changeaccordingtothecontext. Finally,wedescribehowourproposedapproachwasusedtotailor theorganizationalsoftwareprocesstooneoftheprojectcontext characterizations.

5.1. Organizationalprocessmodel

Amisoft’s organizational process considers two predefined projecttypes: developmentand maintenance.Since this organi-zation typically addresses small software projects, particularly informationsystems, itsdevelopmentprocessis simple. Fig.21

shows the specification of this process, which consists of four sequentialactivities:Analysis,ArchitecturalDesign,DetailedDesign

andImplementation.

TheAnalysis activity involvesfour tasks: Elicitation, Require-ments Analysis, Prototyping and Requirements Specification (see

Fig. 22). The Elicitation and Requirements Analysis tasks focus ondeterminingtheusers’requirements,while theRequirements Specification task focuses on identifying the project’s software requirements.Iftheprojectinvolvesthedevelopmentofanew soft-wareproductthePrototypingtaskiscarriedout,helpingvalidate users’ requirements and translate them into software require-ments.However,thistaskisnotrequiredformaintenanceprojects, thusitisoptional.TheRequirementsSpecificationtaskshouldalways becarriedout;however,aformalrequirementsdocumentisonly producedwhen anewsystemis beingdeveloped,or whenthe developmentteam doesnot havea lotof experience.Forthese reasons,theorganizationalsoconsidersthistaskasoptional.

TheArchitecturalDesignactivityis optional,becauseitis not requiredformaintenanceprojects.Thisactivitydoesnothaveany variabilityinitsworkflow,andthuswedo notshowthe corre-spondingmodel.

TheDetailed Designactivity startswithtwo sequential tasks (DesignConceptionandDesignReuse)andendswiththree concur-renttasks(ComponentsDesign,DatabaseDesignandInterfacesand CommunicationDesign).Thespecificationofthisactivityisshown inFig.23.DuringtheDesignConceptiontask,designersdetermine whichcomponentsmustbepartofthesolutionandduringthe

DesignReusetask,theyidentifywhichcomponentdesignscanbe

5 http://www.amisoft.cl.

reusedfrompreviousprojects.Thesetwoinitialtasksareoptional, sincetheyarenotrequiredduringmaintenanceprojects. Compo-nentsDesignand DatabaseDesignaremandatorytasks.Thefirst oneaddressesthemodelingof componentsthathave yettobe designed,whilethesecondonefocusesonthedatabaseor datas-pace model.Since this companytypically develops information

Fig.22.Amisoft– theAnalysisactivity.

(15)

Fig.24.Amisoft–theImplementationactivity.

systems, theDatabase Designtask is mandatory.Some mainte-nanceprojectsdonotrequiredatabasechanges,buteventhenthis taskiscarriedout,sincechangesmadetothesoftwaremay trig-gersomedatabaseadjustments,e.g.,requiringthecreationofnew indexes.TheInterfacesandCommunicationDesigntaskdealswith theHuman–ComputerInteractionaspectsofthesoftwareproduct andalsocommunicationwithothersystems.Thistaskisoptional becauseitisnotrequiredduringmaintenanceprojects.

Finally,theImplementationactivityconsistsofthreeconcurrent tasks: ComponentsImplementation,DatabaseImplementation and

InterfacesandCommunicationImplementation(seeFig.24).During thesetasks,therolesresponsibleforthemimplementthedesigns producedduringtheDetailedDesignactivity.

Fig.25is thefeaturemodel associatedtothis software pro-cess.TherearetworequiresconstraintsbetweentheInterfacesand CommunicationDesignandInterfacesandCommunication Implemen-tationtasks:(1)fromtheimplementationtothedesigntask,which modelsthatthedesigntaskmustbecarriedoutbeforecodingcan occurand(2)fromthedesigntotheimplementationtask,whichis toensurethatthedesignisnotawasteworkproduct.

5.2. Contextmodel

Fourdimensions were identified by theorganization as rel-evantfor characterizingits projects:Team,Project,Business and

Product. The correspondingcontext model is shown in Fig. 26. TheTeamdimensionhastwoattributes:TechnicalKnowledgeand

Fig.26. Amisoft–contextmodel.

DevelopmentSkills,whichmodeltheteam’srequiredlevelof tech-nicalknowledgeanddevelopmentskills,respectively.TheProject

dimensionalsohastwoattributes: ProjectType,which cantake ononeoftwovalues(“Maintenance”or“Development”),andthe

ResourcesAvailabilitythatmodelsthelevelofavailabilityofhuman resources. TheBusiness dimension considers just one attribute:

TypeofDeliverable,whichcanbe“process-oriented”or “product-oriented”. When this attribute is set to “process-oriented”, a deliverablemustbegeneratedbyeachphaseoftheprocess(e.g.,a requirementsspecification,asoftwarearchitecturedocument,and soon).Whentheattributevalueis“product-oriented”,onlythe sourcecodeoftheproductmustbedeliveredtotheclient organiza-tion.Finally,theProductdimensionconsidersjustanIntegrationReq

attribute,whichindicateswhethertheprojectmustbeintegrated toanexistingsolution.

(16)

Fig.27.Amisoft–tailoringdecisions.

Fig.28.ATLtailoringrule,determineswhethertheRequirementsSpecificationtaskisrequired. 5.3. Tailoringrules

Thetailoringrulesforthisprocesswerespecifiedusingatable thatrelatesthecontextdimensionsandattributestoprocess fea-tures.Fig.27showsapartialviewofthistailoringtable.Sinceall therulesarespecifiedinasinglegraphicalrepresentation,the pro-cessofvalidatingwhentoapplyeachrulebecomeseasytocarry out.The intersectionbetween eachrow andcolumn character-izestherelationshipbetweenthecorrespondingattributevalue (row)andprocessvariationpoint(column).Acellisleftemptyif thereisnorelationbetweenthereferencedcontextattributeand variationpoint.Otherwise,weusethevaluesTrueandFalseto indi-catewhetherthereferencedtaskmustbeincludedorremoved fromthe tailoredprocess, respectively. We additionallyextend these values with +and − symbols, indicating whethera con-textattributehasahigherorlowerprioritywithrespecttoother attributes.

For example, the Requirements Specification task is weakly selectedwhentheteamhasmedium/lowDevelopmentSkills. How-ever,thistaskwillbestronglyomittedfromthetailoredprocess iftheprojectisproduct-oriented,i.e.,theRequirements Specifica-tiontaskwillnotbeincludedinthetailoredprocessforthistype ofproject.ThesetailoringguidelineswereformalizedusingATL.

Fig.28showsahelperrulethatdetermineswhentheRequirements Specificationtaskmustbeincludedinthisorganization’stailored softwareprocess.Here,the+and−valuesdeterminetheorderin whichthecontextattributesareevaluated:TypeofDeliverableis

evaluatedfirst(True+),whiletheDevelopmentSkillsandProjectType

attributesareevaluatedlast.

5.4. Context-adaptedprocesses

Table5 presents two examples of projectcharacterizations: SimpleandComplexMaintenance.Botharemaintenanceprojects (ProjectTypeis“Maintenance”),butthefirstonedoesnotrequire ahigh-leveloftechnicalknowledgeordevelopmentskills,while thesecondonedoes.Inbothcases,theonlydeliverableisthecode (TypeofDeliverableissetto“Product-oriented”).Thefirstcontext isprobablythesimplesttypeofprojectthatthiscompanydeals with,whilethesecondoneisabitmoredemanding.

Asinthefirstcasestudy,wetailoredthegeneralprocessusing the ATL rules derived from the tailoring decisions specified in

Fig.27.TheresultingprocessesareshowninFig.29.Inthefirst

Table5

Amisoft– twoprojectcharacterizations. Contextattribute Simple

Maintenance

Complex Maintenance Technicalknowledge Medium/low High Developmentskills Medium/low High Projecttype Maintenance Maintenance Resourcesavailability Low Low

Typeofdeliverables Product-oriented Product-oriented

(17)

Fig.29.Amisoft– thetailoredprocessmodelfor(a)aSimpleMaintenanceand(b)aComplexMaintenanceproject,respectively.

one,alloptionalprocesselementshavebeenremoved,asexpected; whereasthesecondoneissimilar,butalsoincludesthe Require-mentsSpecificationtask.

The adapted processes were analyzed by Amisoft’s process engineer,whoconsideredthattheyareappropriateforthe corre-spondingcontexts,andtheyarealsoconsistentwiththeguidelines definedbytheorganization.Inhisopinion,themostvaluableaspect of ourproposedtailoringmethodologyis its usability,since he couldquicklyadjustthecontextattributevaluesandimmediately seehowthesechangesaffectthetailoredprocesses.

6. Conclusionsandfuturework

Inthisarticle,wepresentanMDE-basedapproachfor automat-icallytailoringsoftwareprocesses,wheretransformationrulesare usedtoadaptageneralprocessmodeltoaspecificcontext.

The tailoring strategy takes as input two models, a general processmodelandaprojectcontextmodel,andproducesa context-specificprocess.Thisisdonebyapplyingasetoftransformation rulesthatdefinehowthegeneralprocessmodelvaries depend-ingonthecontext.Theserulesarespecifiedbyaprocessengineer andvalidatedbytheorganization’sprojectmanagers.Theproject managerisafterwardsonlyresponsibleforspecifyingthespecific project’scontext.

Thisapproachhasanumberofadvantages.Tailoringisdonein asystematicwaybecausethetransformationrulesareuniformly appliedaccordingtoacontextmodel.Thetotaltimerequiredto adaptaprocessismuchshorterthanbefore,sotheprocess engi-neercanquickly seetheeffect ofchanging a ruleor a context attributevalue.Wecanalsochecktheconsistencyoftheprocess engineer’stailoringknow-how.Inpractice,wealsoexpecttosee animprovementinproductivityinprojectsthatfollowprocesses adaptedusingourapproach.Thisisbecausethetailoredprocess onlyincludestheprocesselementsthat arestrictlyrequiredby aproject’scontextconfiguration,soonlytheessentiallyrequired resourcesshouldbeinvestedintheproject.

Thecasestudiespresentedinthispapershowedthatitis possi-bletoapplytailoringtransformationsbuiltforadaptingageneral processtodifferentprojectcontextsinaplannedmanner.Being abletovalidatethetransformationsforparticularknowncaseshas givenusconfidence oftheirvalidityinthegeneralcase. There-fore, whenever unanticipated scenarios happen, a combination of already builtand validated tailoringtransformations can be

applied,and as a consequence,anappropriate context adapted processcanbeobtainedquicklyandeasily.

Theexperiencehasallowedustoconcludethat:(1)the pro-posedtechniqueisaneffectivetooltoachieveprocesstailoring,(2) theapproachisusefulandpracticalbecauseitwaseasily imple-mentablebytheprocessgroup,and(3)itallowstorepresentand evolvethetailoringknowledgeofanorganization.However,(4) theprototypicaltoolmustbemoreusable,inparticulartodefine thetransformationrules.Additionally,theprocessengineersatone ofthecompaniessuggestedthatthetriplet(ContextConfiguration, TailoredProcessandResults)shouldbeusedtoempiricallyvalidate andimprovethecontextmodelandthetailoringdecisions.

Althoughthecasestudieswereconductedinnichecompanies withsmallprocesseswherethenumberofthecontextvariables andthenumberofprocessvariationpointsissmall,weexpectthat theapproachcouldbesuccessfullyappliedforlargerprocessesas well.Generally,largecompaniesareorganizedinsmallerentities whichbehavemuchlikesmallcompanies(Hamilton,1999). Never-theless,whenalargecompanyismanagedasawhole,thenumber ofprocessesfromtheprocesslinegrowsexponentiallyaccording tothenumberofvariationpointsandcontextconfigurations,and thisaddscomplexity.Performanceinprocesstailoringisnotan issuesinceitisdoneautomatically,butwritingtherulesand evolv-ingthemconsistentlymaybecomedifficultandexpensive.Further validationwithbigprocessmodelsisrequiredtoevaluatetheactual scalabilityoftheMDEapproach.

Wearecurrentlyexperimentingwiththisapproachinfourother Chileansoftwarecompanies,aspartoftheADAPTEproject,6alarge,

government-fundedinitiative.Thiswillallowustocontinue vali-datingthefeasibilityoftheproposedapproach.Sincethequality oftheinputmodelsisimportant,wearecurrentlyintegratingour toolchainwithsomeprocessqualityanalysistoolswehavealready developed(Hurtadoetal.,2012a).Moreover,wearenow work-ingonalsoimprovingmethodologicalandusabilityissuesofthe proposedtailoringapproach.

Acknowledgement

ThisworkhasbeenpartlyfundedbyprojectFondefD09I1171 ofConicyt,Chile.

(18)

References

Anon.,2011.SoftwareEngineering– LifecycleProfilesforVerySmallEntities(VSEs) – Part5-1-2:managementandengineeringguide:genericprofilegroup:basic profile.TechnicalReportISO/IECTR29110-5-1-2:2011,International Organiza-tionforStandardization,Geneva.

Aranda,J.,Easterbrook,S.,Wilson,G.,2007.Requirementsinthewild:howsmall companiesdoit.In:Proceedingsofthe15thIEEERequirementsEngineering Conference.IEEECSPress,pp.39–48.

Armbrust,O.,Katahira,M.,Miyamoto,Y.,Münch,J.,Nakao,H.,Ocampo,A.,2009. Scopingsoftwareprocesslines.SoftwareProcess:ImprovementandPractice14 (3),181–197.

Bai,X.,Huang,L.G.,Zhang,H.,2010.Onscopingstakeholdersandartifactsinsoftware process.In:Münch,J.,Yang,Y.,Schäfer,W.(Eds.),Proceedingsofthe2010 inter-nationalconferenceonNewmodelingconceptsfortoday’ssoftwareprocesses: softwareprocess(ICSP’10).Springer-Verlag,Berlin,Heidelberg,pp.39–51. Bajec,M.,Vavpotic,D.,Furlan,S.,Krisper,M.,2007a.Softwareprocessimprovement

basedonthemethodengineeringprinciples.In:SituationalMethod Engineer-ing:FundamentalsandExperiences,ProceedingsoftheIFIPWG8.1Working Conference,Volume244ofIFIP.Springer,pp.283–297.

Bajec,M.,Vavpotic,D.,Krisper,M.,2007b.Practice-drivenapproachfor creat-ingproject-specificsoftwaredevelopmentmethods.InformationandSoftware Technology49(4),345–365.

Batista,J.,DeFigueiredo,A.D.,2000.SPIinaverysmallteam:acasewithCMM. SoftwareProcess:ImprovementandPracticeJournal5(4),243–250. Beck,K.,Andres,C.,2004.ExtremeProgrammingExplained:EmbraceChange,2nd

ed.Addison-WesleyProfessional.

Belkhatir,N., Estublier,J.,1996. Supporting reuseand configurationforlarge scalesoftwareprocessmodels.In:SoftwareProcessWorkshop,1996. Pro-cessSupportofSoftwareProductLines,Proceedingsofthe10thInternational, pp.35–39.

Boehm,B.W.,Clark,B.,Horowitz,E.,Westland,J.C.,Madachy,R.J.,Selby,R.W.,1995. Costmodelsforfuturesoftwarelifecycleprocesses:COCOMO2.0.Annalsof SoftwareEngineering1,57–94.

Breton,E.,Bézivin,J.,2001.Modeldrivenprocessengineering.In:Computer Soft-wareandApplicationsConference,2001.COMPSAC2001,pp.225–230. Bustard,D.W.,Keenan,F.,2005.Strategiesforsystemsanalysis:groundworkfor

pro-cesstailoring.In:Proceedingsofthe12thIEEEInternationalConferenceand WorkshopsontheEngineeringofComputer-BasedSystems(ECBS’05).IEEE ComputerSociety,WashingtonDC,USA,pp.357–362.

Clements,P.,Northrop,L.,2001.SoftwareProductLines:PracticesandPatterns,3rd ed.Addison-WesleyProfessional.

CMMIProductTeamCMMIforDevelopment,Version1.2,2006.TechnicalReport CMU/SEI-2006-TR-008,SoftwareEngineeringInstitute.

Cockburn,A.,2000.Selectingaproject’smethodology.IEEESoftware17(4),64–71. European Commission, 2005. The New SME Definition: User Guide and Model Declaration. http://ec.europa.eu/enterprise/policies/sme/files/ smedefinition/smeuserguideen.pdf

Cusumano,M.A.,Cormack,A.M.,Kemerer,C.F.,Crandall,W.(B.),2009.Critical deci-sionsinsoftwaredevelopment:updatingthestateofthepractice.IEEESoftware 26(5),84–87.

Czarnecki,K.,Helsen,S.,2006. Feature-basedsurveyof modeltransformation approaches.IBMSystemsJournal45(3),621–645.

Dai,F.,Li,T.,2007.Tailoringsoftwareevolutionprocess.In:8thACISInternational ConferenceonSoftwareEngineering,ArtificialIntelligence,Networking,and Parallel/DistributedComputing,vol.2,pp.782–787.

Deelstra,S.,Sinnema,M.,Bosch,J.,2005.Productderivationinsoftwareproduct families:acasestudy.JournalofSystemsandSoftware74(2),173–194. Dörr,J.,Adam,S.,Eisenbarth,M.,Ehresmann,M.,2008.Implementingrequirements

engineeringprocesses:usingcooperativeself-assessmentandimprovement. IEEESoftware25(3),71–77.

Firesmith,D.,2004.Creatingaproject-specificrequirementsengineeringprocess. JournalofObjectTechnology3(5),31–44.

Hamilton,M.,1999.SoftwareDevelopment:BuildingReliableSystems.Enterprise ComputingInstituteSeries.PrenticeHall.

Harris,M.,Aebischer,K.,Klaus,T.,2007.Thewhitewaterprocess:softwareproduct developmentinsmallITbusinesses.CommunicationsoftheACM50(5),89–93. Henderson-Sellers,B.,Ralyté,J.,2010.Situationalmethodengineering:

state-of-the-artreview.JournalofUniversalComputerScience16(3),424–478.

Hofer,C.,2002.SoftwaredevelopmentinAustria:resultsofanempiricalstudy amongsmallandverysmallenterprises.In:Proceedingsofthe28thEuromicro Conference,pp.361–366.

Hurtado,J.A.,Bastarrica,M.C.,2009.Processmodeltailoringasameanforprocess knowledgereuse.In:2ndWorkshoponKnowledgeReuse,KREUSE,FallsChurch, Virginia,USA.

Hurtado,J.A.,Bastarrica,M.C.,Bergel,A.,2012a.Analyzingsoftwareprocessmodels withAVISPA.In:Raffoetal.(2011),pp.23–32.

Hurtado,J.A.,Bastarrica,M.C.,Quispe,A.,Ochoa,S.F.,2012b.AnMDEapproachto softwareprocesstailoring.In:Raffoetal.(2011),pp.43–52.

Hurtado,J.A.,Ochoa,S.F.,Quispe,A.,Bastarrica,M.C.,2011.Acontextmodeling languagetosupporttailoringofsoftwareprocesses.TechnicalReport TR/DCC-2011-14,ComputerScienceDepartment,UniversityofChile.

Jacobson,I.,Booch,G.,Rumbaugh,J.,1999.TheUnifiedSoftwareDevelopment Pro-cess.Addison-WesleyLongmanPublishingCo.Inc.

Jantunen,S.,2010.Exploringsoftwareengineeringpracticesinsmalland medium-sizedorganizations.In:Proceedingsofthe2010ICSEWorkshoponCooperative

andHumanAspectsofSoftwareEngineering(CHASE’10).ACM,SouthAfrica,pp. 96–101.

Jouault,F.,Allilaire,F.,Bézivin,J.,Kurtev,I.,Valduriez,P.,2006.ATL:aQVT-like transformationlanguage.In:Companiontothe21thAnnualACMSIGPLAN Con-ferenceonOOPSLA’2006.ACM,pp.719–720.

JTC1Informationtechnology/SC7,2008.ISO/IEC12207:2008systemsand soft-wareengineering–softwarelifecycleprocesses.TechnicalReport,International OrganizationforStandarizationISO.

Kang,K.C.,Cohen,S.G.,Hess,J.A.,Novak,W.E.,Peterson,A.S.,1990.Feature-Oriented DomainAnalysis(FODA).Feasibilitystudy.TechnicalReportCMU/SEI-90-TR-21, SoftwareEngineeringInstitute.

Kettunen,P.,Laanti,M.,2005.Howtosteeranembeddedsoftwareproject:tactics forselectingthesoftwareprocessmodel.InformationandSoftwareTechnology 47,587–608.

Killisperger,P.,Stumptner,M.,Peters,G.,Grossmann,G.,Stückl,T.,2009.Metamodel basedarchitectureforsoftwareprocessinstantiation.In:TrustworthySoftware DevelopmentProcesses,InternationalConferenceonSoftwareProcess,ICSP 2009,LNCS5543,pp.63–74.

Koolmanojwong,S.,Boehm,B.W.,2012.Theincrementalcommitmentmodel pro-cesspatternsforrapid-fieldingprojects.In:Münchetal.(2010),pp.150–162. Kornyshova,E.,Deneckère,R.,Claudepierre,B.,2010.Contextualizationofmethod

components.In:ProceedingsoftheFourthInternationalConferenceonResearch ChallengesinInformationScience(RCIS).IEEECSPress,pp.235–246. Kruchten,P.,2003.TheRationalUnifiedProcess:AnIntroduction.Addison-Wesley

LongmanPublishingCo.Inc.,Boston,MA,USA.

Laplante,P.A.,Neill,C.J.,2004.Opinion:thedemiseofthewaterfallmodelis immi-nent.ACMQueue1(10),10–15.

Ma,J.,Wang,Y.,2006.Aquantitivecontextmodelofsoftwareprocesspatternsand itsapplicationmethod.In:ProceedingsoftheSixthInternationalConferenceon QualitySoftware.IEEEComputerSociety,pp.243–250.

Martínez-Ruiz,T.,García,F.,Piattini,M.,Münch,J.,2011.Modellingsoftwareprocess variability:anempiricalstudy.IETSoftware5(2),172–187.

Mirbel,I.,Ralyté,J.,2006.Situationalmethodengineering:combining assembly-basedand roadmap-drivenapproaches. Requirements Engineering11 (1), 58–78.

Münch,J.,Yang,Y.,Schäfer,W.(Eds.),2010.InternationalConferenceonSoftware Process,ICSP2010.Proceedings,Volume6195ofLNCS.Paderborn,Germany, July8–9,2010.Springer.

Ocampo,A.,Bella,F.,Münch,J.,2005.Softwareprocesscommonalityanalysis. Soft-wareProcess:ImprovementandPractice10(3),273–285.

OECD,2005.Smallandmediumenterprise(sme)outlookreport.TechnicalReport, OrganisationforEconomicCo-operationandDevelopment.

OMG,2007.SoftwareprocessengineeringmetamodelSPEM2.0OMGbeta specifi-cation.TechnicalReportptc/07-11-01,OMG.

Osterweil,L.J.,1987.Softwareprocessesaresoftwaretoo.In:9thInternational Con-ferenceonSoftwareEngineering,ICSE’1987,pp.2–13.

Park,S.,Na,H.,Sugumaran,V.,2006.Asemi-automatedfilteringtechniquefor soft-wareprocesstailoringusingneuralnetwork.ExpertSystemswithApplications 30,179–189.

Pedreira,O.,Piattini,M.,Luaces,M.R.,Brisaboa,N.,2007.Asystematicreviewof softwareprocesstailoring.SIGSOFTSoftwareEngineeringNotes32(3),1–6. Pérez,G.,ElEmam,K.,Madhavji,N.H.,1995.Customisingsoftwareprocessmodels.

In:4thEuropeanWorkshopSoftwareProcessTechnology,EWSPT’95,Volume 913ofLNCS,Springer,pp.70–78.

Pohl,K.,Böckle,G.,vanderLinden,F.J.,2005.SoftwareProductLineEngineering: Foundations,PrinciplesandTechniques,1sted.Springer.

Raffo,D.,Pfahl,D.,Zhang,L.(Eds.),2011.InternationalConferenceonSoftwareand SystemsProcess,ICSSP2011.Proceedings.ACM,Honolulu,HI,USA,May21–22, 2011.

Ralyté,J.,Deneckère,R.,Rolland,C.,2003.Towardsagenericmodelforsituational methodengineering.In:CAiSE2003,LNCS2681.Springer-Verlag,pp.95–110. Rolland,C.,2009.Methodengineering:state-of-the-artsurveyandresearch

pro-posal.In:Proceedingofthe 2009ConferenceonNew TrendsinSoftware Methodologies,ToolsandTechniques.IOSPress,Amsterdam,TheNetherlands, pp.3–21.

Rolland,C.,Nurcan,S.,2010.Businessprocesslinestodealwiththevariability.In: Proceedingsofthe201043rdHawaiiInternationalConferenceonSystem Sci-ences,HICSS’10.IEEEComputerSociety,pp.1–10.

Rombach,H.D.,2005.Integratedsoftwareprocessandproductlines.In: Interna-tionalSoftwareProcessWorkshop,SPW2005,Beijing,China,pp.83–90. Ruiz,P.,Quispe,A.,Bastarrica,M.C.,HurtadoAlegría,J.A.,2012.Formalizingthe

soft-wareprocessinsmallcompanies.TechnicalReportTR/DCC-2012-2,Computer ScienceDepartment,UniversidaddeChile.

Schmidt,D.C.,2006.Model-drivenengineering.IEEEComputer39(2),25–31. Simidchieva,B.I.,Clarke,L.A.,Osterweil,L.J.,2007.Representingprocessvariation

withaprocessfamily.In:Wang,Q.,Pfahl,D.,Raffo,D.M.(Eds.),International ConferenceonSoftwareProcess,ICSP’2007,LNCS4470.Springer,Minneapolis, USA,pp.109–120.

Simmonds,J.,Bastarrica,M.C.,2011.Modelingvariabilityinsoftwareprocesslines. TechnicalReportTR/DCC-2011-10,UniversidaddeChile,Departamentode Cien-ciasdelaComputacion.

Sutton,S.M.,Osterweil,L.J.,1996.Productfamiliesandprocessfamilies.In:ISPW ’96:Proceedingsofthe10thInternationalSoftwareProcessWorkshop.IEEE ComputerSociety,Washington,DC,USA,p.109.

Tolvanen, J.P., Rossi, M., Liu, H.,1996. Method engineering: current research directionsandimplicationsforfutureresearch.In:ProceedingsoftheIFIP

(19)

TC8,WG8.1/8.2WorkingConferenceonMethodEngineering:Principlesof MethodConstructionandToolSupport.Chapman&HallLtd.,London,UK, pp.296–317.

Valdés,G.,Astudillo,H.,Visconti,M.,López,C.,2010.TheTutelkánSPIframework forsmallsettings:amethodologytransfervehicle.In:Proceedingsofthe17th EuroSPI,vol.99.CommunicationsinComputerandInformationScience, Greno-ble,France,pp.142–152.

vonWangenheim,C.G.,Weber,S.,Hauck,J.C.R.,Trentin,G.,2006a.Experienceson establishingsoftwareprocessesinsmallcompanies.InformationandSoftware TechnologyJournal48(9),890–900.

vonWangenheim,C.,Varkoi,T.,Salviano,C.,2006b.Standardbasedsoftwareprocess assessmentsinsmallcompanies.JournalofSoftwareProcess:Improvementand Practice11(3),329–335.

Washizaki,H.,2006.Buildingsoftwareprocesslinearchitecturesfrombottomup.In: Münch,J.,Vierimaa,M.(Eds.),Product-FocusedSoftwareProcessImprovement, LNCS4034.Springer,Amsterdam,TheNetherlands,pp.415–421.

Weiss,D.M.,Lai,C.T.R.,1999.SoftwareProduct-LineEngineering:AFamily-Based SoftwareDevelopmentProcess.Addison-WesleyProfessional.

Xu,P.,2005.Knowledgesupportinsoftwareprocesstailoring.In:Proceedingsofthe 38thAnnualHawaiiInternationalConferenceonSystemSciences,HICSS’05. Zowghi,D.,Firesmith,D.,Henderson-Sellers,B.,2005.UsingtheOPENprocess

frame-worktoproduceasituation-specificrequirementsengineeringmethod.In: Ralyté,J.,Agerfalk,P.J.,Kraiem,N.(Eds.),ProceedingsofSREP05.Paris,France, pp.59–74.

JulioArielHurtadoisanAssociatedProfessorattheSystemsDepartment,atthe Uni-versidaddelCauca.HeismemberoftheIDISgroup(SoftwareEngineeringResearch andDevelopment)since2005.HereceivedhisPh.D.inComputerSciencefrom theUniversidaddeChilein2012andaBachelorinElectronicand Telecommuni-cationsEngineeringfromtheUniversidadDelCaucain1997.Hismainresearch

topicsaresoftwareengineering,softwareprocessmodels,softwarearchitecture, model-drivenengineering,andsoftwareproductlines.Lately,hisworkhasfocused onapplyingusingMDEtechniquesandSPLapproachesfordesigningandanalyzing softwareprocessmodels.

MaríaCeciliaBastarricaisanAssistantProfessorattheComputerScience Depart-ment,attheUniversidaddeChile.ShecoordinatestheMaTEgroup(Modeland TransformationEngineering)since2007.ShereceivedherPh.D.inComputerScience andEngineeringfromtheUniversityofConnecticutin2000,aMasterofSciencefrom thePontificiaUniversidadCatólicadeChilein1994,andaBachelorinEngineering fromtheCatholicUniversityofUruguayin1991.Hermainresearchtopicsare soft-wareengineering,softwarearchitecture,model-drivenengineering,andsoftware productlines.Lately,herworkhasfocusedonapplyingusingMDEtechniquesfor modelingsoftwareprocesses.

JocelynSimmondsisaLecturerattheDepartmentodeInformaticaatthe Universi-dadTécnicaFedericoSantaMaría,Chile.ShereceivedherPh.D.fromtheUniversityof Torontoin2011.Hermainresearchareaissoftwareengineering,withspecific inter-estsinsoftwaretesting,behaviouranalysis,requirementsengineering,andmobile andwebdevelopment.

Sergio Ochoa is an Associate Professor of Computer Science Department at the Universidadde Chile.He receivedhis Ph.D. in EngineeringScience from Pontificia Universidad Católica de Chile in 2002 and a Bachelor in Software SystemsEngineerfrom UNICEN,Argentinain 1996. Hismain researchtopics areMobile/Ubiquitous/SocialComputing(particularlycontextawareness, loosely-coupledwork,positioning,adhocnetworking,systemsmodeling)andSoftware Engineering(softwaresystemsmodeling,developmentinsmallsoftware enter-prises:requirementsengineering,communicationandcoordinationandsoftware processtailoring).HeisactivememberoftheCARLandLACCIRnetworks;theSCCC conference,andtheIEEECS,ACMandCLEIjournals.

References

Related documents

For small planets, it is conceivable that the observed correlation between core mass and metallic- ity is, in part an artifact of detection biases — for a given planet radius,

In the particular case (2) of the scheduling of a collection of identical workflows which structure is limited to intrees, we compare our results to a lower bound and we show that

Departament de F´ısica de la Mat` eria Condensada, Universi- tat de Barcelona, Mart´ı i Franqu` es 1, 08028 Barcelona, Spain Universitat de Barcelona Institute of Complex

Alternatively, corrugated recycle process water, as a result of its toxicity, had a negative effect on microbial community resulting in decreased biogas production

Since Aaker (1997) has defined brand personality as a, “set of human characteristics associated with the brand”, therefore Islamic brand personality can be described as a, “set

malaccensis methanolic and aqueous leaves extracts showed that the extracts did not exhibit any toxic effect in rats and is therefore, likely to be safe for consumption; oral

Data for 49 medicines (lowest priced generics and originator brands) to treat cardiovascular diseases (CVD), diabetes, chronic obstructive pulmonary diseases (COPD) and central

The intuition is as in Leahy (1993): when computing its stand- alone date, a myopic incumbent overstates by the same amount the value of the investment option and the marginal bene fi