APPLICATIONSDEVELOPMENT: OUTSOURCINGSOFTWARE ISSUES,IMPLICATIONS, EdKazmierczakFergusO'Brien RashaAbbasPhilipDart TechnicalReport97/27 ANDIMPACT DepartmentofComputerScience TheUniversityofMelbourne Parkville3052,Australia December1997
DEVELOPMENT:ISSUES,IMPLICATIONS,AND OUTSOURCINGSOFTWAREAPPLICATIONS EricssonAustralia 723SwanstonSt RashaAbbasIMPACT rasha@epa.ericsson.se +61392822415 Carlton,3053 TheUniversityOfMelbourne ComputerScience Parkville3052 PhilipDart TheUniversityOfMelbourne EdKazmierczak ComputerScience Parkville3052 philip@cs.mu.oz.au +61393449103 Australia eka@cs.mu.oz.au +61393449106 Australia fob@serc.rmit.edu.au FergusO'Brien 723SwanstonSt +61392822413 Carlton3053 Australia SERC
ABSTRACT Informationtechnologyhasbecomeoneofthefastest-growing,fastest-changing marketsintheworld.thehighdemandonsoftwareapplicationsandservicesisforcingmorecompaniestoturntooutsourcingtomeettheircustomer Boththetechnicalandmanagementaspectsoftheseissuesareaddressed. sourcingsoftwaredevelopment,weexaminetheissuesandconcernswhich operations,productsordevelopmentofapplications. Further,theimpactofoutsourcingonsoftwaredevelopmentprocessesisdiscussed.Weconcludebydrawingattentiontotheissuesandtechnicalfactors whichinuencetheoutsourcingdecision. Inparticular,weattempttoisolatesomeofthemotivatingfactorsforout- needs.wedenesoftwareoutsourcingascontractingoutsoftwareservices, arisefromoutsourcingsoftwaredevelopmentanddiscusstheirimplications. Thispaperpresentsanoverviewofoutsourcinginsoftwaredevelopment.
2DriversforOutsourcing Contents 1Introduction 2.1GlobalisationandGlobalSoftwareOutsourcing...4 2.2SpecialisationandSoftwareOutsourcing...4 1.3AimsofthePaper...3 1.2FacetsofSoftwareOutsourcing...2 1.1SoftwareOutsourcing...1 41 4SoftwareDevelopmentOutsourcing:IssuesandImpact8 3ApplicationDevelopmentOutsourcing 3.2OutsourcingPhasesofApplicationDevelopment...6 3.1OutsourcingComponentsOftheSoftwareApplication...6 2.3KeyBenetsOfOutsourcing...4 4.2ImpactOfOutsourcingonSoftwareDevelopment...12 4.1IssuesinSoftwareDevelopmentOutsourcing...8 3.3DegreeandCategoryofOutsourcing...6 5 5SummaryandFurtherWork 4.3TheOutsourcingDecision...16 17 i
ListofFigures 6Decisiontreeforoutsourcing...17 7Analysingtheoutsourcingdecision...18 5Impactofoutsourcingonsoftwaredevelopmentmodels...12 3Examplesofdevelopmenttasks...7 4Focusoncorebusiness...8 2Contractingoutpartofasoftwaresystem...5 1Facetsofsoftwareoutsourcing...2 ii
ListofTables 1IssuesinOutsourcing...9 iii
1Introduction Informationtechnology(IT)hasbecomeoneofthefastest-growing,fastestchangingmarketsintheworld.Thedemandtoproduceneworspecialised softwareforspecialisedmarkets,business,governmentordomesticuseis everincreasing.forexamplethetelecommunicationsindustry,whichwas valueofaswitchinitssoftware[20].inaddition,thedemandfornew foundedonelectro-mechanicalgenius,nowplacesmorethan80%ofthe telecommunicationsservices,primarilybasedonsoftware,orsupportedor technologyworldandthedemandsimposedonthem. tructuresandstaexpertisetokeepupwiththechangesintheinformation customisedbysoftware,isincreasingandgrowingmorevital. inabilityoforganisationstodevelopcodefastenoughorchangetheirinfras- itsabilitytodeliver[18].indeed,theneedforoutsourcingisdrivenbythe ingthepaceofchange,theindustryisseeingcustomerneedsoutstripping grow,manyoftheopportunitiesareturningintothreats.farfrommaintain- However,asthescaleandcomplexityofthemarketplacecontinuesto Outsourcingisanewtermforanoldpracticeandisnotlimitedtothe 1.1SoftwareOutsourcing informationtechnologyworld;itmeanscontractingoutwork[5,13].we denesoftwareoutsourcingascontractingoutthedevelopment,planning, management,training,maintenance,oroperationofsoftwareservices,skills, products,orapplications. isted,butwhatrenewsinterestinsoftwareoutsourcinganddemandsour attentiontodayisthedramaticchangeinscope.softwareoutsourcingin thepastwaslimitedtosub-contractingandsmall-scalecontracts.however,itisbecomingamulti-billiondollarglobalindustry,andasizeable InternationalTradeCommissionreport,theglobaloutsourcingmarketisexpectedtoreach$99billioninrevenuesby1998[9].Asaresult,vendorsthat Enterpriseshavebeencontractingoutforaslongasbusinesshaveex- proportionofallitresourcesarespentonoutsourcing.accordingtoau.s. andglobalandlarge-scaleoutsourcingisbecomingmoreprevalent. specialiseinoutsourcingservicesoroutsourcingmanagementaregrowing expertise,sharingrisksandcosts,andre-usingproductsandexperiences. achievedthroughimprovingcompanyfocus,gainingaccesstotheneeded productsandservices,speeddeliverytimes,andreducecosts.thisis thedevelopmentdemands[13,23]. tools,makingalliancesandusingexternalexpertisetohelpkeepupwith demands.moreorganisationsareusingnewbutnotnecessarilyhomegrown Withoutsourcing,organisationsaimtoimprovequalitiesofsoftware Organisationsareengaginginoutsourcinginanattempttomeetmarket Fortheremainderofthepaper,wewillusethefollowingdenitions: 1
Outsourcer:Thepartythatusestheexternalproviderfortheoutsourced In-house:Useofinternalresources. Outsourcing:Useofexternalagents. Outsourcingvendor:Thecontractororexternalproviderdeliveringthe service. 1.2FacetsofSoftwareOutsourcing Collaborativesoftwaredevelopment:Useofbothin-houseandcontracted laborativeoutsourcingisalsoknownasallianceoutsourcing[16]. servicestoaccomplishasoftwaredevelopmenttask.thistypeofcol- outsourcingservicetotheoutsourcer. orprocessdependingontheorganisation'ssituationandneeds. cernusherearepeople,technologyandprocessasrepresentedinfigure1. Outsourcingcantakeplaceinanyoneoftheareasofpersonnel,technology Softwareoutsourcinghasmanyfacets,butthethreemainonesthatcon- neededexpertise.withshortagesinqualiedpeople,resourcingisbecoming amajordrivingfactorforoutsourcing.outsourcingpeoplealsosavesthe pathsneededtoattractandkeeptalentedpeopleandsavesontrainingcosts organisationfromthetroubleofprovidingthevarietyofworkandcareer forstaintherapidlychangingitindustry. Theoutsourcingofpeopletakesplacetoprovidetheorganisationwith Figure1:Facetsofsoftwareoutsourcing. outsourcingthetaskofauditingcompliancetoastandard,oroutsourcing anyprocedureorprocessassociatedwithit.thismaycover,forexample, outsourcepartsofthesoftwaredevelopmentprocessinordertoimproveef- partsoftheapplicationdevelopmentprocess.organisationsmaydecideto ciencyandqualityoftheiroveralldevelopmentprocess.alternatively,the Processoutsourcingisanotherfacetofsoftwareoutsourcingthatcovers 2 People Process Outsourcing Technology
ample,softwaredevelopmentforspecialisedrequirements,suchassecurity orsafety,requiresspecialprocessestobefollowedandspecialisedanalyses organisationmayneedtoimplementnewlyevolvingprocesses,improveprocessspeedandtimetodelivery,reduceprocessrisk,ortofollowaspecied process,withspeciedtasks,ofwhichithaslittleornoexperience.forex- andtestingofnewtechnologies,ortechnologyadviceandsupportservices. tobeundertaken[3,6]. nology[19].examplesofoutsourcingwhicharemotivatedbytechnology Thisgivestheorganisationincreasingexibilityandaccesstomoderntechtionsresorttooutsourcingfortechnologyeducationservices,identication aimingtoreducetheriskinvolvedininvestinginnewtechnologies,organisagies.lackingexpertiseorknowledgeofthesenewtechnologiesin-houseand competitive,organisationsoftenneedtoembraceawidevarietyoftechnolo- Neworemergingtechnologiesarethethirdfacetofoutsourcing.Tobe aremakinguseofcuttingedgeprogramminglanguages,operatingsystems, opmentraisesomeinterestingproblemsandissueswhichmustbeaddressed. outsourcing.however,thetechnicalaspectsofoutsourcingsoftwaredevelcialiseddevelopmenttools. 1.3AimsofthePaper hardwareandsoftwareplatforms,emergingnetworktechnologiesandspe- Manyorganisationshaverecordedfailuresanddisappointmentsbecauseof TheincreasingcomplexityoftheITworlddrivesmoreorganisationstoward alackofproceduresandclaritypriortoembarkingonoutsourcingventures. problemisthatthefearofgivingtoogreatamonopolytothesupplier analysetheissuesthatarisewithsoftwaredevelopmentoutsourcingandto establishframeworksandmodelswhichallowtheorganisationstooutsource withtoofewwaysofmeasuringvalueformoneyisstillpreventingsome organisationsfrommakingfulluseofoutsourcing[15].thereisaneedto aspectsoftheirsoftwaredevelopmentwithoutlosingcontrol. Further,outsourcinginsoftwaredevelopmentisagrowingarea.The Furthermore,wecomparekeymanagementandtechnicaldecisionsthatin- fromoutsourcinginsoftwaredevelopmentanddiscusstheirimplications. uenceoutsourcinginsoftwaredevelopment.finallywediscusstheeect opmentinanattempttoidentifythetechnicalandmanagerialissuesthat ofoutsourcingoncurrentsoftwaredevelopmentprocesses. toisolatesomeofitsmotivatingfactors.weexaminetheissueswhicharise Theaimofthispaperistoshedlightonoutsourcingsoftwaredevel- Inthispaperwelookatoutsourcingsoftwaredevelopmentandattempt inuenceoutsourcingdecisions. aswellaslessonsdrawnfromoutsourcingprojectswithinericssonaustralia. Ourpaperdrawsonexperiencesthathavebeenrecordedintheliterature 3
Inthefollowingsections,wediscusssomeofthetrendsandthekeybenets 2DriversforOutsourcing villageandthistrendisoftenreferredtoasglobalisation.globalisation thatcompaniesarenotboundbytheirlocalexpertisebecauseinternational providesnewopportunitiesinternationallyformanycompanies.itmeans Withthefastadvancesincommunication,ourworldisbecomingaglobal ofoutsourcingandcollaborativesoftwaredevelopment. resourcesarenowwithinreach.thistrendisencouragingcollaborativesoftwaredevelopmentandglobalsoftwareoutsourcingbecauseunlikematerial goods,digitalinformationcanbetransportedquicklyandcheaply.software 2.1GlobalisationandGlobalSoftwareOutsourcing Manyorganisationsarenowturningtooutsourcingtohelpthemcutcosts, countriesforafractionofthecostofdevelopingtheproductlocally[13]. 2.2SpecialisationandSoftwareOutsourcing technologicalexpertiseorforareductionincostoverlocalcompetitors.indeed,softwareprogrammingcan,andhas,beenoutsourcedtothirdworld developmenttaskscanberelocatedtoanothercountryfortheiradvanced andleavetheresttosomebodyelse.astheitworldischangingsofastand organisationsconcentrateonwhattheyaregoodat theircorebusiness needtospecialiseinspecicareas.outsourcingtendstobecoupledwith personororganisationcancaptureeverythinginitandthenkeepupwith theupdates,upgrades,changes,andadditions.peopleandorganisations improveservices,andfocusontheircorebusinessactivities[13].thishelps growingincreasinglymorecomplex,specialisationisbecomingvital.noone specialisation.asapartybecomesspecialised,workcanbedonemore reusesolutionsthathaveworkedfortheminthepast.whentheynda eciently.ratherthansolvingeveryproblemfromrstprinciples,they software[10]. concentrateonitsexistingexpertiseinhigh-availabilitytelecommunications nology,ratherthandevelopingitsown.theaimistoallowthecompanyto cusedstrategies,forexample,sunmicrosystemsfocusesinternaloperations onsmallsetofcriticalcoreactivitiesandoutsourcenearlyeverythingelsein itsvaluechain[16].alcatelhasdecidedtobuy-indigital'scomputertech- goodsolution,theyuseitrepeatedlywithdierentcustomers. ITrmshavebeenpioneersindevelopingpartneredrelationshipsandfo- 2.3KeyBenetsOfOutsourcing Initially,outsourcingwasusedasameansforcuttingcosts.However,itwas realisedthatitisnotjustaboutcuttingcosts,butmoreaboutimproving 4
servicesandfocusingoncorebusinessactivities,aswellascopingwithinternalandexternaldemands.marketleadersinallindustriesareincreasingly usingoutsourcingasawaytobuildandsustaincompetitiveadvantage[21]. Outsourcingalsohelpsorganisationstoimprovefocus,capitaliseonglobal opportunitiesandfreeupin-houseresourcesformorestrategictasks.further,outsourcingprovidesameansofkeepingpacewithchangesintheit industrywithouttheoverheadofconstantlytrainingstafornewtechnologies[4]. Anotherlessobvious,yetequallyimportant,benetofoutsourcingisin breakingawayfromanorganisation'sparadigm,whichincludesitsprocesses, technologyandpersonnel.softwaredevelopmentcanbecarriedoutby peoplethatarenotfromthesameorganisationorinthesamegeographical locationandconsequentlybringadierentapproachtothedevelopment. Recentresearchindicatesthatcrossingparadigmshelpstounlockcreativity andtocultivateideasandafreshwayoflookingatanddoingthings[12,17]. Foroutsourcingvendorsthereisabenetduetotheeconomiesofscale. Outsourcingvendorscanreusematerialforcommonapplicationsandspread theirsoftwaredevelopmentcostsamonganumberofcustomers. 0 0 0 1 1 1 0 0 0 0 1 1 1 1 0 1 0 1 0 0 0 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 In-House Outsourced Software Application Figure2:Contractingoutpartofasoftwaresystem. 3ApplicationDevelopmentOutsourcing Byapplicationdevelopmentoutsourcingwemeancontractingoutthedevelopmentofanapplication.Itcantaketheformofcontractingouttheentire application,totaloutsourcing,orcontractingoutonlysomecomponentsof thedevelopmentoftheapplication,selectiveoutsourcing.selectiveoutsourcingcanoccurinoneoftwoforms:outsourcingtheproductsrequired 5
ofasoftwaredevelopmentphaseoroutsourcingtheproductionofadened componentofthesoftwareapplication. isrequiredtomeettherequirementsandcommunicatethroughtheinterfaces,butmaybefreebeyondthattoadoptanyparadigmorpracticeto beoutsourcedaswellasitsinterfacesordrivers.theoutsourcingvendor totheserequirementsneedtobecommunicatedandagreeduponandmay besubjecttocollaborativecongurationmanagementorcollaborativerisk fullthem.anychangesfromtheoutsourcerortheoutsourcingvendor Figure2isintendedtoindicatethedegreesoffreedomintheoutsourcing 3.1OutsourcingComponentsOftheSoftwareApplication arrangement.theoutsourcerdenestherequirementsofthecomponentto asoftwareapplication. Applicationcomponentoutsourcingmeanscontractingoutacomponentof carryoutoneormoreofthesoftwaredevelopmentphases,forexample, Outsourcingsoftwaredevelopmentphasesmeanscontractingavendorto management. outsourcetheprogrammingtaskswhileretainingtheanalysisanddesign externalexpertisemayberequiredduringtherequirementsanalysis,design,coding,testing,ormaintenancephases.moretypically,organisations 3.2OutsourcingPhasesofApplicationDevelopment phases.notethatdevelopmentphasescanbecompletelyoutsourcedor Outsourcingcanlieonaspectrumwithcontractingouttheentiredevelopmentatoneend(totaloutsourcing)andoutsourcingnoneofitattheother 3.3DegreeandCategoryofOutsourcing theycanbecarriedoutcollaboratively. arecommonknowledgetopeopleintheindustryorroutinetasks.these tasks.further,thesetaskscanbeassociatedwiththeprocessorcomponent (totalin-house). (seefigure3forsomeexamplesofsuchtasks).commontasksaretasksthat cationschemeclassiestasksascontroltasks,specialisedtasksorcommon experiencetodothem.specialisedtasksaretasksthatneedspecialised taskscouldberesourceintensiveortimeconsumingbutrequirelessdomain moredetailatthekindsoftaskswhicharebeingoutsourced.ourclassi- Inthispaperweuseasimpleclassicationschemeinordertolookin mon,specialised,orcontrol)mayfallintooroutsidethecorecompetencies agementtasks)ortasksthatcontroltheapplication(forexampleaccessto lesystem,memoryaccess,orprocessspawning).further,thesetasks(com- knowledgeandhighdomainexperiencetobedoneeciently.controltasks arethetasksthatcontrolthedevelopmentprocess(forexampleprojectman- 6
Common Tasks Common Tasks - Programming - Glue Code Specialised Tasks Specialised Tasks oftheorganisation.corecompetenciesarecriticalactivities,skillservices, Figure3:Examplesofdevelopmenttasks. - Application Design - Data & Information Management - Test Plans - Education & Training - Legacy Transformation Control Tasks Control Tasks - Project Management - Access to Memory - Formal Reviews - Security Manager - Change Request Signatory estedinacquiringorcannotacquireintheneededtimeframe.anexample andknowledgebasesthatcreatecontinuousaddedvalueandcompetitive portantbutneedveryspecialisedresourcesthattheoutsourcerisnotinter- advantagetotheorganisationanddistinguishitfromitscompetitors[5]. partoftheircorestrategiccompetencies. outsourcingmainlycommontasksandsomespecialisedtasksthatarenot Specialisedtaskswhichareoutsourcedcouldbehighlycriticalandim- Thecasestudiesin[5,,15,22]seemtoindicatethatorganisationsare PROCESS PRODUCT ofoutsourcedspecialisedtasksissoftwarepackagesfordealingwithtaxation.theseareessentialtoorganisationsbutareprobablyonlyneededonce ayear,butiftheyweredevelopedin-housethentheywouldneedhighlyspecialisedpersonneltobeallocatedallyeararoundtomonitorandmaintain changesintaxationlaw.vendors,typicallyrelieveorganisationsofthis requirement. lesscreativetasksorveryspecialisedtasksrequiringexpertisenotworth developingin-house. categoriesandtheideaoffocusingoncorebusinesswhilelettingothersdo oflearningandgainingtheexperienceinternally.figure4depictsthetask theneededexpertiseinternally.inthiscasetheoutsourcingrelationshipis eitherapartnershiporastronglycoupledrelationshipwiththeintention Organisationsalsooutsourcesomeoftheircoretasksiftheydon'thave 7
In-House Development Outsourced Tasks 4SoftwareDevelopmentOutsourcing:Issuesand Common Tasks Common Tasks Not part core competencies Specialised Tasks Core Competency (Expertise not available in-house) 4.1IssuesinSoftwareDevelopmentOutsourcing Figure4:Focusoncorebusiness. Outsourcingsoftwareapplicationdevelopmentraisessometechnicaland Control Tasks Specialised Tasks managerialissueswhicharedierentfromtheissuesassociatedwithpure Impact Not part desired Core competencies competencies in-housedevelopment.thiscausesenoughconcerninsomeorganisationsto preventthemfromtakingfulladvantageoftheopportunitiesandadvantages waysofresolvingthem.table1listssomeofthemanagementandtechnical issueswhichinuencethenatureofoutsourcinginsoftwaredevelopment.it oeredbyoutsourcing. isimportanttonotethatmanagementandtechnicalissuesinoutsourcing arestronglyinterdependent.wediscusssomeoftheseissuesbelow. Control Thereisaneedtoexaminetheseissuesasarststeptowardsnding Thiscoverscontroloverthesoftwareengineeringprocessandcontrol overthenalproduct.controloverthesoftwaredevelopmentprocess isessentialtomaintainingcontroloverthequalityandotherdesirable product,andconsequentlysurrenderingsomecontroloveritsdevelopment,theoutsourcercannolongerguaranteepropertiessuchas security,qualityandcondentiality[,15].agreementsandcontract propertiesoftheproduct.thereisadangerthatbyoutsourcinga 8
Outsourcingdecision (who,when) Vendorcapacity andavailability Outsourcingscale/sizeOutsourcingscale/size (total/selective) Management Trust(safety,security, reliability) Vendorcapability (total/selective) Technical Contract Ownership/IP/ Location Frequencyofuse Liability/ResponsibilityTechnology Cost RelationshipwithvendorConformancemeasures/ Paradigms Criticality/Control (strategic/short-term)quality Systemdecomposition Resourcing &Interface RiskManagement Privacy Processvisibility Managingtheprocess/Maintenance Coordinatingvendors Systemevolvability Table1:IssuesinOutsourcing. Verication&Validation Conguration &Re-usability Management thatgivethemmarketadvantageandfuturecontroloverthenal termsneedtoclearlyaddressthisissuebutadditionalassurancemay productneedtobekeptinhouseorprotectedinthecontract.during canbeoutsourced.criticalaspectsofthesystemalongwithaspects assafety,aremet. Further,issuesofcontrolneedtoberaisedwhendecomposingthe systemintosubmodulesandidentifyingwhataspectsofthesystem berequiredbytheoutsourcerthattargetsforsystemproperties,such Responsibilitiesandownership beclearlystatedinthecontract.further,ownershipofintermediate products,suchasdesigns,scenariosortestdataneedstobeconsidered.thisisespeciallyimportantwhentheseproductsofthesoftware systemneedtobeidentied,classied,andaggedformanagement. outsourcingventureandtheownershipofthenalproductshaveto Theduties,responsibilitiesandliabilitiesofeachofthepartiesinan systemanalysisanddesign,thesecriticalandcontrollingaspectsofthe 9
torequirements,changestoschedulesorchangestodesignsoncecollaborativedevelopmentisunderway. ofthechangingnatureofprojects,forexample,theremaybechanges protectallpartiesinvolved.theneedforexibilityisaconsequence tobeexibleenoughtoallowroomforchanges,yetstrongenoughto maintenanceorevolution. Anyoutsourcingagreementforcooperativesoftwaredevelopmentneeds engineeringprocessareneededbytheoutsourcerforongoingsystem Managingandcoordinatingoutsourcingvendors oftheparticipantsandactivitieswithinthesoftwarelife-cycle.the theoutsourcerwhichinturnmayraiseprivacyandsecurityconcerns. Manyrisksinsoftwaredevelopmentareassociatedwiththediversity Finally,informationmayneedtobeexchangedbetweenthevendorand impactofoutsourcingontheseriskscanbevariable[13].theissues hereare: toensuretheavailabilityandcapacityofthevendortocarryout thecollaborativedevelopmentatthecriticaltimesintheoverall Inadditiontothecoordinationandmonitoringeortsneeded,the tomonitorthestatusoftheproject,andalloftheoutsourced toplandependenciesintheprojectplan; or,ifneeded,correctiveactioncanbetaken. components,sothatadjustmentstotheprojectplancanbemade projectplan; Developmentparadigms potentialdiversityoftechnologyplatforms,architecturesanddevelopmentparadigmscanraiseissuesofcompatibilityandportabilityacrosnentsarecompatibleandcanbeintegratedintotheoverallsystem. theproject.theproblemhereistoensurethatthevariouscompoopmentparadigmsneedtoconsidered.thisisespeciallycriticalif Issuesofcompatibility,integrationandcommunicationacrossdevel- dier.theoutsourcerandthevendormayusedierentsoftwareengineeringprocessesordierentanalysisanddesignmethodologiesand consequentlydierentdevelopmenttools. theyarerequiredtofollow,perhapsaspartoftheoutsourcer'scontract,arealsofollowedbythevendor. Ifdierentanalysisanddesignmethodsareusedthen,atthevery least,thereisariskofconfusionincommunicationbetweenoutsourcer thedevelopmentparadigmsusedbytheoutsourcerandthevendor Theoutsourcermustensurethatanystandardsorprocesseswhich 10
waredesignsandotherprojectrelatedmaterials.ingeneral,strategies forintegratingoutsourcedproducts,whichhavebeendevelopedusing methodsandtechnologiesdierenttotheoutsourcer'smethodsand andvendor.ifthemethodsaresupportedbydierenttoolsetsthen technologiesmayneedtobeputinplace,forexample,astrategyfor theremaywellbeaproblemwhenexchangingdocuments,code,soft- Trustandassurance jointcongurationmanagement(seesection4.2)whichtakesintoaccountdierentcongurationmanagementtools. outsourcedthentheoutsourcermaywishtoseekassurancethatthe Projectsmayrequiretrustedcomponents,forexample,aprojectmay requireasecureorasafetyrelatedcomponent.ifsuchacomponentis componentmeetsitssafetyorsecurityrequirements.theproblemfor thesystemasawholemeetsitssafetyorsecurityrequirements.a theoutsourceristoobtainassurancethattheoutsourcedcomponent safetyorsecurityrequirementsthesystemasawholemayfailtomeet technicalissueisthateveniftheoutsourcedcomponentmeetsits Theproblemforbothpartiesistogainthenecessaryassurancethat meetstherequiredleveloftrustworthiness. Systemdecomposition,integrationandinterfaces itssafetyorsecurityrequirements.thereasonforthisisthatsystem properties,likesafetyorsecurity,arepropertiesofthewholesystem and,ingeneral,notjustcomponents. Ifthedevelopmentofsubsystemsistobeoutsourced(componentoutsourcing),thenthecriteriafordecomposingthesystemwillbedierent tototalin-housedevelopment.theorganisationofthearchitectural becarefullyconsideredtominimizedependenciesandside-eectsof change.however,therewillalwaysbetheneedtohandlechange. Anysubsystemwhichisoutsourcedwillhavetobeintegratedintothe tembehaviourmeetsitsrequirementsafterintegrationintothewhole Oneoftheproblemsthatmayneedtobefacedisthatastheproject progressestheinterfaceswillchange.thismaybeasaresultofchang- wholeatalaterstage.thereisaneedtoensurethatthesubsysingclientrequirementsoritmayresultfromabetterunderstanding system. oftheproblemtobesolvedbytheoutsourcer,thevendororboth. componentsofthesystemandtheinterfacesbetweenthemneedto
PLANNING - Vendor selection and capacity - Project plan - Development processes & paradigms - Identify core strategic specialities - Resolve Ownership, IP, and liabilities CONFIGURATION MANAGEMENT PLANNING - Availability - Project plan - Development processes & paradigms - Specialities and expertise needed - Resolve Ownership, IP, and liabilities CONFIGURATION MANAGEMENT - Lines of authority for accepting changes - Lines of authority for accepting changes - change impact and propagation procedures Instigate and Manage - change impact and propagation procedures Outsourcing Relationship VERIFICATION & VALIDATION VERIFICATION & VALIDATION - Bonding - Assurance that components meets technical - Components function correctly - Monitoring and operational requirements - Blending Efforts, - Components function correctly within their intended operating environment - Benchmarks RISK MANAGEMENT RISK MANAGEMENT - Relationship - Availability required skills - Control - Withdrawal outsourcer - Withdrawal from decision leastthefollowingareaswhichwillbeinuencedbyoutsourcing: Insection4.1wehavetriedtoidentifysomeoftheissuesassociatedwith thatthoseissueshaveonsoftwareengineeringprocesses.wecanidentifyat 4.2ImpactOfOutsourcingonSoftwareDevelopment outsourcingsoftwaredevelopment.inthissectionweexaminetheimpact Figure5:Impactofoutsourcingonsoftwaredevelopmentmodels. - Skills & capacity vendor - Changing requirements & environment - Delays delivery time - Penalties - Changing requirements & environment - Privacy and security ongoingprojectmanagement; projectplanning; Outsourcer Outsourcing Relationship Outsourcing Vendor ThesekeyactivitieshavebeensummarisedinFigure5. vericationandvalidation; riskmanagement; congurationmanagement; theneedtoevaluate,chooseandnegotiatewithpotentialoutsourcing Theissueswhichinuenceprojectplanningare: vendors; 12
theneedtoschedule,monitorandintegrateoutsourcedtasks; theneedtoplanandbudgetforjointsoftwareengineeringactivities, thenatureoftheoutsourcingrelationship; development.foroutsourcing,organisationsalsoneedtoidentifytheircore ofplanningactivitieswhichmusttakeplacewhenoutsourcingpartsofthe atanytimeinthedevelopmentprocess.whetherthisisfeasible,orindeedpractical,remainstobeseen.attheveryleastthereareanumber Intheoryorganisationscandecidetooutsourceaproductorservice forexample,jointcongurationmanagement,jointvalidationandvericationorteamriskmanagement[8,7]. strategicspecialtiesanddecidewhichaspectsoftheprojectcanbeoutsourcedandwhichaspectsoftheprojectarebestkeptin-house.thismay onprojectplanning,oritmaybedecidedonacasebycasebasisinwhich beamatteroforganisationalpolicy,inwhichcasetheremaybelittleimpact casethedecisionprocesswillneedtobescheduled. dealtwithearlyintheprojectbecausethetimeinvolvedinestablishingthe tondandevaluatevendorswhocouldmeettherequirements.thisisbest criticaltimesintheprojectplan.intheabsenceofastrategicalliancewith avendorwhocansatisfytheprojectrequirements,theoutsourcermayneed requiredexpertiseareavailableandhavethecapacitytodotheworkatthe criticaltimesinprojectsinuencesplanning.ifthedecisionhasbeenmade tooutsourcepartsofthedevelopmentthenitiscriticalthatvendorswiththe Thenatureofrelationshipswithvendorsandtheiravailabilityatthe ofproductswillneedtobetakenintoaccountintheoverallprojectplan.we consideration,butratherthattheoutsourcingdecisiondependsonboththe projectplanandtheavailabilityofdevelopersatthecriticaltimes. andthatndingadevelopertocarryouttherequiredtasksisasecondary donotwishtosuggestthatestablishingtheprojectplantakesprecedence outsourcingagreement,theavailabilityofresourcesandthetimelydelivery benchmarkingneedtobecontinuouslypracticed.[16].bonding,inthe contextofprojectmanagement,referstoeortsof: velopmentoftheoutsourcedcomponents,thenbonding,monitoringand deningthecommunicationandcontrolchannels; establishingtherelationshipwiththeoutsourcingvendor; Inorderfortheoutsourcertoexercisealevelofcontroloverthederectedtowardsverifyingtheprocesscontrolsandensuringstandardpractices acrosstheboard[16].inpracticethiscouldmeanensuring, structuringtheinternalpersonneltooverseetheoutsourcingwork; makingtheongoingadjustmentsintheoutsourcingrelationship. Monitoringeorts,inthecontextofongoingprojectmanagement,isdi- 13
thatvericationandvalidationprocessesfortheoutsourcedcomponentsmeettheprojectstandards; compliancewithstandards; thatthereissucientprogressagainsttheoverallprojectplan. thatproperriskmanagementproceduresarebeingfollowed; thatpropercongurationmanagementprocessesarebeingfollowed; Further,theoutsourcingvendors'performance,expertise,cost,andqualmarkmeasuresneedtobeagreedonandreectedinthecontractityneedtobecontinuouslybenchmarkedagainstcompetitors.Thesebench- toevolvingcomponents[14,1].fromtheprojectmanagementperspective, propercongurationmanagementallowsthecurrentstatusofcomponents agementallowsustocontrolandcoordinatechanges,determinetheimpact mentationactivities[1].fromthetechnicalperspective,congurationman- tobedeterminedandusedtocoordinatetheprojectplanningandimple- ofthosechangesandpropagatethosechangestotherequireditems. Congurationmanagementdealswiththetrackingandcontrolofchanges ofcongurationmanagementmayneedtobeputinplacetodene: duresinplace,butoncecongurationitemsaresharedthenanotherlayer outsourcingvendormayhaveestablishedcongurationmanagementproce- changeneedstobecontrolledacrossallparties.boththeoutsourcerandthe thechangingnatureofprojectsmeansthatthecongurationitemsshared betweenoutsourcerandoutsourcingvendoraresubjecttochangeandsuch betweentheoutsourcerandtheoutsourcingvendor.theproblemisthat Inanoutsourcingsituation,congurationitemswillhavetobeshared changeimpactandpropagationprocedures. properlinesofauthorityforchangecontrol; properchannelsofcommunication; baselinesforitemswhichneedtobesharedbetweenoutsourcerand Anotherareawheretheoutsourcingdecisionhasanimpactisinthe outsourcingvendor; requirementfromanyserviceagreementsorcontractswhichmaybeinplace. itstechnicalandoperationalspecications.notethatthisisadierent thentheoutsourcermayrequireassurancethattheproductactuallymeets meantakingintoaccountsuchnon-functionalfactorsas: areaofvericationandvalidation.onceaproducthasbeenoutsourced assurancethatthecomponentnotonlyfunctionscorrectly,butthatitfunctionscorrectlywithinitsintendedoperatingenvironment,andthiscould Inthecaseofoutsourcingasystemcomponent,theoutsourcerneeds 14
systemuseability; systemsafetyorreliability; systemperformance; ticesislikelytobeinthedegreeofdicultyratherthaninthepractices suchasdierentvericationandvalidationpracticesacrossorganisations. Consequently,theimpactofoutsourcingonvericationandvalidationpracmentsisalreadyadiculttask.Inthepresenceofoutsourcing,thevericationandvalidationtasksarelikelytobemoredicultbecauseoffactors systemsecurity. themselves. Outsourcinginvolvesbothbusinessriskandprojectmanagementrisk. Verifyingthatasystemexhibitsthesepropertiesandmeetsitsrequire- Someofthebusinessrisksincludethefollowing. Establishingandmaintainingtherelationshipsrequiredforsuccessful Someoftheprojectriskswhicharerelatedtooutsourcingarethefollowing. Therearesubstantialimpedimentstowithdrawingfromtheoutsourcingdecision,onceithasbeenmadeandimplemented. outsourcingcanbecomplexandresourceintensive[13]. losingcontroloverkeyaspectsofthesystemcancausetheoutsourcer Therequiredskillsandabilitiesneededtodothejobmaynotbe availableoraccessible. tobecomestrategicallydependentontheoutsourcingvendor. Delayswhencoordinatingmultiplevendorswillhavehighconsequences, Therisksassociatedwithintegratingpotentiallydiversetechnologies Theoutsourcingvendorslackthecapacitytodelivertheoutsourced intoaworkingoverallsystem. especiallyiftheworkorproductisonacriticalpathwithhighdependencies. productsinaccordancewithoverallprojectplan. Spiral[2]model,maynotbesuitableinamulti-vendorsituation.Procedures processmodelswhichtakeprojectriskintoaccount,forexampleboehm's Thisalongwiththeknownrisksofanysoftwaredevelopmentprojectmakes recognisingriskandmanagingriskmoreimportant.further,wellknown Changingrequirementsandenvironmentswhichmayimpactonthe TeamRiskmanagementprocedures,maytakeongreaterimportance. formanagingriskinthecontextofnumerousstakeholders,suchasthesei's cost,deliverytimes,andqualityofwork. 15
willbebenecialfortakingintoaccountthenumerousfactorswhichinuencethesuccessorotherwiseofanoutsourcingventure. todescribetheirimpactonsoftwareengineeringprocesses.theoutsourcing decisionisusuallymadeinabroadercontextwhichweoutlinebelow. Organisation'ssituation Wehaveexaminedsomeoftheissuesinvolvedinoutsourcingandtried lemareas.theyneedtoevaluatetheorganisation'spositionamong Organisationsneedtoanalysetheircurrentsituationtoidentifyprob- 4.3TheOutsourcingDecision Outsourcingoersorganisationsnewopportunitiesaswellasnewchallenges. Webelievethatastructuredapproachtomakingtheoutsourcingdecision Driverstooutsourcing andexternalalternativesandwithrespecttothepeople,processesand technologyrequiredfortheproject. Akeypointinanalysingtheoutsourcingdecisionisanassessment needtoidentifytheorganisation'scorebusiness,skillsandcompetencies.further,theorganisationneedstoevaluatetheavailableinternal competitorsandtheorganisation'sstrengthsandweaknesses.they Outsourcingissues alsoguidethedegreeofoutsourcing(ascalerangingfromtotalinhouse,selectiveoutsourcing,ortotaloutsourcing). Issuesraisedinthispaperalongwithotherissuesspecictotheorganisationneedstobeevaluatedandresolved.Wehavetriedtoshowthat selectionandtherelationshipwiththeoutsourcingvendor.thiswould oftheorganisation'sdriverstooutsourcing.thisshouldguidethe thereareanumberoftechnicalfactorswhichneedtobeconsideredin Makingthedecision additiontothemanagerialandeconomicfactorsusuallyconsidered. Adecisiontreecanbeusedtomodelthedierentalternatives,andto helpinanalysingandevaluatingthedierentpossibilities.anexampledecisiontreeforthescaleofoutsourcinghasbeengiveninfigure6. Itshowssomeofthetechnicalfactorsneededasinputformakingthe fromtotalin-house,selectiveoutsourcing,ortotaloutsourcing).after assessingthesituation,identifyingthedriversandevaluatingallissues, outsourcingdecision. Withtheoutsourcingdecision,theorganisationneedstodecidewhatis beingoutsourced,whothepotentialvendorsare,whenthepropertime organisationscanmakeadecisionwhethertogowithoutsourcing.as tooutsourcewillbe,andthedegreeofoutsourcing(ascaleranging 16
Strongly Coupled - Expertise Selective Outsourcing - Time core - Technology - Control analcriteria,organisationsneedtoevaluatewhether:outsourcing Figure6:Decisiontreeforoutsourcing. - Trust - Safety - Cost - Technical people Application support In-house Development - Market survey - Feasibility study Total Outsourcing - Expertise - Interest non - Technology core - Time Selective Outsourcing - Cost Alternative (points inside reflect technical inputs needed) In-house infigure7.thequestionsandissuesinfigure7aremeanttoserveas beaddressedbeforetakingthedecisiontooutsourcehavebeensummarised Someoftheissues,driverstooutsourcing,andkeyquestionsthatneedto ismotivatinganddrivingtheorganisationtooutsource. therequirementsandcriteria,andoutsourcingachievethegoalsthat tstheorganisation'sstrategyandsituation,theinternalalternatives havebeenevaluated,thereareoutsourcingvendorsavailablethatmeet Uncertain criteriaforthenaldecisiononoutsourcing. 5SummaryandFurtherWork Outsourcingbringsalongnewopportunitiesandchallenges.Throughoutsourcing,organisationsaimtofocusoncorebusiness,improvequalitiesof aguide,andeachorganisationmayneedtocomeupwithitsownsetof toresolveissuessuchasparadigms,boundaries,specications,design,insuesthatneedtobeaddressedandresolved.furtherworkisstillneedeterfaces,riskmanagement,measurements,andoutsourcingprojectmanagement.organisationsneedtoadapttheirprocessmodelstoaccommodatethe isachievedthroughimprovingcompanyfocus,gainingaccesstotheneeded re-usingproductsandexperiences. expertiseandtechnologies,improvingprocesses,sharingrisksandcosts,and softwareproductsandservices,speeddeliverytimes,andreducecosts.this outsourcingactivities.thisalongwiththelargenumberofoptionsavailable makestakingtheoutsourcingdecisionsmorecomplex.itisimportanttoassesstheorganisation'ssituationanddriverstooutsourcingandaddressthe Outsourcing,however,bringsalongkeytechnicalandmanagementis- 17
Company s Situation Outsourcing Issues Key Questions Management * What are the company s strengths, weaknesses, opportunities, and threats? * Capacity, availability, capability of outsourcing vendors * How strong is the company s competitive position? * Scale/size of outsourcing (total/selective) * What are the company s key * Vendor Relationship competencies? (strategic/ short term) Taking The Decision [ Yes/No, Who, When, What, Degree] * How far does change is the industry * Contract and conformance affect the company s business? * Ownership, IP, & location of source Key Criteria *What are the industry s dominant traits? * Frequency of use * Which company s are in strongest/ * Bonding, monitoring, and coordination * Does outsourcing have good fit with weakest competitive positions? efforts and resources company s strategy and situation? issuesandrisksbeforetakingthedecision.asoftwaredevelopmentoutsourcingframeworkcouldbedevelopedtoassistthosemakingoutsourcing * Liability/ responsibility * Is there vendor/s that meet company * Flexibility control requirements? Drivers Outsourcing * Cost * Will it help build a copetitive advantage? decisionsinsystematicallyworkingthroughtheissuesandoptions. Key Factors Technical * Will it improve performance/ time/ cost? * Cost saving * Trust/ assurance * Is it feasible? * Time * Technology (Platform, OS, (meeting deadlines, first market,..) * Have all internal alternatives been tiononoutsourcingdevelopmentprojects,togetherwiththeincreasedpo- tentialformulti-paradigmdevelopmentontheseprojects,invitesresearch Figure7:Analysingtheoutsourcingdecision. development tools, programming lang.) evaluated? * Human Resources expertise * System decomposition interfaces * Alliances partenrships * paradigms * Technology * Process * Process visibility (documentation, intotechnicaldevelopmentstosupportforoutsourcing.suchresearchwould * Capability reports, configuration mangement) needtoaddressissuessuchasdesignmethodologiesandtoolsthatsupport * Specialisation focus * Maintenance & system maintenability * Globalisation * Performance measures multipleparadigms,ordistributedcongurationmanagementsystemsthat Further,theincreasedimportanceofsystemdecompositionandintegra- * Competition * Change, CM, evolvability tributedsites. canbetailoredtosupportdierentdevelopmentpracticesatdierentdis- formuchofourfutureresearch.18 mentoutsourcinghasledustothepositionthatmanagementofoutsourcing projectsandsoftwareengineeringtechniquesandtoolsareinterdependent. Managementdecisionsimpactoncollaborativesoftwareengineeringpracticesandtheavailabilityorexpertiseoforganisationsinvarioustechniques andtechnologiesinuencethedecisionsthatcanbemade.thisrelationship betweenprojectmanagementandsoftwareengineeringwillformthecontext Finally,ourexaminationofsomeoftheissuesrelatedtosoftwaredevelop-
References [1]ANSI/IEEEStd1042-1987.IEEEGuidetoSoftwareConguration [3]CommisionoftheEuropeanCommunities.InformationTechnologySecurityEvaluationCriteria.June1991. [2]B.Boehm.SoftwareEngineeringEconomics.PrenticeHall,1981. Management.InIEEESoftwareEngineeringStandards.IEEE,New York,1994. [6]DraftStandard1508.FunctionalSafety:SafetyRelatedSystems.InternationalElectro-TechnicalCommision,June1995. riskmanagement:anewmodelforcustomersupplierrelationships. TechnicalReportCMU/SEI-94-SR-5,SoftwareEngineeringInstitute, July1994. [5]LeondeLoo.InformationSystemsOutsourcingDecisionMaking:A [4]JohnDavidson.OutsourcingisFutureofIT.TheAustralianFinancial managerialapproach.ideagrouppublishing,1997. Review,page26,July291997. [7]R.PHiguera,A.J.Dorofee,J.A.Walker,andR.C.Williams.Team [8]R.PHiguera,D.P.Gluch,A.J.Dorofee,R.L.Murphy,J.A.Walker, [10]IntelligentNetworkNewsletter.AlacatelTakesDecisionToGoWith [9]IBMGlobalServices.http://www.ibm.com/services/articles/outsrca2.html, June1997. andr.c.williams.anintroductiontoteamriskmanagement.technicalreportcmu/sei-94-sr-1,softwareengineeringinstitute,may DigitalAlphaPlatform.IntelligentNetworkNewsletter,page13,May [12]ElspethMcFadzean.Theclassicationofcreativeproblemsolvingtechniques.TechnicalReportHWP9632,HenleyManagementCollege, 1993. tionaljournalofinformationmanagement,pages449{459,december [13]DanielMinoli.AnalyzingOutsourcing:ReengineeringInformationand 1996. CommunicationSystems.McGraw-Hill,Inc.,1995. []KarenKetlerandJohnWalstrom.Theoutsourcingdecision.Interna-
[14]R.Pressman.SoftwareEngineering:APractitioner'sApproach. [16]DetmarStraub.EectiveOutsourcingofITServices:MythsVersus [15]BrianRotheryandIanRobertson.TheTruthAboutOutsourcing. Realities.Coursenotes,MelbourneBusinessSchool,TheUniversityof Melbourne,July1997. Gower,1995. McGraw-Hill,fourthedition,1997. [18]TelecommunicationInformationNetworkingArchitectureConsortium. [17]KatherineSweetman.CultivatingCreativity.HarvardBusinessReview, [19]TelecomsWorld.Outsourcing:Buyingfreedomorlosingcontrol?TelecomsWorld,pages50{56,September1997. TheTINAReport.AvailablefromTINA-CGeneralManager,Tel:+1 pages10{12,march-april1997. [20]TelefonaktiebolagetLMEricsson.http://www.ericsson.se/software, [21]TheOutsourcingInstitute. 9087582214,Fax:+19087582865. [22]RobertWhiteandBarryJames.TheOutsourcingManual.Brookeld, June1997. 1995. IndustryLeadersAreReshapingtheAmerican Corporation.http://www.outsourcing.comi//get-starti/95seintr.html, How [23]StaordWilliamson.IfYesterdayIsTomorrow,ThisMustbeToronto. InProceedingsofIEEEInternationalSymposiumonAssessmentof SoftwareTools,Toronto,Canada.IEEE,1996. 20