SOFTWAREPROCESSIMPROVEMENTUSINGANELEC-TRONICPROCESSGUIDE
ThesubjectofthisthesiswasapprovedbythecounciloftheDepartmentofInformationTechnologyonthe21stofAugust,2001.
Supervisor:ProfessorJanVoracekInstructor:M.Sc.(eng.)KeijoMarttinen
Lappeenranta,November19,2001
MarkusMannioLeirikatu2G2
53600Lappeenranta
Tel.+358(0)407277794
ABSTRACT
Author:Subject:
MarkusMannio
Softwareprocessimprovementusinganelectronicprocessguide
Department:InformationtechnologyYear:Place:
2001Lappeenranta
Master’sthesis.LappeenrantaUniversityofTechnology.72pages,8figures,2tables,and3appendices.Supervisor:Keywords:
ProfessorJanVoracek
softwareprocess,softwareprocessimprovement,processmodelling,pro-cessguide
Softwareprocessesandtheirimprovementhavereceivedconsiderableattentioninthere-centyearsduetoanincreasinginterestinsoftwarequality.Softwareprocessimprovementmodels,suchasCMMandSPICE,arebeingintroducedtosoftwarecompaniesworld-wideinthequestforbettersoftware.Atthesametimeithasbeenrealisedthateffectiveprocessimprovementandperformancerequireadescriptionoftheprocesstoenablethor-oughprocessunderstandingandaccuratecommunication.Variouswaysfordescribingasoftwareprocessexisttoservedifferentpurposes.Aprocessguideisarepresentationofaprocessfocusedonprocessunderstandingandcommunication.Anelectronicprocessguideisaprocessguidetakingadvantageofthepossibilitiesofferedbywebtechnologies.Inthisworkanenvironmentfordevelopingelectronicprocessguidesforsupportingsoft-wareprocessimprovementandperformanceisdeveloped.Theenvironmentenablesthemodelling,customising,andinstantiatingofasoftwareprocessasaprocessguide.Theenvironmentisvalidatedbymodelingthesoftwareprocessofatelecommunicationssoft-warecompanyandcreatingelectronicprocessguidestosupporttheprocessimprove-mentandexecutionactivities.Finally,thesupportandpossibilitiesofferedbytheprocessguidesinthetargetcompanyareexploredanddiscussed.
TIIVISTELMÄ
Tekijä:Nimi:Osasto:Vuosi:Paikka:
MarkusMannio
OhjelmistoprosessinkehittäminensähköisenprosessioppaanavullaTietotekniikanosasto2001Lappeenranta
Diplomityö.Lappeenrannanteknillinenkorkeakoulu.72sivua,8kuvaa,2taulukkoaja3liitettä.Tarkastaja:Hakusanat:
ProfessoriJanVoracek
ohjelmistoprosessi,ohjelmistoprosessinkehittäminen,prosessinmallintami-nen,prosessiopas
Kasvavakiinnostusohjelmistojenlaatuakohtaanonherättänytohjelmistoprosesseihinjaniidenkehittämiseenkohdistuvaahuomiotaviimevuosina.Ohjelmistoyrityksetympärimaailmaaovatottaneetkäyttöönohjelmistoprosessinkehittämismalleja,kutenCMMjaSPICE,pyrkiessäänkohtiparempilaatuisiaohjelmistotuotteita.Samallaonhuomattu,ettätehokasprosessienparantaminenjasuorittaminentarvitseetuekseenkuvauksenproses-sista,jottaprosessinperusteellinenymmärtäminenjakommunikointiolisimahdollista.Ohjelmistoprosessejavoidaankuvatamonillaeritavoilla.Prosessiopasonprosessinesi-tysmuoto,jonkapäätarkoituksenaonhelpottaaprosessinymmärtämistäjakommunikoin-tia.ElektroninenprosessiopasonWeb-teknologiaahyödyntäväprosessiopas.
Tässätyössäluodaankehitysympäristöelektronisilleprosessioppaille,joidentarkoituk-senaontukeaohjelmistoprosessinkehittämistäjasuorittamista.Ympäristömahdollistaaohjelmistoprosessinmallintamisensekäyksilöllistenoppaidenluomisenjamuokkaamisen.Kehitysympäristöäkäytetäänmallintamaantietoliikenneohjelmistojavalmistavanyrityk-senohjelmistoprosessiasekäluomaanelektronisiaprosessioppaitatukemaanprosessinkehitystäjasuorittamista.Lopuksipohditaanprosessioppaidentarjoamaatukeasekämahdollisuuksiakohdeyrityksessä.
PREFACE
ThisthesiswasmadeinLappeenrantafortheDepartmentofInformationTechnologyofLappeenrantaUniversityofTechnologyandtheworkwascarriedoutinIntellitelCom-municationsLtd.
IwouldliketothankmyinstructorKeijoMarttinenandIlkkaToivanenforinvaluablesuggestions,guidance,andsupportthroughoutthiswork.Also,thanksareextendedtothesupervisorofthisworkProfessorJanVoracek.
MysincerestappreciationgoestomyparentsforofferingmethechancetodowhatIwant,andtoSuviforbearingmewhileIhavebeendoingit.VeryspecialthanksarereservedforJoonasandEinariforprovidingendlessentertainmentandfoodforrefreshingthoughts.AndwhileI’matit,ImustthankCaroandUrhoaswell.Ionlywishthattheycouldreadthis.
Lappeenranta,November19,2001
MarkusMannio
Contents
1INTRODUCTION
1.1Background.................................1.2Scopeandobjectives............................1.3
Structureofthework............................
2THESOFTWAREPROCESS2.1
Softwareprocessconcepts.........................2.1.1Processengineering........................2.1.2Softwareengineering........................2.1.3Processdefinition..........................2.1.4Theprocesslifecycle........................
2.2
Softwareprocessimprovement.......................2.2.1Evaluateprocess..........................2.2.2Developprocess..........................2.2.3Installprocess............................2.2.4
Monitorprocessuse........................
2.2.5SPIManagement..........................2.2.6Processmaturityandcapability..................2.3
Softwareprocessimprovementandassessmentmodels..........2.3.1Capabilitymaturitymodel.....................2.3.2Softwareprocessimprovementandcapabilitydetermination...2.3.3
BOOTSTRAP...........................
3PROCESSREPRESENTATION3.1
Conceptualframework...........................3.1.1Entities...............................3.1.2Relationships............................3.1.3Behaviouralinformation......................3.2
Representationtypes............................3.2.1Processmodels...........................3.2.2Processtemplatesandforms....................
3.2.3Processguides...........................3.3
Processmodellinglanguagesandparadigms................
1
6688101111131415171819202121222223242526272729303132343436
3.3.1Multi-ViewProcessmodelingLanguage..............3.3.2AdaProcess-ProgrammingLanguageandJIL...........3.3.3IntegrationDefinitionlanguage0.................3.3.4UnifiedModelingLanguage....................3.3.5Process-orientedModellizationandEnactionofsoftwareDevel-opments...............................3.3.6
TheUnifiedProcess........................
4THEEPGENVIRONMENT
4.1Conceptualschema.............................
4.1.1Entities...............................4.1.2Relationships............................4.1.3Behaviour..............................
4.2
Processmodelling..............................4.2.1Modellingobjectivesandscope..................4.2.2Conceptualschema.........................4.2.3Modellinglanguages........................4.2.4Toolselection............................4.2.5Elicitprocessknowledge......................4.2.6
Modelcreation...........................
4.2.7Modelandprocessanalysis....................4.3
EPGcreation................................4.3.1Planninginformationcontent....................4.3.2Customisinglayoutandmetrics..................4.3.3
Buildingtheguide.........................
4.3.4Customisinginstance.......................4.3.5Administratorguide........................4.4
Summaryoftheenvironmentarchitecture.................
5EPGSUPPORTFORPROCESSIMPROVEMENTANDENACTMENT5.1Evaluateprocess..............................5.2Developprocess...............................5.3Installprocess................................5.4
Performanceandmonitoring........................
2
37383838393941414143434445454647474850515152525454555858606162
5.4.15.4.2
Processperformance........................Monitorprocessuse........................
6263656DISCUSSIONANDCONCLUSIONS7SUMMARYREFERENCESAPPENDICES
3
676973
ABBREVIATIONS
ADAPPL/ACMMCPIEPGHTMLIDEF0IECISOKPAMVP-LOMGPALPMLPSEESADTSEISPISPICESPIESSD
ActivityDiagram
AdaProcessProgrammingLanguageCapabilityMaturityModelContinuousProcessImprovementElectronicProcessGuideHypertextMarkupLanguageIntegrationDefinitionLanguage0InternationalElectrotechnicalCommissionInternationalOrganizationforStandardizationKeyProcessArea
Multi-ViewProcessmodelingLanguageObjectManagementGroupProcessAssetLibraryProcessModellingLanguage
Process-centeredSoftwareEngineeringEnvironmentStructuredAnalysisandDesignTechniqueSoftwareEngineeringInstituteSoftwareProcessImprovement
SoftwareProcessImprovementandCapabilityDeterminationSoftwareProcessImprovementEngineeringStaticStructuralDiagram
4
TCMToolkitforConceptualModelingUMLUnifiedModelingLanguageUPUnifiedProcessUPM
UnifiedProcessModel
5
1INTRODUCTION
1.1Background
Duringthelastcoupleofdecadessoftwarehasbecomecommonplaceinthedailylivesofmanypeople.Whethertheyacknowledgeitornot,manypeopleareincontactwithsoft-wareormachinescontrolledwithsoftwarealmostconstantly.Thisnotonlyincludestheobvious,suchascomputersormobilephones,butalsothemoreinconspicuoushomeelec-tronicandmanycommonservices.Groceriespaidwithacreditcardupdatethedatabasesofacreditcompanyandmodernwashingmachines,coffee-makers,orcarsincludeem-beddedsoftwaremoreoftenthannot.Sincesoftwarehasbecomeanintegralpartoftheseservicesanddevices,theirperformanceandfunctionalitiesareaffectedbythecharacter-isticsoftheunderlyingsoftware.Theoverallqualityoftheserviceorproduct,whetheritisacomputerorawashingmachine,isaffectedbythequalityofthesoftware.Whereasqualityhasbeenafocusfortraditionalengineeringandmanufacturingfromthe1930s,thequalityofsoftwarehasreceivedattentiononlyfromthe1980s.
Muchofthecurrentinteresttowardssoftwarequalityisbasedontheassumptionthatthequalityofthesoftwareishighlydependentonthequalityoftheprocessusedtodevelopthesoftware-thesoftwareprocess[1,2,3].Thatis,thequalityofasoftwareprod-uctisheavilydependentonthepeople,organisation,andproceduresusedtocreateanddeliverit[1].Consequently,theassumptionhasleadtothenotionthatimprovingthesoftwareprocessshouldresultinimprovedsoftware.Unfortunately,softwareproductsandprocessesareseenascomplexentitieswhosesuccessfulimprovementinasoftwaredevelopingorganisationsseemtorequireconsiderableeffort[1,2,3,4].Fromanorgan-isationalviewpointsoftwareprocessimprovement(SPI)needssupportingorganisationalstructures,financialinvestment,culturalenvironment,andtopmanagementsupport[2].TheseaspectsconstitutetheenvironmentwheresuccessfulSPIispossible,andtheab-senceofanyoftheseelementsislikelytocausethefailureofanSPIeffort[2].Fromanindividualviewpointthesoftwaredevelopersneedinformationaboutthemethods,tech-niques,andtoolstocarryoutthesoftwareprocess.Aboveall,softwareprocessimprove-mentseemstorequireprecisedefinitionanddescriptionoftheprocessitself[1,4,5,6].Indeed,mostofthewidelyacceptedsoftwarequalityandimprovementmodels,such
6
ascapabilitymaturitymodel(CMM)andsoftwareprocessimprovementandcapabilitydetermination(SPICE),introduceexplicitprocessdescriptionasoneofthemostimpor-tantfactorssupportingprocessimprovement[4]tofunctionasthebaselineforprocesschangesrequiredbySPI.
RepresentationsofasoftwareprocessbasedonanexplicitprocessdefinitioncanbeusedinasoftwaredevelopingorganisationalsofornumerousotherpurposesapartfromSPI,suchasvehiclesforprocessunderstandingandcommunication,andsupportforprocessexecutionandmanagement[1,7,9,8].Variousformalismsforcreatingprocessdefini-tionsandrepresentationshavebeensuggestedbyresearcherstoaidinpresentingcomplexsoftwareprocessesinacomprehensiveway,butunfortunatelymostofthesenotationsorprocessmodellinglanguages(PML)haveproventobetoocomplextobeadoptedinpractise[1].Practitioners’primaryconcernsseemtobeunderstandingandcommunicat-ingtheprocesses,andconsequentlyprocessrepresentationsshouldbeintuitiveandeasytouse[1].Softwareengineersneedtounderstandandcommunicatetheprocesstheyareperformingaswellastheprocessengineersneedtounderstandandcommunicatetheprocesstheyareimproving.Theneedforunderstandablerepresentationsofrelativelyloosely-definedandfrequentlychangingprocesseshasrecentlybeenacknowledgedbyre-searchers[1,9],andapproachesforsupportingprocesstechnologyhavebeensuggested[9,10,11].
Electronicprocessguides(EPG)areweb-basedsoftwareprocessrepresentationsthatarefocusedoncommunicatingthesoftwareprocessinamannerthatcanbeeasilyunder-stoodandfollowedbysoftwareengineers[9].Inadditiontoprovidinginformationtothesoftwareengineers,anEPGcanalsobeusedasasupportingtoolforSPIefforts.WebtechnologiesenabletheuseofEPGasavehicleforcollecting,storing,andanalysingprocessrelatedinformationwhichcouldprovidetheprocessengineersinvaluableinfor-mationaboutthesoftwareprocess.AlthoughthedevelopmentofEPGsforofferingguid-ancetoprocessperformershasbeenpresented[9,10],thedevelopmentanduseofEPGsforsupportingSPIhasnotbeenwidelydiscussed.InthisworkthecreationanduseofEPGsforsupportingsoftwareprocessimprovementandperformancetoaidinimprovingsoftwarequalityisstudied.
7
1.2Scopeandobjectives
Themainobjectiveofthisthesiswastodevelopanelectronicprocessguideenvironmentforprocesseswhererepresentationsofthesoftwareprocesscanbecreated.Aprocessguidedevelopedwithintheenvironmentwastosupportsoftwareprocessimprovement,increaseprocessunderstanding,andfacilitatecommunicationwithinandbetweendiffer-entusergroups.Softwareandprocessengineerswereselectedastheprimaryusergroupsfortheprocessguides,andtheprimaryrequirementsfortheguideswereunderstandabilityandtheeaseoftheiruse.Theframeworkwasvalidatedbymodellingthesoftwarepro-cessofatelecommunicationssoftwarecompanyandexploringhowtheelectronicprocessguidesbasedonthemodelcouldsupportthesoftwareimprovementanddevelopmentac-tivitiesinthecompany.Theunderlyinggeneralhypothesiswasthataproperlydesignedprocessguidecanbeavaluableaidinallphasesofsoftwareprocessimprovement.
1.3Structureofthework
Therestofthethesisisorganisedinthefollowingway.
Chapter2focusesonthesoftwareprocessandsoftwareprocessimprovement.Softwareprocessandprocessimprovementcontext,concepts,anddefinitionsarepresented.Chapter3describeshowthesoftwareprocesspresentedinChapter1canbedefinedandrepresented.Thetopicsofthischapterincludetheconceptualframework,andthedifferentmethodologiesandlanguagesforrepresentingsoftwareprocesses.Especiallyprocessguidesasthemeanstorepresentprocessesarediscussed.
Chapter4describesthestructureanddevelopmentofanelectronicprocessguideframe-work.ThischapteriscloselyrelatedtoChapter3andthesoftwareprocessconceptspresentedinChapter2.
Chapter5discusseshowtheEPGsdevelopedintheframeworksupportthesoftwareprocessimprovementandexecutionactivitiesinatelecommunicationssoftwarecompany.
8
TheprocessimprovementpartofChapter2andChapter4asawholeformthebackgroundforthischapter.
InChapter6theEPGenvironmentpresentedinChapter4anditspossibleusesdescribedinChapter5arediscussedandconclusionsarealsomade.Finally,Chapter7presentsabriefsummaryofthethesis.
9
2THESOFTWAREPROCESS
Variousdefinitionsforthesoftwareprocesshavebeensuggested[1,3,5].Commonlyaprocessisunderstood,asdefinedintheCambridgeInternationalDictionaryofEnglish[12]
aseriesofactionsoreventsthatarepartofasystemoracontinuingdevelopment,oraseriesofactionsthataredonetoachieveaparticularresult
Insoftwaredevelopmentcontexttheparticularresultmentionedinthedefinitioncanbethoughttobe,forexample,thesoftwareproductfulfillingtherequirementssettoit,ormorebroadlyasatisfieduserorcustomer.Fuggetta[1]definesthesoftwareprocessas
thecoherentsetofpolicies,organisationalstructures,technologies,proce-dures,andartifactsthatareneededtoconceive,develop,deploy,andmaintainasoftwareproduct
Asoftwareprocesswiththeabovedefinitionorthegeneralprocessdefinitioninsoftwaredevelopmentcontextwiththementionedendresults,especiallyinthebroadersense,cannotexistwithoutsupportinginfrastructure[3].Fuggetta[1]mentionsfourconceptsandcontributionsthatthesoftwareprocessexploits:
1.softwaredevelopmenttechnology,
2.softwaredevelopmentmethods,techniques,andguidelines,3.organisationalbehaviour,and4.marketingandeconomy.
AlthoughthisworkconcentratesonsoftwareprocessdefinitionandrepresentationstoaidinSPIandprocessexecution,itshouldbeacknowledgedthattheseissuescoveronlyone
10
partofeffectiveutilisationofprocesstechnologyinsoftwaredevelopingorganisation.Anumberoforganisational,cultural,technological,andeconomicfactorsneededtosupportthesoftwareprocess[1]areoutofthescopeofthiswork.Theseissuesarecoveredmoreextensivelyinsoftwareprocessliterature,forexamplein[3].
Inthischapterthebasicconceptsofsoftwareprocessesandtheirimprovementaredis-cussed.First,thebasicsoftwareprocessconceptsandcontextareexplainedinmorede-tail.Next,generalsoftwareprocessimprovementconceptsarepresented.Finally,aviewtosomeofthemorecommonpracticalsoftwareprocessimprovementandassessmentmodelsisgiven.
2.1Softwareprocessconcepts
Inthissubchaptersomeessentialsoftwareprocessconceptsarediscussed.TheconceptsaredescribedinaframeworkforsoftwareprocessandsoftwaredevelopmentpresentedinFigure1.Thesquareboxesinthefigurerepresentobjectsorartifacts,whiletheroundedboxesshowtheactivities.Thefigureencompassesalltheactivitiesfromprocessengineer-ingtotheresultsofexecutingthesoftware,ascanbeseenbylookingattheuppermostandlowestboxesinthefigure.Nextthedifferentphasesinsoftwareprocessanddevelopmentarediscussedinmoredetail.
2.1.1Processengineering
Processengineeringistheactivityofperformingaprocessengineeringprocess[6].TheuppermostboxinFigure1representstheprocessengineeringprocessi.e.thedescriptionofhowprocessesareengineered.Thesecondboxshowstheactualexecutionofthepro-cessengineeringprocess,andthusitrepresentsprocessengineering.Inprocessterminol-ogytheexecutionofaprocessaccordingtoaprocessdefinitionisoftencalledenactment[13],whichisalsousedinthisworkfromhereon.Processesareenactedbyagentsthatareentities,suchasindividuals,groups,ormachines[6,13];agentsasperformersofpro-cessactivitiesarediscussedmorethoroughlywithprocessmodellinginChapter3.The
11
ProcessEngineering
SoftwareEngineering
SoftwareExecution
Software Process Engineering Processis applied to develop and evolveProcess enactmentby process engineers
Software (Development) Processis applied to develop and evolveProcess enactmentby software engineers
Software Productis applied to developSoftware users
Results for UsersFigure1:TheProcessFramework[6].
12
processengineeringprocessdefinitioninthefirstboxisameta-process,becauseitisaprocessoperatingonprocesses.Conceptuallymoreabstractlevelsofprocessesarenotneededbecausethemeta-processcanbeenactedtodevelopandevolveitself[6].ThiscouldbepresentedinFigure1asaloopinvolvingthefirst,processengineeringprocess,andthesecond,processengineering,box.
Inthecontextofdevelopingsoftware,theuppermostboxrepresentsthedefinitionoftheprocessofdevelopingasoftwareprocess.Inthesecondbox,representingprocessen-gineering,theprocessshownintheuppermostboxisenactedandasaresultasoftwareprocessiscreatedasshowninthethirdbox.Thus,insoftwareprocessengineeringac-tivitiesthethreeuppermostboxesareinvolved.Theactualsoftwareprocessengineering,inthesecondbox,isusuallyperformedbyprocessengineersorqualityengineers.Gen-erally,processengineeringisperformedbythepeopleresponsibleforthecreationandimprovementofsoftwareprocessdefinitionsandmodelsinsoftwaredevelopingorgani-sations.
Softwaredevelopmentandprocessdevelopmentenjoynumeroussimilarities.Forexam-ple,processdevelopmentcanbedescribedinsoftwareengineeringterms,thusincludingactivitieslikeplanning,design,instantiation,andvalidation[6].Ithasevenbeensug-gestedthatsoftwareprocessesareaformofsoftwarethemselvesandthatprocessengi-neeringmethodscouldbeborrowedfromsoftwaredevelopment[5].Processengineeringisnotjustanisolatedactivityinsoftwaredevelopment,butitisalsohighlydependentofotheraspectsofthesoftwaredevelopingorganisation.Forexample,aculturalchangeandsupportinginfrastructureareneededtoswitchfromthemoretraditionalproduct-focusedorganisationtoamoreprocess-focusedone[3].
2.1.2Softwareengineering
Softwareengineeringisatechnologyconsistingofaprocess,asetofmethods,andtoolstobuildcomputersoftware[14].SoftwareengineeringactivitiesencompassthethreemidmostboxesinFigure1.Thefirstboxrepresentstheresultoftheprevioussoftwareprocessengineeringactivities,thesoftwareprocess.Inthenextboxthesoftwareprocessisenactedbysoftwareengineerswiththehelpofappropriatemethodsandtools,andas
13
aresultacomputersoftwareproductisobtainedasshowninthefollowingsquarebox.Althoughthesoftwareengineersareshowninthefigure“only”astheperformersofadefinedprocess,itisgenerallyacknowledgedthatbuildingasoftwarerequirescreativitythattheprocessdisciplineshouldencourageratherthanstifle[3].
Finally,thethreelowestboxesinFigure1describeasoftwareuserusingthesoftwaretoaccomplishsomethingofvalueforhimself.
2.1.3Processdefinition
ThetwouppermostsquareboxesinFigure1representprocessdefinitions.FeilerandHumphrey[13]defineprocessdefinitionas
animplementationofprocessdesignintheformofapartiallyorderedsetofprocessstepsthatisenactable.
Theyalsopresentthenotionsthataprocessdefinitionmayconsistof(sub)processdefi-nitions,andatalowerlevelofabstractioneachprocessstepmaybefurtherrefinedintomoredetailedprocesssteps.Processdefinitionswhose“levelsofabstractionarefullyre-fined”arereferredascompleteandfitforenactment.Animportantobservationispointedoutaboutthecompletenessofprocessdefinitions,whichisconsideredtobedependentonthecontextandperformersoftheprocess.ThisalsosupportstheideaofKellneretal.[6]thatprocessesshouldbeengineeredtomeetspecificgoalsandobjectives,subjecttothereal-worldconstraintsthatapply.Currentskilllevelsofexistingstaffandlimitsoncycletimearepresentedasexamplesofsuchconstraints.Althoughthereisnocleartechnicallimittothelevelofrefinementforasoftwareprocess,FeilerandHumphrey[13]listanumberofpracticalconcernsthataffectthelimitofrefinementincluding
resourcesandtimeavailableforprocessdefinition,levelofcapabilityorunderstandingoftheprocessusers,
14
scaleoftheprojectsforwhichtheprocessisdesigned,andscalabilityoftheprocessitself.
Inpractise,findingtherightlevelofabstractionforprocessdefinitionsisdifficultsincedefinitionsrefinedtoexcessivedetailoftenresultintoocomplexprocessrepresentationswhiletoogeneraldefinitionscanbecompletelyunusable[15].
Scalabilityoftheprocess,mentionedabove,iscloselyconnectedtoanotherimportantconcept,namelythereuseofsoftwareprocesses.Clearlyitisnotreasonabletodefinecompletelynewprocessesforeachsoftwaredevelopmentprojectfromnothing,especiallywhensoftwareprocessdevelopmentcanbeveryexpensiveandtimeconsuming[13].Itislikelythatinsoftwaredevelopingorganisationsdifferentprojectswillhavesimilarneedsandcommonactivities,butitisalsohighlyprobablethatsomeoftheneedsofdifferentdevelopmentprojectsareverydifferent.FeilerandHumphrey[13]addressthisproblemofsharedprocessdefinitionsbysuggestingthedevelopmentanduseofasetofgeneralpurpose,reusableprocesselements.Asinsoftwareengineeringalibraryofreusablecom-ponentscanbeused,alsoinprocessengineeringalibraryofreusableprocesscomponentscanbeseenasavaluableassetforanorganisation.Suchprocessassetlibrary(PAL)isdiscussed,forexample,in[6],[8],and[16].Ifsuitablegeneralprocessesareavailableanenactableprocesscanbeinstantiatedfromtheirdefinitions.Thus,instantiationinprocessterminologyistheactofcreatingenactableprocesses,includingalltheelementsrequiredforenactment,fromprocessdefinitions[13].
2.1.4Theprocesslifecycle
Abovethebasicconceptsofsoftwareprocesseswerepresented.Nowadescription,whichtiesthepreviouslyconceptstogetherisdescribed.
ThedescriptionpresentedinFigure2,theprocesscycle,isoriginallypresentedbyMad-havji[17]andfurtherexplained,forexample,in[8].Theprocesscyclecanineffectbethoughtasaviewtoaprocesslifecyclecontainingfourparts:descriptionanddefini-tion,customisationandinstantiation,enactment,andimprovement.Theprocesscycle
15
Figure2:TheProcessCycle[8].
16
describestherelationshipsbetweenthekeyroles,tools,andgoalsindifferentpartsofaprocesslifecycle.Thecyclealsoincludesanimportantlinkbetweenprocessandsoftwareengineering,namelyprocessmanagement.
Theoutersectionsofthecyclearedividedintothreesectors,whichrepresenttheengi-neering,managing,andenactmentofsoftwareprocesses.Eachofthethreesectorshasitsowngoalsandpolicies,keyroles,andtools.Thecenterofthecycledescribestheprimaryitemstransferredbetweenthedifferentsectorsofthecycle.SectorAencom-passesthemainprocessengineeringactivitieswhereprocessengineersdesign,construct,andimprovegenericprocessdefinitions.Thesedefinitionsarenottailoredtoanyspecificproject,andtheycanbestoredtoaPAL.SectorBintroducestheprocessmanagementaspectwhereprocessmanagersareactinginacentralrole.AccordingtoFigure2pro-cessmanagerstailorthegenericprocessdefinitionstoaspecificuse,andthusinstantiateprocesses.TheinstantiatedprocessesareenactedinsectorCbyprocessperformerswithapplicationspecificgoalsandpolicies.InthecontextofsoftwaredevelopmentpresentedinFigure1processengineeringcontainssectorsAandB,andsoftwareengineeringisincludedinsectorC.
Inthecenterofthecyclethemainitemsmovingbetweenthedifferentsectorsarede-scribed.TheprocessdefinitionsarecreatedandupdatedinsectorA,fromwheretheyaretransferredtosectorBforinstantiation.TheinstantiatedprocessesareenactedinsectorC,whileprocessmanagersreceiveprocessfeedbackfromtheprocessperformers.Thisfeedbackmightreflect,forexample,thesmoothnesswithwhichassignedtasksarecarriedout,bottlenecksintheprocess,negativeeffectscausedbytimingconstraints,ortheneedforadditionalprocessstepsorremovalofsuperfluousones[8].Processmanagersmaymakechangestotheproject-specificprocessinstances,orsuggestchangestotheprocessengineersmaintainingthemoregeneralprocessdefinitionsinsectorA.
2.2Softwareprocessimprovement
Intheprevioussectionthebasicconceptsofsoftwareprocessengineeringwerepresented.Also,adescriptionofsoftwareprocesslifecycleglueingtheprocessconceptstogether
17
wasintroduced.Inthissubchapterthefocusisshiftedtowardsimprovingthesoftwareprocess.
Alargenumberofdifferentmodelsandguidelinesforimprovingthesoftwareprocesshavebeenintroducedinthelastdecade[3,6,18].Infact,eventheprocesscyclede-scribedearlierinFigure2contains,amongotherthings,aninherentmechanismforsoft-wareimprovementthroughprocessfeedbackandexperience.Althoughthereseemstobeaplethoraofdifferentsoftwareprocessimprovementparadigmstochoosefrom,mostofthemorewidelyacceptedmodelsarebaseduponthesameideologicalbackground.ManyofthecurrentSPIeffortsarebuiltupontheworkbegunbyqualityresearchersoversixdecadesago:WalterShewhartpresentedthe“plan,do,check,act”cycleforqualityimprovementinthe30’s,whichEdwardsDemingamongothersfurtherdevelopedanddemonstrated[3].Adaptationsofthequalitymovementscyclicalimprovementmodeltoprocessesareseeninprocessmanagementliteratureintheconceptofcontinuousprocessimprovement(CPI).Oneofthemostinfluentialpersonsinprocessimprovementinsoft-waredevelopmenthasbeenWattsHumphrey,whoadaptedthelessonslearntinthequalitymovementforsoftwaredevelopment[3].
AnexampleofCPIinthecontextofsoftwaredevelopmentispresentedin[6]asthebasiccycleofthehelicalmodelofsoftwareprocessimprovementengineering(SPIE),whichisshowninFigure3.Thebasicconceptspresentedinthehelicalmodelaregenerallyalsofoundinanyothercyclicalprocessimprovementmodel(e.g.[18]),andthebasiccycleofthehelicalmodelisusedhereasanexampletoclarifytheseconceptsinthenextcoupleofsubsections.ToillustratethispointreferencestoHumphrey’sprocessimprovementcycle,reviewedin[3],arealsomade.
2.2.1Evaluateprocess
AlthoughthecycleinFigure3canbeenteredatanyphase,thenaturalwaytobeginim-provingaprocessistotrytounderstandthecurrentprocess.Ifaprocessmodeldoesnotexist,thecurrentprocesscanbemodeledinthisphasetoaidinunderstandingasdescribedinChapter3.Thus,modellingtheprocessatthisphaseisdescriptivemodelling,whichineffecttriestodescribethecurrentprocessasitisperformed[7].Also,allavailablein-18
EvaluateProcessManageSPIE
MonitorUseDevelopProcessInstallProcessFigure3:HelicalModel–TheBasicCycle[6].
formationabouttheprocessshouldbeusedtoevaluatetheprocess.Bothqualitativeandquantitativeanalysisshouldbeused:theinformationmaybequalitativeandsubjectiveatthebeginning,butshouldshifttowardsmorequantitativeinformationastheprocessimprovementactivitiesproceed.Measurementofthequantitativeinformation,suchasdefectcountsandcycletimes,shouldbeincludedaspartoftheimprovedprocess.Othersourcesofprocessinformationincludeprocessperformers,asshownintheprocesscy-cleinFigure2,otherprojects,andliterature[6].ThisphasecorrespondswiththefirstphaseofHumphrey’ssixstepprocessimprovementcycleconsistingofunderstandingthecurrentprocess[3].
2.2.2Developprocess
Inthisphasetheactualimprovedprocessisdevelopedandchangestotheprocessareapplied.Accordingto[6],activitiesperformedinthisphaseare:
determinegoalsandconstraintsfortheprocess,
19
planprocessdevelopment,
identifyandunderstandprocessalternatives,analyseandchooseprocessalternatives,definetheimprovedprocess,reducerisks,and
documentandpackagetheprocessdefinitionmaterials.
Someofthestepsaresomewhatself-explanatorywhereasotheractivitiesmayneedclarifi-cation.Theactivitiesfocusingontheprocessalternativesincludeidentifying,understand-ing,andchoosingthereusableprocessassetsthatmaybestoredinaprojectassetlibrary.Also,alternativeapproachesfortheprocessdevelopmentareconsideredandadecisionismadebasedonthegoals,constraints,andqualitativeandquantitativeconsiderationsoftheprocess.Indefiningtheprocess,modellingandthedevelopmentofaprocessguideareconsideredasanappropriateapproaches.Atthisphasethemodellingactivitiesincludemainlyprescriptivemodellinginwhich–asopposedtodescriptivemodellingmentionedinpreviousphase–theprocessismodeledasitshouldbeperformed[7].
Reducingrisksincludesactivities,suchasverificationandvalidationofthedefinedpro-cess.Inthelaststep,theresultsofthepreviousphasesaredocumentedaccordingthenextintendeduseofthematerials.Thefinalresultmaybeadetailedmodel,ahigh-levelmodel,aprocessguide,ortrainingmaterialdependingonthepurposeoftheprocessimprovement[6].IncomparisonwithHumphrey’scycle,thisphaseofthehelicalcycleincludesthethreefollowingstepsofHumphrey’scycle:developingavisionofthedesiredprocess,establishingalistofrequiredprocessimprovementactions,andproducingaplantoaccomplishtherequiredactions[3].
2.2.3Installprocess
InthispartofthecyclepresentedinFigure3theinfrastructureforsupportingtheenact-mentoftheprocessisestablished,andtheinstallationoftheprocesstoprojectsisplanned.
20
Processinfrastructureprovidesoperationalsupportfortheprocessactivitiesandmanage-mentconsistingoftheorganisationalandmanagerialrolesandresponsibilitiesaswellastechnicalfacilities[3].Infrastructure-relatedactivitiesinthisphaseincludeassigningstaff,andtrainingtheintendedprocessperformersinthenewprocessandinthesupport-ingmethodsandtools[6].Installingtheprocesstoaprojectrequirescarefulplanningandpossiblytailoringoftheprocessfromthemoregeneralprocessdefinitions.Refer-ringtotheprocesscycleinFigure2,thedevelopmentactivitiesinthepreviousphasearemainlylocatedinsectorA,whereastheinstallingactivitiesareperformedbytheprocessmanagersinsectorBofthecycle.ThefifthstepinHumphrey’ssixstepcycleisaboutimplementingtheprocessimprovementplan[3],whichispartlyrealisedinthepreviousphaseofthehelicalcycleandpartlyinthisphase.
2.2.4Monitorprocessuse
Thispartofthehelicalcycleconcentratesonmonitoringtheenactmentoftheprocess.Somebasicusageissuestomonitorarewhethertheprocessisunderstoodandfollowed,andwhatproblemsariseduringitsuse[6].Also,itshouldbeensuredthatthemeasure-mentsspecifiedintheprocessdefinitionaretakenandthatanyvariationsoftheprocessareidentifiedanddocumented.Theprocessperformersshouldbeassistedinusage,andimprovementsuggestionsandotherfeedbackshouldberecorded.Thisphaseisconcep-tuallyincludedinthefirststepofHumphrey’ssoftwareimprovementcyclewherethecurrentstatusofthedevelopmentprocessisevaluated[3].
2.2.5SPIManagement
Asanylarge-scaleproject,SPIactivitiesrequiremanagementactivitiesforcoordinationandcontrol.Inthehelicalcyclethemanagementpartisplacedinthecenterofthemaincycletoillustratethefactthatitisneededinalltheotherphases.InthecenteroftheFigure3,thetermSPIEisusedwiththedefinitionoftheactivitiesofsoftwareprocessengineeringthatarespecificallyrelatedtoSPIactivities[6].Themanagementactivitiesareexecutedconcurrentlywiththeotherphasesofthecycle.Kellneretal.[6]suggest
21
thateachmajorSPIEundertakingshouldbemanagedlikeaproject.Projectmanagementisalargeresearchareainitselfandisoutofthescopeofthiswork–forthoseinterestedinprojectmanagementawidearrayofliteratureisavailable.
2.2.6Processmaturityandcapability
Themainassumptionbehindthecyclicalsoftwareimprovementmodelsisthenotionthatwhilethephasesofamodelareexecutedincyclicalfashion,thesoftwareprocessgraduallyimprovesi.e.getsbetter.Asaconsequence,thesoftwareprocessissaidtobecomemoremature.Thematurityofaprocesscanbemeasured,forexample,usingoneofthereferencemodelspresentedinthenextsubchapter.Processcapabilityisanotherconceptcloselyrelatedtoprocessmaturity.Whereasprocessmaturityisacharacteristicthatisdifficulttomeasureobjectivelywithoutareferencemodel,processcapabilitycanbemeasuredmoreeasilyviatheresultsifaprocess.Zahran[3]definesprocesscapabilityas
Therangeofexpectedresultsthatcanbeachievedbyfollowingaprocess
Zahran[3]alsopresentsanassumptionthatthehighertheleveloftheprocessmaturityofanorganisation,thehigheritsprocesscapability.
2.3Softwareprocessimprovementandassessmentmodels
Intheprevioussubchaptergenericstepsforcyclicalsoftwareprocessimprovementwerediscussed.Inthissubchapterabriefoverviewtosomewidelyacceptedpracticalmodelsfocusingonsoftwareprocessimprovementandassessmentispresented.Anyofthemod-elswillfitinthemoregeneralCPIstepspresentedinFigure2.Althoughthemodelshavedifferentarchitectureandfocus,allofthemcanbeandareusedinsoftwaredevelopmentorganisationsasthebasisofdesigningandimprovingtheirsoftwareprocesses.Processimprovementmodelsfocusonhowtocarryouttheprocessofimprovingaprocess,while
22
processassessmentconcentratesonthedeterminationofthedegreeofmaturityofapro-cesswithrespecttoaqualitymodel[1].Sincetheassessmentofthecurrentstateofthesoftwareprocessisanintegralpartofanysoftwareprocessimprovementandthroughprocessassessmentthesoftwareprocesscanbeimproved,astrictlinecannotbedrawnbetweenthetwotypesofmodels.
2.3.1Capabilitymaturitymodel
Thecapabilitymaturitymodel(CMM)wasdevelopedbytheSoftwareEngineeringIn-stitute(SEI)basedontheworkofWattsHumphrey[3].AwidelyaccepteddefinitionofCMMpresented,forexample,byZahran[3]is
CapabilityMaturityModel:Adescriptionofthestagesthroughwhichsoftwareorganizationsevolveastheydefine,implement,measure,controlandimprovetheirsoftwareprocesses.
TheCMMisfocusedonprocessassessmentanditcanbeusedinanorganisationtodeterminethecapabilitiesoftheircurrentprocessandidentifythemostcriticalaspectsoftheprocessforsoftwareprocessimprovement[3].CMMwasinitiallyfocusedtowardsthesoftwareprocessbutafterthegenericnatureofthemodelwasfullydiscovered,severalvariationsofthemodelweredeveloped.CMMforsoftware(SW-CMM)isthemodelconcentratingonthesoftwareprocess.
TheCMMincludesfivelevelsofprocessmaturity,whichdefinethescaleformeasuringanorganisation’ssoftwareprocessandtheprocess’capability[3].Eachofthefivelevels,exceptthefirstInitialLevel,iscomposedofseveralkeyprocessareas(KPA),whichinturnconsistofkeypractisesorganisedintofivesectionscalledcommonfeatures[19].TheKPAsareuniqueamongthematuritylevelsandincludethecommonareasinsoftwaredevelopment,suchasRequirementsManagement.EachoftheKPAshasitsowngoals,whichareaccomplishedthroughaddressingthecommonfeaturesoftheKPAbyfollowingthekeypractisesrelatedtothefeature.
23
2.3.2Softwareprocessimprovementandcapabilitydetermination
Thesoftwareprocessimprovementandcapabilitydetermination(SPICE)isaprojectlaunchedin1993toassistindevelopinganewInternationalOrganizationforStandard-ization(ISO)andInternationalElectrotechnicalCommission(IEC)standardforsoftwareprocessimprovementandassessment.ThegoalsoftheSPICEprojectweresettoaidinthestandardisationprocessindevelopingafullinternationalstandardISO/IEC15504,toconductindustrialtrialsoftheemergingstandard,andtopromotethestandardtocreatemarketawarenessinthesoftwareindustry[20].
Structurally,incontrasttoone-dimensionalCMM,theproposedISO/IEC15504containsatwo-dimensionalreferencemodelfordescribingprocessesandprocesscapabilities.Theprocessdimensionofthereferencemodeldefines40processesandgroupsthemintothreelifecycleprocessgroupingswhichcontainfiveprocesscategories,accordingtothetypeofactivitytheyaddress.Theobjectivesofeachprocessaredescribedintermsofapurposestatement.Thereferencemodeldoesnotdefinehow,orinwhatorder,theelementsoftheprocesspurposestatementsaretobeachievednorthedetailedtasksandactivitiesrelatedtotheprocesses.Theotherdimensionistheprocesscapabilitydimensionwhichischaracterizedbyaseriesofmeasurableprocessattributesthatareapplicabletoanyprocess.Thecapabilitydimensionconsistsofsixcapabilitylevelswhichprovideawayofprogressingthroughimprovementofthecapabilityofanyprocess[20].
Inadditiontothereferencemodel,theISO/IEC15504containsguidestoperforminganassessment,qualificationofassessors,andprocessimprovement.Theguideforprocessimprovementdescribeshowtodefinetheinputstoandusetheresultsofanassessmentforthepurposesofprocessimprovement.Italsoincludesexamplesoftheprocessim-provementinavarietyofsituations[3].
VarkoiandMäkinen[19]presentacomparisonbetweenCMMandSPICEinsoftwareprocessassessment.Althoughnosimpleandgeneralwaywasfoundtoconcludethatcer-tainSPICEcapabilitiescorrespondtoCMMmaturitylevels,itisconcludedthatatlargethesameinformationcanbeacquiredwithbothmodelstosupportprocessimprovementpurposes.
24
2.3.3BOOTSTRAP
TheBOOTSTRAPmethodologyisaresultofaEuropeanCommunityprojectconsistingofthedevelopmentoftheBOOTSTRAPmodelandmethod,andindustrytrials.Al-thoughtheprojectfinishedin1993,themethodologyhasbeenfurtherdevelopedandmarketedbytheBOOTSTRAPinstitute.BOOTSTRAPcontainsasoftwareprocessas-sessmentmethodandprovidesalsoguidelinesfortransformingtheassessmentresultsintoanactionplanandprioritisingtheactions.Theassessmentmethodisthree-dimensionalcontainingorganisational,methodological,andtechnologicaldimensions.ThecapabilityscaleoftheassessmentmethodisbasedontheCMMsfive-levelmaturityscalewithsomemodifications[3].
25
3PROCESSREPRESENTATION
Aprocessrepresentationisadescription,depiction,likeness,orportrayalofaprocess[9].Aprocesswithoutarepresentationisdifficulttoperform,control,orimprove.Iftheprocessisrepresentedonlybyanimageinthemindsofthepeopleperformingtheprocess,onecanargueiftheprocessevenexists.Aprocessrepresentationcapturestheaspectsofaprocessdefinitionthatarerelevanttotheaparticulartask[13],whichmaybe,forexample,improvingorenactingasoftwareprocess.Thenatureofthetaskimpliestheusersandtherequirements,whichinturnaffectthestructureandcompositionoftherepresentation.Asaconsequence,arepresentationofaprocessforprocessimprovementpurposesmaydiffernotablyfromarepresentationofthesameprocessforsomeotherpurpose.Threekeymodesofprocessrepresentations,primarilydistinguishedbyformandusage,havebeensuggested:processmodels,processtemplatesandforms,andprocessguides[9].Althoughthemodesmaysuperficiallydiffernotablyfromeachother,theyenjoysimilaritiesinthebasicconceptualframeworkandprocessdefinition.
Inrelationtotheconceptspresentedinthepreviouschapter,processrepresentationsarecreatedandupdatedinsectorAoftheprocesscycleinFigure2,andrespectivelyintheevaluationanddevelopmentphasesofthesoftwareprocessimprovementcycleinFigure3.Also,therepresentationsmaybemodifiedintheinstantiationoftheprocessinsectorBoftheprocesscycle,andintheinstallationphaseofthehelicalsoftwareprocessimprovementcycle.
Intherestofthischapterasurveyintothebasicsofanysoftwareprocessrepresenta-tionismade,anddifferenttypesofrepresentationsfordifferentpurposesaredescribed.First,thecommonconceptualframeworkunderlyingasoftwareprocessrepresentationisdescribed.Second,thethreedifferentmodesofprocessrepresentationsaredescribed.Fi-nally,differentprocessmodellinglanguages(PML)andmethodologiesforimplementingtheconceptualframeworkfordifferentpurposesareinvestigated.
26
3.1Conceptualframework
Inthispartageneralconceptualframeworkforsoftwareprocessrepresentationsisde-scribed.Theframeworkisfocusedupontheinformationthatisneededforhumanenact-mentoftheprocessanditisdescribedinnaturallanguage–thelanguagesandmethod-ologiesforpracticalimplementationsaredescribedinthenextsubchapters.Theintentionoftheframeworkistodescribethetypesofinformationthatshouldbeinaprocessdefini-tionorrepresentation.Theframeworkisoriginallypresentedin[21]andfurtherdiscussedalsoin[9].Integratingmeasurementtoaconceptualframeworkofamodelisdiscussedinmoredetailin[22].Aprocess,itsconceptualframework,andrepresentationarepre-sentedinFigure4,whichisadaptedfrom[21].Thefigureconsistsofthreepartsandtheirinterconnections,whicharelabeledontherightsideoftheimage.Theuppermostpartdescribestheactualprocess,whichistransformedintoamoreabstractconceptualschema,whichinturnisdescribedasarepresentationoftheoriginalprocess.Aschemacanbethoughtasanimplementationoftheconceptualframework.Next,thedifferentaspectsoftheconceptualframeworkareexplainedinmoredetail.
3.1.1Entities
Typicalconsiderationsaboutasoftwareprocessare:
1.whathappensandhowitisdone,2.whatthingsareusedandproduced,3.whodoesit,and4.whenitisdone.
ThesefourbasicquestionsarealsopresentedattheuppermostpartofFigure4wheretheyareconnectedtotheactualprocess.Fromthefirstthreeofthesequestions,threeprincipalentityclassesorabstractionsinvolvedinsoftwareprocessescanbeidentified[21].
27
what happens and howwhen it is done
processProcess
things usedand producedbehaviourwho does itAbstraction
activitiesrelationshipsConceptualframework
artifactsagentsDescription
ProcessDefinitionDocumentProcess modelProcess
representation
Figure4:Conceptualframeworkforsoftwareprocess.
28
ActivitiesArtifactsAgents
whatandhowisdone
thingsusedandproduced(byactivities)whoorwhatdoesit(i.e.,performstheactivity)
TheentitiesareshownasboxesinthemidmostpartofFigure4.Eventhoughanactivitydescribesboththe“what”andthe“how”inaprocess,itisoftenconvenienttoseparatethetwoinformation.The“how”partcanbedescribedinaseparateprocedure,whichisaseparatedescriptionwithinanactivity[21].Thetoolsoftheprocesscanbeconsideredtobeapartoftheprocedurebutalsoaseparateentitycanbeusedtorepresentthemassuggested,forexample,in[1].
Thethreebasicclassesarecommonforallkindsofprocesses.Furtherclassescanbeaddedtoaschematoenableabetterfitforaparticularuse,forexamplebycreatingsubclassesfromtheprincipalclasses.Theagentclass,forinstance,canbesubclassedtoafunctionalagent(commonlycalledarole)andorganisationalagentclasses[9].Aprocessusuallyinvolvesmanyinstancesofeachoftheencompassedentityclasses,whichcomprisestheactualdatainaninstantiatedprocess.
3.1.2Relationships
Entityclassesbythemselvesarenotenoughtoformacompleteprocessrepresentation.Theinteractionsbetweenandwithintheclasses,andthebehaviouroftheentitiesovertimealsohavetobedefined[21].ThelinesinthemiddlepartofFigure4representtherelationshipsofthebasicentityclasses.TherelationshipswithinaclassareshowninFigure4aslineswhosebothendsareinthesameentity.Examplesofrelationshipswithinthebasicentityclassesinclude
activitymaycompriseofactivities,andagentmanagesanotheragent.
29
Therelationshipsamongthebasicentityclassesareshowninthefigureaslinesbetweentheboxes.Examplesofrelationshipsamongthebasicentityclassesinclude
activitiesareperformedbyagents,andagentsownartifacts.
Theentitieswiththeirconstraints,entityhierarchy,andtherelationshipswithinandamongtheentityclassesmakeupthestaticpartofasoftwareprocessrepresentation[23].Thus,thestaticpartgivesthedescriptionoftheelementsorentitiesthatareincludedinarepresentation.
3.1.3Behaviouralinformation
Sinceprocessesareessentiallydynamicinnature,theirbehaviourovertimeisacriticalaspect[21].Thestaticpartofaprocessdoesnottaketimeintoaccountandconsequentlyitignoresthebehaviouralaspectoftheentities.Thebehaviouralaspectofaprocessisdescribedinthedynamicpartofaprocessrepresentation,whichdescribestheorderingofthetaskstobeexecutedduringtheprocessenactment[23].Thedynamicpartprovidestheanswertothe“when”questionintheuppermostpartofFigure4,anditisalsoshowninthemidmostpartasthegrayedareaaffectingalltheentities.Examplesofthebehaviouralinformationofthedynamicpart,presentedin[21],include
when(underwhichcircumstances)anactivitycanbegin,
when(underwhichcircumstances)thestateofanartifactistobechanged,andwhen(underwhichcircumstances)alternativepathsaretobetaken.
Twodistinctiveparadigmsforthecontrolofthedynamicpartofaprocessexist:proactiveandreactive.Reactiveparadigmiseventdrivenbytriggersorexceptions,whileproactiveismainlybasedonprecedencerelationships[24].Thus,reactivecontrolisconcerned
30
withperformingactionsinresponsetosomeevents,whileproactivecontrolisestablishedaccordingtopre-maderules.Accordingto[23],fourkindofprecedencerelationshipscanbedistinguished:
Strongprecedences:Anactivitycanbegunonlywhenanotheractivityhasfinished.Weakprecedences:Anactivity(a)canbeginafteranotheractivity(b)hasbegunandb
mustfinishbeforeafinishes.Startsynchronisingprecedences:Anactivitymustbeginbeforeanotheractivityisbe-gun.Endsynchronisingprecedences:Anactivitymustfinishbeforeanotheractivityfinishes.
Asitcanbeseen,weakprecedencescanbeconstructedbyformingacombinationofthesynchronisingprecedences.
3.2Representationtypes
Representationsofasoftwareprocessmaybedevelopedformanydifferentpurposes.Oneprocessmayhavenumerousdifferingrepresentationsfordifferentusesinansoftwaredevelopingorganisation.Processrepresentationsaredevelopedforparticularusers,userneedsandrequirements,andusagescenarios.Theirintendeduseaffectswhattheycontainandhowtheyarestructured[9].Forexample,thehelicalsoftwareimprovementmodelinFigure3referstoprocessrepresentationsormodelsinvariousphases.Somepossiblepurposesfortherepresentationslistedin[1],[9],[8],and[7]include
increaseprocessunderstandinginorganisation,facilitatecommunicationabouttheprocess,aidintrainingandeducationofpersonnel,offersupportforprocessenactment,
31
facilitateworktrackingbycapturinginformation,offersupportforsoftwareprocessimprovement,aidindesigninganewprocess,aidinfindingtaskstoautomate,
aidinprocesssimulationandoptimisation,andsupportprocessmanagement.
Inthissubchapterthreetypesofprocessrepresentationsaredescribed:processmodels,processtemplatesandforms,andprocessguides.Eachofthethreetypesmayservedifferentpurposesfordifferentusers.
3.2.1Processmodels
Aprocessmodelisarelativelydetailed,formalorsemiformalrepresentationofaprocess[9].Theprimaryusersofaprocessmodelaretheprocessengineersorqualityengineers,whoareresponsibleforprocessengineeringactivities.Processmodelcanberepresentedintextualorgraphicalformdependingontheintendeduseofthemodel.TraditionallyprocessmodelshavebeenmodeledbyusingadetailedandformalPML.Theirmainpurposehasbeenautomatingorformalisingaprocessformachineassistedenactmentandservingasabasisforprocessengineering[9].Processmodellingcanbedescrip-tiveorprescriptivedependingonwhethertheprocessismodeledasitisorasitshouldbe.Beckeretal.[7]presentanapproachfordescriptivemodellingbasedonpracticalexperiencecomprisingthefollowingeightsteps:
1.stateobjectivesandscope,
2.selectordevelopaprocessmodellingschema,3.select(asetof)processmodellinglanguages,
32
4.selectandtailortools,5.elicitprocessknowledge,6.createmodel,
7.analysetheprocessmodel,and8.analysetheprocess.
Firstfourofthestepsareproposedtobeexecutedonlyinfrequentlywhiletheremainingfouraresuggestedtobeexecutedeverytimeprocessmodellingisperformed.Inthefirststeptheobjectivesofthemodellingareuncoveredbasedontheintendeduseofthemodel.Next,themodellingschemaisdesigned–forexamplebyusingtheconceptualframeworkdescribedintheprevioussubchapter.InthethirdandfourthstepthePMLs,andthesupportingtoolsareselected.Thetoolcanbeassimpleasatext-editorordrawingtooldependingonthetypeofthePML.Thenexttwostepsconcentrateontheactualinformationgatheringandmodellingtheprocessaccordingtheselectedschemaandusingtheselectedtools.Thelasttwostepsincludethedetectionofinconsistenciesintheprocessmodelandmonitoringtheenactmentoftheprocessforqualitativeorquantitativeanalysis.Theapproachisalsoconsistentwiththemodellingmeta-processusedintheindustrialcasepresentedin[4].Prescriptivemodellingcanalsobeperformedusingsimilarstepstothoseabovewithminormodifications.Usually,inSPI,descriptivemodellingisperformedfirsttoworkasthebaselineforprescriptivemodelingactivities,assuggestedin[6].ManyoftheexistingPMLsarecomplex,detailed,extremelysophisticated,andstronglyorientedtowardsdetailedmodellingofprocesses.Thesemodelsareoftenfine-grained,comprehensivedescriptionsofwell-defined,relativelystaticprocesses[9].However,re-centlyithasbeensuggestedthatthesehighlycomplex,detailed,andstaticmodelsmaynotbewhatisneededbythesoftwaredevelopers[1,9].PractitionersarenotusingthecomplexPMLsandthemodelscreatedwiththembecausethelanguagesdonotrespondtotheirneeds.Althoughthedetailedandcomplexmodellingofaprocessisjustifiedbythedesiretobepreciseandtoprovideenoughinformationtoenableprocessautomation,thepractitioners’mostimportantneedisoftentodescribeprocesseswiththepurposeofcommunicatingandunderstandingthem.ThismayhindertheadoptionofPMLsinprac-tisebycreatingsignificantbarriersfortheiracceptance[1].SuttonandOsterweil[25]
33
presentthebalancingofthetechnicalaspectsandeaseofuseofthemodellinglanguagesasakeyissuefortheadoptionofthesePMLs.
3.2.2Processtemplatesandforms
Processtemplatesandformsarestructuredtextualprocessrepresentationswherethein-formationisorganisedintopredefinedslots,andoftenarrangedinahierarchicalfashion.Theyareintendedtosupportprocessengineersinorganising,recording,andreportingprocessinformation.Templatesmayserveasinterviewguidesandasavehicleforrecord-ingelicitedinformationwhengatheringinformationthroughinterviewsduringdescriptiveprocessmodelling.Templatesandformshavealsobeenusedasamediumforreportingprocessinformationinstandardformattoprocessparticipants[9].
3.2.3Processguides
Aprocessguideisintendedtodescribeaparticularprocessforthemainpurposeofsup-portinghumanenactmentofthatprocess.Asaconsequence,processparticipantsaretheprimaryintendedusersofprocessguides.Aprocessguideisastructured,work-flowori-entedreferencedocumentforaparticularprocesswiththemainpurposeofsupportingprocessparticipantsincarryingouttheintendedprocess.Thus,aprocessguideshouldbeeasytounderstand,communicate,andfollow.Additionallyaprocessguidecanalsosupportprocesstraining,planning,andcertification.Processguidesgenerallyincludebothtextandgraphics,andcontainselectedportionsofanunderlyingprocessdefinitionormodel.Butasacontrasttoprocessmodels,processguidesshouldcontainmuchmoreinformationthansimplyaformattedprocessmodel[9].
Softwaredevelopmentprocessesaresocomplexentitiesthattheperformersneedtobeprovidedwithprocessknowledgetoperformtheirtasksadequately[10].Processdocu-mentationexistsinmanyorganisationsintheformofpapermanualsandprocesshand-books,whichcanbethoughtaspaperprocessguides.However,processperformersarefrequentlydissatisfiedwiththisdocumentationandinmanycasesitissimplynotused.
34
Theformatandcontentofpaperprocessguidesinsoftwaredevelopingorganisationsareoftendeficientandfailtoprovidethenecessaryinformationinsuitableformat[9].Evenifapaperprocessguidecontainsallnecessaryinformation,someseriouslimitationsarestillpresent.Kellneretal.[9]presentsuggestionsforthecontentandformofpaperpro-cessguidesandalsopointoutnumerousproblemsrelatedtoboththeirdevelopmentandusability.Problemswithpaperprocessguidespresentedin[9]andalsoin[10]and[11]includenavigation,searching,maintaining,customising,distributing,longupdatecycles,informationrepetition,managingdynamiccontent,andversioncontrol.Someoftheseproblemscanbesolvedbyusingformalprocessmodellinglanguagestodevelopprocessdocumentation,butstillotherproblemsandchallengesremain[9].
Electronicprocessguidesareweb-basedprocessguidesthathavebeensuggestedtosolvemanyoftheproblemsrelatedtopaperprocessguidesmentionedabove[9,10,11].Asorganisationintranetshavebecomemorecommonalsoprocessdocumentationhasbeenmadeavailablethroughaweb-browser.Kellneretal.[9]presentthreedifferentcom-monlyusedmethodsformovingfrompaperguidestoelectronicones:documentscanbemadeavailablefordownloadfromintranetintheirnativeformat,astraightforwardconversionofdocumentsfromnativeformatintosomemorebrowser-friendlylanguage(e.g.HTML[26])canbemade,oramoreextensiveconversioncanbemadesothatcross-referenceswithinadocumentareconvertedtohyperlinks.Anyofthesemethodswillaidinsolvingsomeoftheissueswithpaperguidesbyfacilitatingthemaintenanceanddistri-butionofprocessdocumentation.However,anEPGshouldprovidemoreextensiveusageofweb-basedtechnologythanjustlinkstoprocessdocumentation.Someoftherequire-mentspresentedforEPGsincludeasolidconceptualframework,adequateinformationcontent,easyandeffectivenavigation,andclearandinformativeuserinterface[9,10].AdditionalpossibilitiesforEPGsarepresentedin[11]intheformofstorageofprocessstateinformation,onlineaccesstotemplatesandmanuals,andlinkstootherresourcesonotherwebsites.AlthoughjustmakingthepaperdocumentationavailablethroughintranetdoesnotqualifyasanEPGinitself,itcanstillbeagoodstartingpointforcreatingafullscaleEPG.AnincrementalapproachfordevelopingaprocessmodeloranEPGisconsideredtobeagoodwaytointroduceprocesstechnologyintoanorganisationandthushelpthepractitionersinadjustingtotheresultingchange[1,10].Fuggetta[1]suggeststhattheprocessrepresentationmaybeincomplete,informal,andpartialatthe
35
beginningandifneeded,therepresentationcanbeenrichedandmademoreformalatlaterstages.
Becker-Kornstaedtetal.[11,27,28]discussamodellingtoolandanEPGgenerator,whichallowsthegenerationofEPGsdirectlyfromtheprocessmodels.TheysuggestthattheautomatedgenerationofanEPGfromthemodelsisafast,accurate,andinexpensivewaytodevelopandupdateanEPG.
3.3Processmodellinglanguagesandparadigms
Processmodellinglanguagesarelanguagesorformalismsusedtoexpresssoftwarepro-cessmodels,andconsequentlyotherprocessrepresentationsbasedonthemodels.Numer-ousdifferentPMLshavebeenintroducedtosoftwareprocessengineeringbutnosinglePMLhasacquiredadominantpositioninmodellingsoftwareprocesses[24,25,29].Var-iousreasonsfornothavingasinglestandardlanguageformodellingsoftwareprocesseshavebeenpresented,suchasexcessivestrictness,andlackingformality,modularity,hu-mancomprehensibility,andreuseabilities[24,30].Also,non-linguisticaspects,suchasorganisational,methodological,andtechnologicalsupporthavebeenpresentedasobsta-clesforthewidespreadacceptanceanduseofasinglelanguage[25].Ontheotherhanditmaybepossible,consideringthemultitudeofreasonsprocessesaremodeledfor,thatsimplynosinglePMLcanexistsatisfyingalltheneedsforaprocessrepresentation.Forexample,somePMLsaremoresuitabletohigh-levelmodellingwhileothersarebetterinlow-level,fine-grainedmodelling[30].ZamliandLee[29]presentfivecharacteristicsforPMLs:
Modellingsupport:APMLmustbeabletorepresentthebasicconceptualelementsofa
processdiscussedinthefirstpartofthischapter.Also,thecommunicationmech-anismsbetweenactivitiesandrolesanddifferentlevelsofabstractionshouldbe
supported.
Enactmentsupport:TwoaspectsofenactmentsupportthatmaybeaffectedbyaPML
arepresented.Enactmentsupportindistributedenvironmentisanissueconcerned
36
withphysicallydistributedenvironmentsandsupportacrossorganisationalborders.Enactmentsupportforincompletelyspecifiedprocessmodelsallowstheincremen-talconstructionofmodelsandenactmentofincompletesoftwareprocesses.Evaluationsupport:APMLshouldsupportprocessmeasurementbyprovidingrelevant
softwaremetrics.Evolutionsupport:Supportforevolvingsoftwareprocessesisdividedintotwocate-gories.Meta-processsupportisthesupportfortheprocessofdevelopingaprocessthatwasdiscussedinChapter1andvisualisedinFigure1.Thesecondcategory,processevolutionsupport,shouldenabletoapplicationofchangestotheprocess.Humandimensionsupport:Categoriesforhumandimensionsupportpresentedby[29]
includesupportforvisualnotation,userawareness,processawareness,andprocessvisualisation.Processvisualisationisdescribedasthepossibilitytohavemultipleviewsofthesameprocessfromdifferentperspectives.
IncontrasttoPMLs,whichareusedtodescribeprocessmodels,anumberofprocess-centeredsoftwareengineeringenvironments(PSEE)existthatsupportthecreationandexploitationofsoftwareprocessmodels.CommonfeaturesofferedbyPSEEsincludesupportfordefinition,modification,analysis,andenactmentofprocessmodels.InthissubchapterabriefdescriptionofsomeofmorecommonPMLsandmodellingparadigmsispresented.SincenumberofsurveyshavebeenpublishedpresentingandcomparingPMLs[29],onlyabriefdescriptionisgivenwiththefocusonthelanguagesandapproachesthathavebeenusedinpractiseformodellingsoftwareprocesses.
3.3.1Multi-ViewProcessmodelingLanguage
Multi-ViewProcessmodelingLanguage(MVP-L)isalanguagedevelopedforbuild-ingdescriptivemodelsoflarge,real-worldprocessesandtheiruseforunderstanding,analysing,guiding,andimprovingsoftwaredevelopmentprojects.MVP-Lwasprimarilydesignedformodellingin-the-large(i.e.highlevel)tosupportprocessunderstanding.Eventhoughthelanguageisrule-basedandtextual,somegraphicaltoolsforviewingthe
37
modelsalsoexist[30].ThemodelsintheintegratedmodellingandEPGcreationtool,presentedin[11,28],arebasedonanextendedMVP-L.
3.3.2AdaProcess-ProgrammingLanguageandJIL
TheAdaProcess-ProgrammingLanguage(APPL/A)isbasedontheAdaprogramminglanguagewithextensionstoprocessmodelling.Thus,itisatextualmodellinglanguageandmodellingtheprocesseswithAPPL/Aisinfactprocessprogramming.JILisafor-mallydefined,executableprocessprogramminglanguage,whichcanbethoughasasuc-cessortotheAPPL/A[29].ThemaingoalsforthedesignofJILincludedsemanticrich-ness,easeofuse,andsupportforvisualisation.JILoffersavarietyofsemanticattributesandprocesscontrolmechanismsandisbasedontheAdaprogramminglanguage[25].
3.3.3IntegrationDefinitionlanguage0
IntegrationDEFinitionlanguage0(IDEF0)isbasedontheStructuredAnalysisandDe-signTechnique(SADT).IDEF0includesagraphicalmodellinglanguageandamethodol-ogyfordevelopingmodels.IDEF0isacoherentandsimplelanguagedesignedtoenhancecommunicationbetweenanalysts,developers,andusers.Inadditiontothemodellinglan-guage,IDEF0alsoincludesamethodologyprescribingproceduresandtechniquesfordevelopingandinterpretingmodels[31].AlthoughthegraphicalnotationusedinIDEF0lacksthepossibilitytoexpresssomeofthebehaviouralaspectsofaprocess,textcanattachedtothemodelstocompensatetheseshortcomings.
3.3.4UnifiedModelingLanguage
TheObjectManagementGroups(OMG)UnifiedModelingLanguage(UML)isagraphi-callanguageoriginallydesignedforvisualising,specifying,constructing,anddocument-ingtheartifactsofasoftware-intensivesystemusinganobject-orientedapproach[32].However,theuseofUMLinprocessmodellinghasalsobeeninvestigated[24,29,33,34],
38
andtheOMGhasalsoreleasedaninitialsubmissionofaUnifiedProcessModel(UPM)[35]whichcontainsamodelusedtodescribesoftwaredevelopmentorrelatedprocessesusingUML.TheUMLconstitutesofseveraldifferentdiagrammaticnotationswhichareproposedtobeusedfordifferentpurposesinsystemdesign.Formodellingthesoftwareprocessthemostsuitablenotationshavetobeselected.WhiletheadequacyofthevariousUMLstaticdiagramsformodellingthestaticpartofsoftwareprocesseshasbeencon-firmed,modellingthedynamicpartofprocesseswithUMLhasbeenquestioned[24,33].Asaconsequence,someextensionstotheUMLnotationforprocessmodellinghavebeensuggested[23].TheUMLiswidelyusedinsoftwareengineeringintheindustryandalsoactivelystudiedinacademia[24].
3.3.5Process-orientedModellizationandEnactionofsoftwareDevelopmentsProcess-orientedModellizationandEnactionofsoftwareDevelopments(PROMENADE)isanapproachforsupportingsoftwareprocessmodellingbuildingontheUMLnotation.Inadditiontopresentingthenotationstouseinmodelling,PROMENADEalsopresentsaconceptualschemafordescribingasoftwareprocess.Thepresentedschemacanbede-scribedwithintheconceptualframeworkdiscussedearlierinthischapter.PROMENADEusesstandardstaticUMLdiagramstodescribethestaticpartofaprocessconsistingoftheentitiesandrelationships.Thedynamicpartisexpressedwithatextualnotationsup-portingbothproactiveandreactivecontrols,asinJIL[23].
3.3.6TheUnifiedProcess
TheUnifiedProcess(UP)isarepresentationofasoftwaredevelopmentprocesswiththemaingoalofguidingthedevelopersinimplementinganddeployingsystems[36].TheUnifiedProcessifheavilybasedontheUMLanditgivesguidelineshowandwheretousethedifferentnotationsofthelanguageinsoftwaredevelopment.TheUPisfocusedonthelifecycleofasoftwaresystemwithaniterativeandincrementalapproachwhereeachiterationovertimeconsistingofspecificphasesincrementallyaddstothesystem.Ineachiterationvariousmodelsofthesystemarebuiltthatareusedandupdatedinsubsequent
39
iterations.Thus,inadditiontotheguidelineshowtousetheUMLnotationsinsoftwaredevelopment,theUPprovidesasoftwarelifecyclemodelconsistingofpredefinedphases,suchasrequirements,analysis,design,andimplementation.
Inasense,theUPcanbethoughttobeaprocessguideofageneralsoftwareprocessthatcanbetailoredtomeettheneedsofaspecificorganisation.However,theUPdoesnotseemtohaveaconceptuallysolidprocessmodelbehindit.RecentlyeffortshavebeenmadetoformalisethemodelbehindUPbyformallyexplainingtheentitiesandbe-haviouralaspectsbehindit[36].Onemotivationfortheseeffortsistoenablethecheckingtheconsistencyofthevariousmodelsofthesystem[36].
40
4THEEPGENVIRONMENT
InthischapteranenvironmentforprocessmodellingandautomaticEPGcreationisde-scribed.Also,theusageoftheenvironmentinmodellingandcreatingEPGinstancesoftheprocessesofatelecommunicationssoftwarecompanyisinvestigated.Thisservesasatypicalexamplecaseofmodellingtheprocessesofamodernsoftwaredevelopingorganisation.
First,theconceptualschemaonwhichtheprocessmodelsarebasedonisdiscussed.TheschemaisbuiltontheconceptualframeworkpresentedinChapter3.Next,thepro-cessmodellingactivitiesintheenvironmentformodellingtheprocessesofthesoftwarecompanyarepresented.Theactivitiesfollowtheguidelinespresentedintheprocessmod-ellingsubsectioninChapter3.Third,thecreationofanEPGfromtheprocessmodelintheenvironmentisdescribed.Finally,asummaryofthearchitectureoftheenvironmentisgiven.
4.1Conceptualschema
InthissubchaptertheconceptualschemausedintheprocessmodellingintheEPGen-vironmentisdiscussed.Theschemafollowstheconceptualframeworkdescribedin[21]and[9].ThenotationusedinsomeofthefollowingfiguresisUMLstaticstructuraldi-agram(SSD)notation.SSDsarealsooftencalled“classdiagrams”buttheterm“staticstructuraldiagram”isusedinthisworksinceitdescribesthenatureofthediagramsinthisworkmoreaccurately.Thenotationispresentedindetailin[32].
4.1.1Entities
ThestructureoftheentitiesusedintheenvironmentandinmodellingtheprocessesforthesoftwarecompanyisdescribedinFigure5.Thefigureishorizontallydividedintothreeparts:
41
Element
Entity
Schema level
ArtifactAgentActivityResource
Organisational
unitProductdevelopment
Organisational
subunit
Testing
Process definition
level
Type
Testingengineer
InstancePerson
Process instance
level
Figure5:Entitystructure.
42
SchemalevelThesearetheentityclassesthatareimplementedinthecon-ceptualschemaitselfandthusareindependentofthedefinedprocesses.
Processdefinitionlevel
Thisisapartofaprocessdefinitioncreatedandupdatedbytheprocessengineersandmayvarydependingofthedefinedprocess.
Thislevelcontainstheentitiesassignedbytheprocessman-agersattheinstanceleveloftheprocessdefinitions.
Instancelevel
IntheuppermostpartthebasicentitiesoftheschemaarepresentedaccordingtotheframeworkdescribedinChapter3.Themiddlepartgivesamoredetaileddescriptionoftheentities,whichwereusedintheexamplecaseprocessdefinitions.Asshownundertheartifactbasicentityclass,theclasseswerefurthersubclassedaccordingtotheorgan-isationalstructureofthesoftwarecompany.Anexampleofthesubclassingispresentedbelowtheagentbasicentityclass,whereexamplesoftheorganisationalunits,agenttype,andinstanceareshown.Thelowestpartofthefigureshowstheinstancelevelwheretheprocessinstancesareenactedbyspecificprocessperformers.ApracticalexampleoftheentitystructureisalsopresentedinAppendix1.
4.1.2Relationships
ThebasicrelationshipsbetweenthebasicentityclassesareshowninFigure6withSSDnotation.Thefigureisincompleteinthesensethatitonlypresentsthemostimportantrelationshipsbetweenthebasicentityclassesatahighlevel.Inpractise,amorecomplexstructureisneededtodescribetherelationshipsinadatabase.
4.1.3Behaviour
Theschemasupportsseveraldifferentwaystodescribeprocessbehaviour.Reactive,event-drivencontroloftheprocessisfullysupportedwhileproactivecontrolissupported
43
contain
Resource
*use*
1
Agent
1
own
*
perform
*
Activity*use*Artifact
*
*produce**
containFigure6:Basicrelationshipsinthemodel.
withsomelimitations.Strongprecedencesofactivitiesarefullysupported,whereasweakandsynchronisingprecedencesarenotsupportedwithatomicactivities.Theeffectsofthislimitationcanbenotablylessenedbyrefiningtheactivitiestoanappropriatedetaillevelbycreatingsubactivitiesandusingreactivecontrol,asdescribedinthefollowingsubchapterfocusingonmodellinglanguages.Also,artifactandactivitystatesaresup-portedintheenvironment.
4.2Processmodelling
Inthissubchapterthephasesofthesoftwareprocessmodellingactivitiesintheenviron-mentandinthesoftwarecompanyaredescribed.Althoughthephasesarepresentedinthecontextofanexamplecase,theyaredescribedinagenericwaysothattheyillustratethemodellingintheenvironment.Thewholedescriptivemodellingapproachisbasedontheeight-stepapproachpresentedbyBeckeretal.[7].Thefirstfourstepsareexecutedonlyonce,whilethesubsequentphasesmaybeexecutedalsoduringfurtherSPIactivities.
44
4.2.1Modellingobjectivesandscope
ThemainobjectiveforthemodellingwastocreateasuitablemodelfromwhereEPGscouldbeeasilycreated.ThemostimportantgoalsfortheEPGscreatedfromthemodelwere
helpcommunicationaboutandincreaseunderstandingoftheprocesses,offersupportfortheprocessperformers,andaidinprocessimprovement.
TheEPGsweremeantfortheuseofallthepersonnelintheorganisation.Softwareengineers,astheperformersofthesoftwareprocess,andqualitypersonnelresponsibleforprocessimprovementwerenaturaltargetusergroupsoftheEPGs.Alsootherpersonnelgroupsinthecompanyshouldbeawareatthesoftwareprocessatahighleveltobeabletocommunicatewithotherpersonnelandbetterunderstandthesoftwarethatwasproduced.Finally,althoughthesoftwareprocesswasthefirsttargetofthemodellingactivities,alsootherprocessesintheorganisationcouldbemodeledatalaterstageintheenvironmenttoformanorganisation-wideprocessguide.Asaconsequence,understandabilityandtheeaseofuseweresetastheprimerequirementsfortheEPGs.Consequently,theprimerequirementfortheunderlyingprocessmodelwastoenablethecreationofEPGsfulfillingtheserequirements.
4.2.2Conceptualschema
Theconceptualschemaoftheprocessmodelwaspresentedintheprevioussubchapter.AsproposedbyBeckeretal.[7],theobjectivesofthemodelinfluencedthedevelopmentoftheschema.TheprimegoalsandrequirementsofthemodelandEPGsincludedcom-municationandunderstandability,andconsequentlytheschemawasdesignedassimpleaspossibletofulfiltheneedsoftheusersandtheorganisation.
45
4.2.3Modellinglanguages
Asuitablelanguageorlanguageshadtobeselectedforthemodellingtask.TofulfiltherequirementssettothemodelandEPGs,thelanguage(s)shouldbegraphicalandread-ablebyallpersonnelwithoutextensivetraining.Modelsconcentratingmainlyonbetterunderstandingoftheprocessshouldbedescribedwithgraphicalrepresentation,andpre-cisionshouldnotbeoveremphasisedinmodelsusedforprocessimprovementpurposeseither[7].Introducingacompletelynewandcomplexlanguagetotheorganisationwasoutofthequestion,sincetheunderstandabilityoftheprocesseswasaprimerequirementandtheoverheadoftrainingwastobeminimised.Itwasacknowledgedthattheselectionofareadable,graphicallanguagecouldmeanmoreinformalprocessdescriptions.Sinceautomatingorsimulatingtheprocesseswasnotanissueandtransitionstowardsmoreunderstandablerepresentationsaresuggestedbyresearchers[1,9],thiswasnotconsid-eredamajorproblem.Also,presentingtheEPGsandtheunderlyingprocessmodelwithdifferentsetsoflanguageswasconsidered,buttheoverheadcausedbyusingseverallan-guagesfordifferentpurposes,probablecomplexityofthesystem,andlackofsupportingtoolsweresomeofthereasonsforchoosingthesamelanguage(s)forbothmodellingandpresentingtheEPGs.
Table1:RepresentationofmainrelationshipsRelationshipRepresentation
Activityisperformedbyanagent
AD
Activityproducesanartifact
AD
Artifactcontainsartifact
Form
Resourceisusedbyagent
Commentconnectedtoactivity
SubclassesOutgoingdashedlineActivityatswimlane
TwodifferentUMLnotationswereselectedformodellingandEPGpurposes.ThemainreasonsforselectingUMLnotationswastheirfamiliarity,readability,andexpressive-ness.ThestaticpartoftheprocessesweredecidedtobemodeledwithUMLSSDs,andthedynamicpartwithUMLactivitydiagrams(AD)whichhavebeenfoundtobethe
mostsuitableUMLnotationsformodellingthebehaviourofprocesses[33].WhereasthesuitabilityofSSDsformodellingthestaticpartofprocesseshasbeenfoundadequate,the
46
suitabilityofADsformodellingthedynamicparthasbeenquestioned[24,33].ThelackofmechanismstoexpressproactivecontrolandactivitypropertieshavebeenpresentedasthemainlimitationsofADs.Inourmodellingapproachthefirstissuewascircumventedbyrefiningtheactivitiestomoredetailedsubactivitiesandusingreactivecontrolwiththesubactivitieswherenecessary.Thelatterofthedeficiencieswaslessenedbyintroduc-ingtextualformsforeachentityinthemodelcontainingdetailedinformationabouttheentityinquestion.TherepresentationofthemainrelationshipsillustratedinFigure6isdescribedinTable1andpracticalexamplesofthediagramsarepresentedinAppendix1.
4.2.4Toolselection
ToolswereneededtosupportthegenerationoftheUMLdiagramsandtextualforms.Somerequirementsforthetoolsweretheeaseofuseandeffortlessupdatingexistingmod-els.ToolkitforConceptualModeling(TCM)[37],whichincludessupportfortheneededUMLdiagramsandincludesalsolimitedsyntaxchecking,wasselectedasthetooltodrawthediagrams.AdditionaladvantagesofTCMwereawell-documentedhuman-readablefileformat,whichwasneededforinformationextractionfromthemodels,andgoodex-portingfeaturesforotherimageformats.Therepresentationofsubactivitydiagramswasnotsupportedbythetoolandfile-systemdirectoryhierarchywasutiliseddescribetheserelationships.Also,versioncontrolofthediagramswasnotimplementedinTCMandexternalmethodswereused.Web-browserwasselectedasthemainuserinterfacetooltobeused,forexample,inupdatingthetextualformscontainingthedetailedentityprop-erties.Usingafamiliarinterface,suchasaweb-browser,foraccessingandupdatingtheprocessinformationsupportsthefulfilmentoftheobjectivesofeaseofusesetfortheprocessmodels.
4.2.5Elicitprocessknowledge
Theinitialgoalofthemodellingwastocreateadescriptivemodeland,consequently,elicitingexistingprocessknowledgewasnecessarytoacquiretheinformationtodescribetheprocess.Themainmethodsusedatthisphasewerestudyingexistingdocumentation,
47
observation,andinterviewinginvolvedpeople.Althoughprevioussystematiccompany-wideprocessmodellingactivitieshadnotbeenexecutedintheorganisation,processdocu-mentationexistedformanyoftheindividualprocessesinvariousforms.Wheresuitable,up-to-dateprocessdocumentationdidnotexist,moreemphasiswasputtoobservationandinterviews.
4.2.6Modelcreation
Atthisphasetheinformationgatheredintheelicitationphaseisformalisedandmod-eledbasedontheconceptualschemawiththeselectedlanguagesandtoolstoachievetheobjectiveswithinthescopeofthemodel.Assuggestedin[7],themodellingintheenvironmentshouldbeginbymodellingtheentities.Theagentsandartifactswiththeirstructuralhierarchies,presentedinthemiddlepartofFigure5,weremodeledasSSDsus-ingtheTCMmodellingtool.EachofthesubclasseswasmodeledasaseparateSSDfiletocreateamodulartreehierarchy,whichcouldbeeasilymanagedandfurtherprocessed.ApracticalexampleofaSSDtreeispresentedinAppendix1.
Next,theactivities,artifactflow,andprocessbehaviourweremodeledasADswiththedrawingtool.ThewholeprocesswasnotdescribedwithasingleADbutalayeredstruc-turewascreatedwithdifferentlevelsofabstraction.Atthehighestlevelonlyasingleactivityneedstoexist(e.g.’Createsoftware’)whichcanthenberefinedwithsubactiv-itiesasneeded.Thus,atree-likestructureofthesoftwareprocesswasgeneratedwheretheleavesrepresenttheatomicactionstates.Everynodeinthetree,withtheexceptionoftheatomicleafnodes,isrepresentedbyaUMLdiagramandconsequentlyasingleTCMfile.Thedescribedstructureishighlymaintainableenablingtheprocessengineerstoconcentrateonspecificpartsoftheprocessatachosenabstractionlevel.Theprocessescanberefinedtoanappropriatelevelaccordingtothecontextandperformers,assug-gestedby[13].Thestructurealsosupportsthereuseofprocesseswithinthemodelbyallowinglinkingofnodestodifferentpartsofthetree.Incrementalmodelling,suggestedin[10,13],isalsosupportedbyallowingthemodeltobeginatahighabstractionlevel.AverysimpleexampleofanactivitystructureispresentedinFigure7andapracticalexampleofanactivity/subactivityrelationshipisshownintwoADsinAppendix1.
48
Createsoftware
Abstraction
level
DesignImplement
DesignmoduleDesignmodule testsCodemoduleDocumentmodule
Activity AActivity BActivity CActivity DActivity E
Figure7:Examplestructureofanactivitytree
Theactivity-subactivityrelationshipsareillustratedinFigure7withtheverticallyalignedsolidlines.Oneactivitymayhaveamaximumofoneparentnodebutanunlimitednum-berofsubactivitynodes.Thedottedlinesrepresentthelinksenablingthereuseoftheprocessesindifferentprocessesandpartsofthetree,i.e.anactivitymaybeasubactivityformultipleactivities.Forexample,inthefigureActivityCisacommonsubactivityofthreeactivitiesbutithasonlyoneparentDesignModuleTests–theothertwoactivitiesareonlylinkedtoActivityC.Themorehorizontallyaligneddashedlinesrepresentthebe-haviouralrelationshipsbetweenactivities.Usuallyallthesubactivitiesofagivenactivityhavebehaviouralrelationshipswitheachother,andallthebehaviouralinformationpre-sentedhigherinthetreeaffecttheactivitieslowerinthesamebranch.Activitiesthatarelinkedassubactivitiesareaffectedbythebehaviouralinformationpresentedinthebranchofthelinkingnode,i.e.oneactivitymaybeaffectedbydifferentbehaviouralinformationdependingonthebranchitisaccessedfrom.
Next,processinformationisextractedfromtheSSDsandADs,andinsertedtoadatabase.Thisinformationincludes,forexample,theentitieswiththeirstructure,artifactflow,ac-
49
tivity/subactivityrelationships,etc.TheinformationextractionisfullyautomatedandperformedbyaprogramtraversingtheSSDandADtreehierarchy,andparsingtheTCMsourcefiles.Aftertheprocessdatabasehasbeencreated,otherinformationaboutthepro-cessentitiesmaybeinsertedintothedatabasebyfillingformswithaweb-browserusinganadministratorprocessguidedescribedinthenextsubchapter.Examplesofinsertedentitypropertiesincludeentitydescriptions,activityobjectivesandprocedures,andtheartifactownerrelationship.Thus,theproblemsresultingfromADsdeficienciesinpre-sentingactivitypropertiesareremovedbypresentingthisinformationinseparateforms.Althoughmodellinginabottom-upfashionissuggestedasthemeansforprocessmod-ellinginaneworganisation[7],intheexamplecasethemodellingwasperformedasacombinationoftop-downandbottom-upapproaches.Whilebottom-upmodellingwasusedwhencollectingtheinformationaboutindividualprocessstepsfromtheperformersandexistingdocumentationtoformlargerentities,thetop-downapproachwasusedinthehigherpartsofthestructuraltreeinfluencedmainlybytheorganisationalstructureofthecompany.Intheinitialphasesomeofthemostimportantdevelopmentprocessesinthecompanyweremodeledintheenvironmentaccordingthemethodpresentedhere.Atthisstageamodelconsistingofasetofover400activities,50artifacts,and25roleswascreatedandpresentedintheSSDandADtreesdiscussedabove.ThemaximumdepthoftheADtreewasfivelevels.
4.2.7Modelandprocessanalysis
Theprocessmodelshouldbeanalysedtoensurethattheprocessisconsistent[7].Syntac-ticandsemanticanalysisofthemodelshouldbeconductedtoavoidinconsistenciesandresultingperformermisunderstandingandconfusion.Inthemodelcreated,theanalysiswasperformedmostlymanuallybytheprocessengineers.Althoughthedrawingtool(TCM)includedsomesyntaxcheckingfacilities,theywerenotusedextensivelybecauseoftheirlimitedcapabilities.Semanticanalysisofthemodelwasperformedmainlybytheprocessengineersandtheperformersoftheprocessvalidatingthemodeledprocesses.QualitativeandquantitativeprocessanalysisusingthemodelandtheEPGswithintheorganisationisdiscussedinthenextchapter.
50
4.3EPGcreation
InthissubchapterthecreationofEPGsfromtheprocessmodelisdescribed.ThemodelconsistsoftheSSDs,ADs,andadatabasecontainingprocessinformation,asdescribedintheprevioussubchapter.Thedatabasewascreatedbasedontheinformationextractedfromthediagrams,andinsertedviaforms.Thecreatedmodelisagenericmodelfromwhereinstancescanbecreatedfordifferentpurposes.Infact,aprocessguidecanbeseenasaninstanceoftheunderlyingprocessmodelcontainingtherelevantpartsofthemodeldependingontheintendeduseoftheguide.AnEPG,asanyotherinstance,canbecustomisedtoincludemodifiedoradditionalinformationabouttheprocess.Inthissubchapterthephasesinvolvedincreatinginstancesofthegenericmodel,forEPGorotheruse,aredescribed.
4.3.1Planninginformationcontent
Planningtheinformationcontentofthetheinstancedependingonitsintendeduseisthefirststepininstancecreation.Decisionsaboutpresentingthewholeprocessmodelorjustspecificpartshavetobemade.Also,anyadditionalinformationneededintheinstance,suchasnotes,externaldocumentation,andhyperlinksconnectedtospecificentities,hastobedecidedupon.Examplesofsuchinformationincludeinstancespecificguidelines,warnings,andsmalldeviationsfromthegenericprocess.Largedeviationsfromtheunderlyingprocessmodelarenotpossibleinthisframework,andamodifiedprocessmodelshouldbecreatedforsuchdeviations.Althoughcreatinganew,modifiedprocessmodelisfairlysimplebycopyingandmodifyingtheexistingmodel,thesufficientgeneralityoftheexistingmodelcanbequestionedinsuchacase.Theinclusionofmetricstomeasuretheenactmentoftheprocess,neededespeciallyinSPIactivitiesasdescribedinChapter1,hasalsotobedecided.
SeveralEPGinstanceswerecreatedintheorganisation.Oneorganisation-wideguidewasdevelopedasageneralbrowsabledescriptionofalltheprocessespresentingtheprocessmodelwithoutanyadditionalinformation.Alsoproject-specificinstanceswerecreatedforprocessmodelvalidationpurposeswithadditionalinformationandmetrics.
51
4.3.2Customisinglayoutandmetrics
AfterthecontentoftheEPGhasbeenplanned,theformatinwhichthecontentispre-sentedhastobedesigned.Sincetheguideispresentedinhypertextformat,thelayoutdesigninvolvesdesigningsuitableHTMLtemplatesfortheinformation.ThetemplatescontainHTMLwithspecifictagsdenotingtheinsertionofthedatafromthemodel.UsingHTMLenablesthepossibilitytocustomisethelookandcontentsoftheguideaccordingtothepreferencesoftheusers.Optionallycustomisingscriptscanbecreatedtoperformspecificactions,suchasfetchingacurrentversionofadocumentatthecreationtimeoftheguide.Differenttemplatesandscriptscanbespecifiedforeachnodeofthemodelhierarchytreeexcepttheleafnodes,whicharenotpresentedbySSDsorADs.Also,iftheneedforprocessmeasurementwasuncoveredintheinformationplanningphase,thescriptsforincludingthemetricsinthemodelarepreparediftheydonotexistalready.Inalltheinstancesthatwerebuilt,thesamelayoutwasusedsothatalltheinstanceshadasimilarlookandonlyonesetofHTMLtemplateswasneeded.Somecustomisedscriptswereusedtofetchup-to-datedocumentationtotheguidefromdifferentpartsofthecompanyintranetatguidebuildtime.Formeasurementandperformerfeedbackpurposesthreepossibilitieswerecreatedwithdifferentoptionsforprocessenactmenttimeinput.Intheorganisation-wideguideitwaspossibletoinserttextasfeedbackrelatedtoanyentityofthemodelthroughtheweb-browser.Intheproject-specificinstancestheinsertionofactivityperformancetimeatprocessenactmenttimewasaddedasanadditionalmetric.Thethirdpossibilitywasa“bare”versionwithoutanyperformerinputfeatures.ExamplesofthesimpleguidelayoutforADsandSSDsarepresentedinAppendix1andexamplesofthetextualforms,includingascreendescribingtheinsertionofactivityperformance,arepresentedinAppendix2.
4.3.3Buildingtheguide
Atthisphaseaguideisbuiltbasedtheinformationprovidedbythemodelandtheplannedinformationcontentwiththelayoutdefinedinthepreviousphase.ThebuildingoftheguidefromtheTCMsourcefilesandprocessdatabaseisfullyautomated,onlythename
52
oftheguide,thelocationoftherootnodeoftheguideintheprocessmodeltreehierarchy,andinformationaboutthecustomisingandlayoutscriptsareneeded.Thus,theguidemayconsistofanysubtreeofthemodelandconcentrateonspecificprocesses.AsillustratedinFigure7,anactivitymayhavelinkstootheractivitiesintheactivitytreewhichalsohavetobefollowedtocreateacompletesubtree.Forexample,ifaprocessguidewastobecreatedaboutImplementation,ActivityCwouldbeapartofthisguidesinceitislinkedtosubactivitiesoftheimplementationnode.TheHTMLtemplateschosenatthepreviousphaseareusedtocreatethelayoutoftheguideandthescriptsusedformeasurementareincluded,ifneeded.Thegeneratedguideconsistsofthreeinterconnectedparts:
Dynamicpart:ThedynamicpartconsistsoftheADsandtheinstance-relatedinforma-tionpresentedwiththedesignedlayout.TheADitselfisanimagecreatedfromtheTCMsourceswithallentitiesparsedtoHTMLimagemaps,sothateveryen-tityon-screenisaclickablehyperlink.Theimagemappedhyperlinksareusedtodescribethestructureoftheselectedsubtreebyillustratingtheactivity/subactivitystructureandlinksinthetree.Also,thehyperlinksenabletheaccesstothedetailedpropertiesofeachentity.
Staticpart:ThestaticpartcontainstheSSDsandthecustomisedinstanceinformation
presentedwithalayoutdesignedinthepreviousphase.Asinthedynamicpart,
theSSDsarerepresentedbyimagescreatedfromTCMsources.Theentitiesarerepresentedbyclickablehyperlinkstodescribethedetailedentitypropertiesandstructureofthestaticpartofthemodel.
Textualpart:Thetextualpartcontainsthedetailedentitypropertieswithinstanceinfor-mation.Hyperlinkstootherrelevantpartsoftheguideandadditionalinformation
abouttherelationshipsoftheentitiesisalsoprovided.Examplesoftheautomati-callycreatedweb-formsincludedetailsoftheflowofaspecificartifact,activitiesofaspecificagent,etc.Also,thepossiblemeasurementsinsertedintheinstancearepresentedinthetextualpartoftherelatedentity.
Thebuildingofaguidecanbemanagedthroughaweb-interfacewheretheinformationneededtobuildtheinstanceisinserted.ExamplesofthescreensofthedifferentpartsofaguidearepresentedinAppendices1and2.
53
NavigationwithintheguideisprovidedwiththemeansdescribedinTable2.Onethingtonoticeisthatatthisstagethereisnotstraightlinksbetweenthedynamicandstaticparts–navigationbetweenthesepartsmustgothroughthetextualpart.Theimplementa-tionofthesestraightlinkshasnotbeenconsiderednecessaryduetotheothernavigationmechanisms.
Table2:EPGnavigation.
From
Activitydigrams
Textualforms
Textualforms
Staticstructurediagrams
Activitydiagrams
Staticstructurediagrams
Textualforms
Hyperlinks
Imagemapsandhyperlinks
Hyperlinks
How
Imagemapsandhyperlinks
4.3.4Customisinginstance
Beforetheguidewasbuilt,someofthepropertiesoftheguidewerealreadycustomisedinthelayoutdefinitionphase.TheseincludedinformationwithintheHTMLtemplatesofthedynamic,static,andtextualparts,whichcouldalsobeenhancedwithscriptsexecutedatbuildphase.Also,theinclusionofmetricstomeasuretheprocesswascustomisedbeforebuildingtheguide.Atthisphasetheinformationcontainedinthetextualpart,i.e.thedetailedentityproperties,canbecustomisedwithaweb-interfacecreatedatthebuildtime.Thisinformationcaninclude,forexample,guidelinesorproceduresrelatedtoaentityinthisspecificinstanceoftheprocessmodel.
4.3.5Administratorguide
Theadministratorguideisaspecialversionofthemodelthatcanbebuiltsimilarlytoaregularprocessinstance.Theguideallowsthemodificationoftheinformationstoredintheprocessdatabasebyprovidingaweb-interfacetothedatabase.Onlytheentitypropertiescanbemodifiedthroughtheadministratorguide–modifyingthebehaviour
54
orrelationshipsoftheentitiesisnotnecessarysincetheinformationisextracteddirectlyfromtheSSDsandADs.Modificationsmadewiththeadministratorguidearerelatedtotheprocessmodelandthusaffectalltheinstancesbasedonthemodel.Theadministratorguideisaneasyandfastwaytoinsertandupdatethedetailedprocessinformationinthedatabase.ExamplesofthescreensofanadministratorguideareshowninAppendix3.Thescreensoftheadministratorguidearesimilartothescreensofaregularinstancewiththeexceptionthatmostofthefieldsareeditable.
4.4Summaryoftheenvironmentarchitecture
InthissubchapterasummaryoftheenvironmentcombiningtheprocessmodellingandEPGcreationispresented.Also,aviewtotheunderlyingtechnicalarchitectureoftheen-vironmentisgiven.ThesummaryoftheenvironmentisgivenintheformofadescriptionofthestepsperformedintheEPGcreationintheexamplecase:
1.settingobjectivesandscope,2.designingconceptualschema,3.selectionoflanguagesandtools,4.processinformationelicitation,5.modelcreation,
(a)drawingormodifyingtheSSDsandADswithTCM,(b)buildingaprocessdatabasefromtheTCMsourcefiles,(c)buildinganadministratorguidefromtheTCMsourcefiles,
(d)insertinggeneralprocessinformationintothedatabasewiththeadministrator
guideweb-interface,6.EPGcreation,
(a)planninginformationcontent,
55
(b)customisingguidelayoutandmetrics,
(c)buildingtheEPGfromtheTCMsourcefilesandprocessdatabase,and(d)customisingtheEPGdetailswiththeweb-interface.
Thefirstthreestepswereexecutedonlyduringthecreationoftheenvironmentandneednottobeexecutedinthefutureunlesschangestotheschemaareneeded.Thefollowingtwostepsmaybeexecutedwhenchangestothemodelareneeded,andthelaststepwheneveraninstanceofthemodelhastobecreated.Smallchangestothemodelandalltheinstancesbasedonitcanbemadewiththeadministratorguideatanytime,whilelargerchangesrequirebuildingthewholemodelanew.
ThearchitectureoftheenvironmentisillustratedinFigure8wherethepeople,tools,andtheunderlyingarchitectureoftheenvironmentareshowninterconnectedwitharrowsrep-resentingtheinformationflow.ThearchitecturecanbecomparedtotheprocesscyclepresentedinFigure2toillustratehowthedifferentpartsofthearchitecturecorrespondtothesectionsoftheprocesscycle.ThethreesectorsA,B,andCinthecyclearealsopre-sentedwiththreeverticalsectionsinFigure8withtheirrespectiveperformingrolesandtools.Theinformationflowspresentedinthecenteroftheprocesscycle–feedback,pro-cessdescriptions,andinstantiatedprocess–arepresentedinthearchitectureinformationflows.
Althoughprocessfeedbackisshownasflowingstraightfromaroletoanother,theEPGitselfcanbeusedasthemeansfortheperformersgivingprocessfeedbacktotheprocessmanagers,asdescribedinthesubsectionconcentratingoncustomisingtheEPGlayout.Inthiscasetheprocessfeedbackisstoredintheprocessinstancedatabase.
56
User
Userinterface
Tools
Database
Process engineer
Process managerProcess performer
feedbackfeedbackTCMWWW−WWW−WWW−browserbrowserbrowserCreateCreatemodelAUpdatemodelinstanceBPerforminstanceCBuildAdministratorBuildenvironmentguideenvironmentEPGinstantiatedprocessModelprocessdatabasedescriptionsInstance databaseFigure8:EPGenvironmentarchitecture.
57
5EPGSUPPORTFORPROCESSIMPROVEMENTANDENACTMENT
InthischaptertheusageoftheEPGscreatedintheenvironmentdescribedinpreviouschapterisinvestigatedinatelecommunicationssoftwarecompany.Theusageisexam-inedfromtheviewpointsoftheobjectivessettotheEPGsintheprocessmodellingpart,namelythesupportforprocessperformersandthesupportforSPIactivities.Theobjec-tivewastoexplorehowtheEPGsandtheenvironmentcouldsupporttheexistingSPIandprocessperformanceactivitiesintheexamplecompany.Thestructureofthechapterfol-lowsthestructureoftheprocessimprovementmodelpresentedinFigure3asanexampleofthegenericstepsusedinCPI.ThepossibleusesoftheenvironmentandtheEPGsintheindividualstepsofthecyclearediscussedinthecontextofthetargetorganisation.
5.1Evaluateprocess
Inthisphasethemainobjectivesareunderstandingthesoftwareprocess,evaluatingtheprocessusingqualitativeandquantitativeinformation,andfindprocessimprovementop-portunities[6].Therecommendedmeansforunderstandingtheprocessistocreateadescriptivemodel[6].Inthecompanyapreviousprocessmodelexisted,whichwascon-sideredtobeoutdatedandtoorigidforthecurrentneedsofthecompany.Althoughdescriptionshadbeendevelopedformostindividualpartsofthesoftwareprocess,therewasaneedforamoreholisticviewoftheprocessesinthecompany.Theindividualprocessesweredocumentedwithsemiformaltextualformsorgraphicalnotationsandastandardformallanguagetodescribeprocessesdidnotexist.
ThesoftwareprocesshadbeenevaluatedthroughexternalSPICEassessmentsandsmallerscaleinternalassessmentsandtheresultingqualitativeinformationhadbeenusedforevaluatingthecurrentstateoftheprocessandplanningfurtherprocessimprovement.IncomparisonwithotherFinnishsoftwarecompaniestheresultsoftheassessmentsofthetargetcompanywerewellaboveaverage.Alsosomequantitativeinformationforprocessanalysishadbeenavailable,suchasdefectcounts,buttheneedformoreprojectspe-58
cificquantitativedataforprocessanalysiswasacknowledged.Whiletheprocessassess-mentswerethemainsourceforprocessimprovementopportunities,alsootherimportantsources,suchasprocessperformers,customers,andmanagement,wereusedtoidentifypossibletargetsforimprovement.
IncreasingprocessunderstandinginthecompanywasoneofthemainobjectivesoftheEPGscreatedintheenvironment.Especiallytheprocessengineersdesigningandim-provingtheprocessesrequirethroughunderstandingabouttheindividualprocessesandthesoftwareprocessasawhole.Theadministratorguidecontainingthewholeprocesstreeandtheunderlyingmodelprovidesaholisticviewtotheprocessesofthecompanyataneededlevelofdetail.Inasense,antheEPGenvironmentprovidedthegluetobindtheindividualprocessestogetherandtodescribetheirinterconnections.Whiletheexistingprocessdocumentationwasconvertedtoacommonnotation,alsotheoriginaldocumentswereattachedtoappropriateplacesintheprocessframework.Thus,theadministratorguideandotherprocessinstancesworkalsoasacentrallocationfromwhereallprocessdocumentationinthecompanycanbeaccessedandmaintained.Theprocessengineerscanaccessandupdatespecificpartsofthesoftwareprocessandalltheirrelateddocu-mentationbybrowsingtheadministratorguide.Oncetheunderlyingdescriptivemodeloftheprocesswascreatedandkeptup-to-date,separatemodellingphasesarenotneededinsubsequentSPIcycles[6].
ThedesignoftheEPGenvironmentallowstheinsertionofmeasurementsatanygivenactivities,artifacts,orrolesforspecificprocessinstances.Asanexample,theperfor-manceinformationofanactivityinaprojectwasdescribedinthepreviouschapterandillustratedinAppendix2.ProjectspecificEPGinstancesoftheprocessmodelwiththeneededmetricscanbecreatedandpublishedinthecompanyintranetasatooltogatherinformationaboutindividualprocessesorprojects.MeasurementssubmittedinanEPGthroughaweb-browserareinsertedtotheinstancedatabase,fromwheretheycanbefetchedforfurtheranalysis.Thus,theEPGinstancesprovidethemeansforacquiringquantitativeinformationaboutprocesses,whichispresentedasthepreferredbasisforprocessevaluation[6].
Aprocessrepresentationdoesnotsuggestanyprocessimprovementopportunitiesinit-self,butanEPGcanbeusedasavehicleforgatheringprocessimprovementideasfrom
59
performersormanagement.TheideassubmittedthroughanEPGinstanceinanyprojectareattachedtoaspecificprocessorentityandstoredtoadatabase.ThisenablestheEPGtofunctionasarepositoryforprocessimprovementproposals,whichispresentedasausefulsourceofideasforSPI[6].
5.2Developprocess
Thedevelopprocessphaseincludessettingthegoals,planning,andexecutingofthepro-cessdevelopment[6].ThegoalsettingorprocessdevelopmentplanningarenotdirectlyaffectedbytheEPGenvironment.Althoughtheavailabilityofalargeramountofquan-titativeinformationfromprocessesmayenablethesettingofmorespecificgoalsandconstraintsforprocessdevelopment,thecurrentproceduresusedinplanningprocessde-velopmentinthecompanyarenotaffected.Existing,formalPALtohelpinidentifyingandunderstandingreusableprocessassetswasnotavailable,andthemainsourcesforprocessalternativesinthecompanywerethevariousexistingdocumentation,processperformers,andliteratureasalsosuggestedin[6].Theprocessalternativeswereeval-uatedmainlybasedonqualitativeinformationfromassessingtheprocess,andasinglestandardmethodfordescribingthechosenprocessdidnotexist.Usuallytheprocesswasdocumentedwithatextualdocumentandsemiformaldiagrams,suchasflowcharts.TheEPGenvironmentsupportsprocessreuseindifferentprocessesandinstancesthroughthelinkingofdifferentpartsoftheprocesstreeasdescribedinthepreviouschapter.Thisallowsthereuseofprovenprocessesorsubprocessesinprocessdevelopment,andfacilitatesthesearchforalternativesinexistingprocesses.Theprocessengineersmaybrowsetheprocessmodelthroughtheadministratorguideinsearchingsuitablecandidatesforprocessreuse.Also,ifthefoundalternativeshavebeenusedinapreviousproject,quantitativeinformationmaybeavailabletoaidintheirevaluation.TheprocessesaredescribedwiththeUMLnotationsandformsusingthetoolspresentedinthepreviouschapter,whichtheprocessengineershavetobefamiliarwith.Additionalandexistingdocumentationinanyformatcanbeattachedwithhyperlinkstoanypartoftheprocessmodel.
60
Verifying,validating,andpossibleprototypingtheprocessarealsotasksbelongingtothisphase[6].Sincetheprocessmodelisdescribedinamoreformalmannerthantheprocessesinthecompanybefore,moreattentionhastobepaidtotheverificationoftheprocessestokeepthemodelconsistent.Thisrequiressyntacticalandsemanticalanalysisoftheindividualprocessesandthemodelasawholebytheprocessengineers.EPGinstancescanbecreatedtosupportandprovidefeedbackchannelsfortheusualreviewsandpossibleprototypingofprocessesduringvalidationphase.
ThenextstepinthespiralmodelpresentedbyKellneretal.[6]isdocumentingandpackagingtheprocessmaterialtoanappropriateformdependingonthesubsequentuseoftheprocess.IntheEPGenvironmentthiswouldmeantheinstantiationandcustomisingofanEPGinstancetosatisfyneedsofitsplanneduse.
5.3Installprocess
Atthisphasetheprocessdevelopedinthepreviousstepsisintroducedtotheorganisationbyestablishingthesupportinginfrastructureandperformingdetailedprojectplanningfortheprojectswheretheprocessistobeinstalled[6].Staffandotherresourcesforsupport-ingtheprocessperformanceinprojectshavetobeassignedregardlessofthetoolsandprocessmodelsused.TheadvantageoftheEPGenvironmentmaypresentinthisphaseisinthetrainingofthestaffforthenewprocess.Instancesoftheprocesseswithcommonlookandfeelcanbecreatedfortrainingpurposes,thusprovidingavehicleforprocesstrainingthattheperformerstobetrainedarefamiliarwith.Theprocessdescriptionsinthecompanyhadpreviouslybeentrainedwithdifferingnotationsandtools,andtherewasnotasinglestandardwayforpresentingtheprocessestoperformers.Naturally,thenotationsusedintheEPGhavetobetrainedinthecompanytopeopleunfamiliarwithUML,butsincealltheprocessesarepresentedwiththesamenotationsthetrainingcouldbeorganisedwithreasonablysmalleffort.
Projectspecificplanningforprocessusemayinvolvetailoringtheprocesstothespecificprojectneeds,whichcanbedonebyprocessinstancecustomising.EPGinstancescanbecreatedforprojectsandcustomisedaccordingtheneedsoftheproject.
61
5.4Performanceandmonitoring
SincetheEPGenvironmentwastoprovidesupportforbothSPIandprocessperform-ers,thissubchapterisdividedintotwopartsrespectively.First,thesupportforprocessperformersisdiscussedandafterwardsthesupportforSPIbymonitoringtheuseoftheprocessisinvestigated.
5.4.1Processperformance
ThemainmotivationforEPGshasbeenthesupportforprocessperformersandtheiruseforthispurposehasbeendiscussed[6,9,10].InthissubchaptertheEPGsupportforprocessperformersisdiscussedinthecontextofthedescribedEPGenvironmentandthetargetcompany.Asmentionedearlier,thecompanyhadexistingprocessdocumentationalbeitinvariousformatsandlocationsinthecompanyintranet.Existingemployeeswereconsideredtohaveagoodunderstandingaboutthepartsofthesoftwareprocessdirectlyaffectingthem,andtheprocessdocumentationwasrarelyusedasareference.Thedocu-mentationwasmainlyusedwhentheprocessesneededtobecommunicatedandchangeswereneeded.However,theneedforincreasingtheunderstandingoftheinterconnectionsoftheindividualprocessesandthesoftwareprocessasawholewasacknowledged.Es-peciallynewemployeesneededprocessdocumentationthatcouldbeeasilyaccessedandunderstood.Also,tailoredprojectspecificprocessdocumentationwasuncommonandconsequentlyprocesseventinformation,asmentionedin[9],wasnotcaptured.TheEPGenvironmentprovidesaneasilynavigable,centralisedlocationforprocessdoc-umentationthatisaccessibleforperformersoftheprocessthroughaweb-browser.Theprocessesaredescribedwithacommonnotation,eventhoughdocumentationinotherformatsandnotationscanalsobeattached.Duetothetree-likestructureofthedescrip-tion,theprocessescanbeviewedatanindividualoratahigherlevelprovidingaviewtothesurroundingorconnectedprocessesofanygivenprocess.Thisenablestheprocessperformerstohaveabroaderlookofthesoftwareprocess.TheEPGscanbeusedincom-municatingandvisualisingchangestotheprocesseswithacommonnotation.Additionalinformation,suchaslinkstotemplatesandotherinternalorexternaldocumentation,can
62
beincludedintheguidesespeciallytohelpnewemployeesinfamiliarisingthemselveswiththecompany’ssoftwareprocess.Thecreationofprocessinstancesenablesthepro-cessperformerstotracktheirworkandstoreprocessinformationbyinsertingdata.
5.4.2Monitorprocessuse
ThisphaseispartoftheSPIEfocusedonmonitoringtheactualuseoftheprocess[6],describedalsointheprevioussubchapter.Basicissuestomonitorinprocessperformanceincludeprocessunderstanding,adherencetotheprocessdefinition,problemsduringexe-cution,measurementrecording,andrecordingprocessvariations.Additionally,improve-mentsuggestionsandfeedbackshouldbecollected,andassistanceforprocessperformersandmanagersshouldbeofferedthroughoutthisstageoftheprocess[6].
Generalprocessunderstandinginthecompanyhadbeenmeasuredbyinternalassess-mentsconcentratingonsoftwareprocess.ThemethodusedwasFinnishKYKYmodel,whichisaself-assessmentmethodbasedontheISO9001,CMM,andSPICEdevelopedforfastevaluationofprocesses.Theresultsoftheassessmentsindicatedthatthecom-panyratedamongthetopcompaniesinFinlandinunderstandingtheprocess-orientedwayofwork.Monitoringadherencetothedefinedprocessesandrecordingprocessvaria-tionsinsingleprojectshadnotbeensystematicallypractised.Monitoringtherecordingofmeasurementswaspossiblethroughaweb-browserwhenspecificmeasurements,suchasdefectcounts,werecollectedtotheintranetbytheprocessperformers.Acquiringfeed-backabouttheprocessfromtheperformersandprocessmanagerswasaccomplishedwithtraditionalwaysofcommunication,withoutanyspecificmethodsandtools.
TheEPGsprovideafeedbackchannelfortheprocessperformerswherethefeedbackcanbetargetedtoaspecificentityontheprocessandstoredtoadatabaseforfurtherprocessing.Forexample,problemsandimprovementsuggestionscanbeinserteddirectlyintotherelatedartifactoractivityinaprocessinstancethatisaffectedbythefeedback.Also,sincethemeasurementsareintegratedintheEPGinstancesthemselves,theycanbemonitoredrealtimebyextractinginformationfromtheinstancedatabase.Notonlytheinsertionofmeasurementscanbetrackedbutalsothestateoftheprocessitselfcanbemonitoredwithinthepossibilitiesofferedbythespecifiedmeasurements.Inspecting
63
keyactivityperformancetimes,forexample,mayprovideusefulinformationaboutthewholeprocess.ProcessengineerscanofferassistanceforprocessperformersbyinsertingadditionaldocumentationtoanyentityintheEPGinstanceviatheadministratorguide.
64
6DISCUSSIONANDCONCLUSIONS
ThepurposeofthisworkwastodevelopanenvironmentforcreatingEPGsaboutthesoftwareprocesstosupportsoftwareprocessimprovementandenactment.Themotiva-tionfortheworkwasbasedontheassumptionthataproperlydesignedandimplementedEPGcanbeavaluabletoolinallphasesofSPIactivitiesaswellasprocessenactment.TheusabilityoftheEPGscreatedintheenvironmentforsupportingSPIwasinvesti-gatedbymodellingthesoftwareprocessofatelecommunicationssoftwarecompanyandstudyinghowthecurrentSPIeffortsandprocessperformanceinthecompanycouldbesupportedbytheEPGs.
ThemaingoalofthisworkwastodesignanddeveloptheEPGenvironmentitself.TheEPGshavenotyetbeenexperimentedwithinlarge-scalepracticalSPIorprojectactivi-ties,althoughthepossibilitiesforpracticalimplementationshavebeendiscussedwiththeprocesspersonnelinthetargetcompany.TheresultsofthesediscussionsabouttheuseoftheenvironmentandtheEPGsinsupportingSPIandprocessperformanceinthecompanywerepresentedinChapter5.Althoughthemajorityofthediscussionsabouttheenviron-mentandtheuseoftheEPGswerepromising,andthearchitecturewasfoundtoprovidesupportformanyaspectsofsoftwareprocessengineeringinthecompany,therealvalueoftheworkcanonlybeevaluatedthroughpracticalexperience.Themostusefulfeatureofferedbytheenvironmentfromtheprocessperformersviewpointwasconsideredtobetheuseoftheenvironmentasaneasilyaccessible,centralisedsourceforprocess-relatedinformation.ThemostpromisingopportunitiesofferedfortheSPIeffortsinthecompanywasthesupportforprocesstracking,measurement,andfeedback.Possibleproblemsfac-ingthepracticaluseoftheenvironmentwerethoughttobethenecessarytrainingandmotivationoftheprocessperformersandpersonnel.Eventhoughthisworkwasfocusedonthetheactualprocessmodelandtools,theyareonlysmallpartoftakingadvantageofprocesstechnology.Neglectingtheculturalandorganisationalissues,discussedforexamplein[3],willresultinineffectiveprocessuse.
Kellneretal.[9]discussEPGsforofferingguidancetoprocessparticipantsandpresentaninitialprototype.TheyproposeanumberchallengesforfutureEPGdevelopment,includingdynamiccreationoftheEPGsfromaprocessmodeldatabase,easierlayout
65
managing,searchableEPGs,andconfigurationmanagement.Intheenvironmentpre-sentedinthisworkmanyofthoseissueswereaddressed:theEPGswerecreatedfromamodeldatabase,thelayoutoftheguidescouldbemanagedwithoneHTMLtemplate,andqueriestotheunderlyingprocessdatabasecouldbeinsertedintheguides.AlthoughseveralversionsofprocessmodelsandEPGscouldexistintheenvironment,configura-tionmanagementisacomplexresearchareainitselfandcanpossiblybehandledbestbyspecialised,externaltools.InstantiationandcustomisationoftheEPGshavealsobeenpresentedaspossibleareasforfutureimprovement.Tailoredpersonalorgroupcopieswithvariouspossibilitiesforinteractivity,suchasinsertingpersonalannotationsandcol-lectingdatafromprocessparticipants,areexamplesoftheopportunitiesdiscussedforfutureEPGs[10,9].Inthiswork,theseaspectsofEPGsareapproachedbyofferingapossibilitytocreateandcustomiseprocessinstances,andtoinserttheelementsneededforinteractiondirectlyinthem.
ThecombinedprocessmodellingtoolandEPGgenerator,presentedbyBecker-Kornstaedtetal.[11,28],isanapproachcombiningthedevelopmentofprocessmodelsandEPGcreationwitharecentlyaddedsupportforprocessparticipantannotations[27].Themaingoaloftheapproachistoprovidesupportfortheprocessperformers[28],andtheuseofthearchitectureinSPIcontexthasnotbeenextensivelydiscussed.InthisworkadifferingapproachtoEPGdevelopmentandusagewastakenduetotheSPIfocus.Forexample,methodsforproject-specificEPGcreationandtheintroductionofmetricsintheinstanceswerediscussedandimplemented.However,thebasicrequirementsforEPGsofferingsupportforprocessperformersandSPIareessentiallythesame,namelyincreasingpro-cessunderstandingandimprovingcommunicationabouttheprocesswithinandbetweendifferentusergroups,althoughthedetailsofthecommunicationmaybedifferent.ThefeedbackfromtheinitialstudyinthesuitabilityofanEPGforsupportingSPIactivi-tiesinthetargetcompanywaspromising,andworkshouldcontinuewithexperimentingwiththeuseoftheEPGsinpractise.Theusabilityandpossibleadvantagesoftheenvi-ronmentandtheEPGscannotbedeterminedwithoutvalidatingthemwithactualusers.Infuture,experimentswiththeEPGsinpractiseareneededtofullyassesstheusabilityoftheenvironment.IftheenvironmentandtheEPGsprovetobeahelpfultoolinsoft-waredevelopmentcontext,themodelmaybeextendedtocoveralsootherprocessesinanorganisation,andthusevolvetowardsanorganisation-wideprocessguide.
66
7SUMMARY
Thequalityofsoftwarehasreceivedconsiderableattentioninthelastcoupleofdecadesbothinacademiaandindustry.Theattentionislargelybasedontheassumptionthatthequalityofthesoftwareishighlydependentonthequalityoftheprocessusedtoproduceit.Asaconsequence,thesoftwareprocessanditsimprovementhasbeenafocusofmostoftheattemptsinimprovingsoftwarequality.Unfortunately,softwareprocessesarecomplexentitiesandtheirunderstandingandperformanceisnotatrivialtask.
Inordertofullyunderstandaprocess,adescriptionoftheprocesshastoexist.Whereasasingleindividualmayunderstandandperformaprocessflawlesslywithoutexplicitpro-cessdescriptionotherthananimageinhismind,processesaffectingmorethanoneper-sonencounterproblems.Imagesinthemindsoftwopeopleaboutaprocesswillrarelybeexactlysame,andwhilebothofthemthinktheyareperformingthesameprocess,theyprobablyarenot.Toformacommonunderstandingandagreementofaprocess,thepro-cesshastobecommunicated.Processengineersdevelopingprocesses,processmanagersintroducingthemintotheirprojects,andprocessperformerscarryingoutthesoftwareprocessallneedadescriptionoftheprocesstoperformtheirpartandcommunicatetheprocesstootherpeople.
Softwareprocessimprovementisnoexception.Somethingthatisnotunambiguouslyunderstoodandcannotbecommunicatedisimpossibletoimprove.Thesuccessfulintro-ductionofthevarioussoftwareimprovementandassessmentparadigms,suchasSPICEorCMM,requiresexplicitlydefinedanddescribedprocessesfromasoftwaredevelopingorganisation.Processimprovement,ifanything,involvesintensecommunicationbetweendifferentpartiesandthoroughunderstandingoftheprocessitself.
Mostoftheattemptsondescribingthesoftwareprocesshavebeenfocusedonhighlysophisticatedanddetailedprocessdefinitionsthataredescribedwithtextual“processprogramminglanguages”orcomplexgraphicalmodels.Whiletheserepresentationsarejustifiedbytheneedtobepreciseandtheyarerequiredforcomplexsimulationsandau-tomation,oftentherealneedforprocessdescriptionsisprocessunderstandingandcom-munication.Notonlyarethesetraditionalprocessmodelsoftendifficulttounderstand
67
andupdatebytheprocessperformers,managers,andengineers,buttheirdevelopmentandmaintenancecanbetime-consumingandexpensive.Forthepurposesofcommuni-catingandunderstandingaprocess,themethodandmediumusedtorepresenttheprocessinformationalsoplaysanimportantrole.Traditional,paper-basedprocessdocumentationplacesnumerouslimitationsforeffectiveprocessmaintenanceandcommunication.Inthisworkanenvironmentforcreatingprocessdefinitionsandrepresentationsforthepurposesofsupportingprocessimprovementandperformancewasdescribed.Themainrequirementsfortherepresentationscreatedintheenvironmentwereunderstandabilityandtheireaseofuse,withoutsacrificingthenecessaryaccuracyandprecisenessofthedescription.IntheenvironmenttheprocessesaremodeledbasedonasolidconceptualschemawithatoolusinggraphicalUMLnotations.Theindividualprocessesaremod-eledinseparatediagramswithvariouslevelsofabstractiontoformtree-likestructuresofthestaticanddynamicaspectsofthesoftwareprocess.Usefulprocessinformationisextractedfromthediagramsandinsertedtoadatabaseusingautomatedscripts.Theprocessmodel,consistingofthediagramsandthedatabase,canbemodifiedandupdatedthroughaweb-interface.Instances,orelectronicprocessguides,oftheprocessmodelcanbecreated,customised,andpublishedusingaweb-browser.Theprocessinstancestakeadvantageofcurrentweb-technologiesbyprovidinganeffectiveandusableinterfaceforthenavigationandmodificationofinstance-relatedinformation.Also,processinstancecreationforspecificprojectsenablestheinsertionofproject-specificmeasurementsandprovidesacommunicationchannelforsupportingsoftwareprocessimprovementactivi-ties.
Theenvironmentwasusedtomodelthesoftwareprocessofatelecommunicationssoft-warecompany.Thesupportofferedbytheprocessmodelinstancesforthesoftwarepro-cessperformersandimprovementwasinvestigatedinthecompanybyexploringthepos-sibilitiesfortheiruse.IntheinitialinvestigationstheenvironmentandtheEPGinstanceswerefoundtoofferwidesupportforprocessimprovementandperformanceinthecom-pany.However,furtherexperimentswiththeenvironmentandtheinstancesareneededtoassesstheirtrueusability–aproperassessmentcannotbedonewithoutresultsandfeedbackfromrealusersinconcreteprojects.
68
REFERENCES
[1]FuggettaA.Softwareprocess:aroadmap.InFinkelsteinA,editor.Thefutureof
softwareengineering.ACMPress,2000.
[2]GibsonR.Softwareprocessmodeling:theory,resultsandcommentary.Proceedings
ofthe31stHawaiiInternationalConferenceonSystemSciences;1998Jan6-9;KohalaCoastHI,USA;IEEEComputerSocietyPress,1998.
[3]ZahranS.Softwareprocessimprovement.Harlow,England:Addison-Wesley,1998.[4]BandinelliS,FuggettaA,LavazzaL,LoiM,PiccoGP.Modelingandimproving
anindustrialsoftwareprocess.IEEETransactionsonSoftwareEngineering1995;
21(5):440-454.
[5]OsterweilLJ.Softwareprocessesaresoftwaretoo,revisited:aninvitedtalkonthe
mostinfluentialpaperofICSE9.ProceedingsoftheInternationalConferenceonSoftwareEngineering;1997May17-23;BostonMA,USA:ACMPress,1997.[6]KellnerMI,BriandL,OverJW.Amethodfordesigning,defining,andevolving
softwareprocess.Proceedingsofthe4thInternationalConferenceontheSoftwareProcess;1996Dec2-6;Brighton,UK:IEEEComputerSocietyPress,1996.[7]BeckerU,HamannD,VerlageM.Descriptivemodelingofsoftwareprocesses.
Proceedingsofthe3rdConferenceonSoftwareProcessImprovement;1997Dec;Barcelona,Spain.1997.[8]HeinemannGT,BotsfordJE,CaldieraG,KaiserGE,KellnerMI,MadhavjiNH.
Emergingtechnologysupportingtheprocesscycle:theprocessreusestudyatIBM
CAS.IBMSystemsjournal1994;33(3):501-529.
[9]KellnerMI,Becker-KornstaedtU,RiddleWE,TomalJ,VerlageM.Processguides:
effectiveguidanceforprocessparticipants.Proceedingsofthe5thInternationalCon-ferenceontheSoftwareProcess;1998Jun14-17;NewJersey,USA:TheInterna-tionalSoftwareProcessAssociationPress,1998.
[10]Becker-KornstaedtU,VerlageM.TheV-Modellguide:experiencewithaweb-based
approachforprocesssupport.Proceedingsofthe9thInternationalWorkshopon
69
SoftwareTechnologyandEngineeringPractice;1999Aug30-Sep2;PittsburghPA,USA:IEEEComputerSocietyPress,1999.[11]Becker-Kornstaedt
U,ScottL,ZettelJ.Processengineeringwith
Spearmint/EPG.Proceedingsofthe22ndInternationalConferenceonSoftwareEngineering;2000Jun4-11;Limerick,Ireland:IEEEComputerSocietyPress,2000.
[12]Cambridgedictionariesonline[online]2001[cited2001Nov5].Availablefrom:
http://dictionary.cambridge.org/.[13]FeilerPH,HumphreyWS.Softwareprocessdevelopmentandenactment:concepts
anddefinitions.Proceedingsofthe2ndInternationalConferenceontheSoftwareProcess;1993:IEEEComputerSocietyPress,1993.[14]PressmanRS.Softwareengineering:apractitioner’sapproach.4thed.Cambridge,
England:McGraw-Hill,1997.[15]DandekarA,PerryDE,VottaLG.Astudyinprocesssimplification.Proceedingsof
the4thInternationalConferenceontheSoftwareProcess;1996Dec2-6;Brighton,UK:IEEEComputerSocietyPress,1996.[16]RossiS,MarttiinP.Adoptionofintegratedprocessandproductsupportforsoftware
engineeringinSPJyväskylä.ProceedingsoftheInternationalConferenceonSoft-wareMethodsandTools;2000Nov6-10;Wollongong,Australia:IEEEComputerSocietyPress,2000.
[17]Madhavji,NH.Theprocesscycle.Softwareengineeringjournal1991;6(5):234-242.[18]McFeeley,B.1996.IDEAL:auser’sguideforsoftwareprocessimprovement.
Technicalreport.PittsburghPA,USA:SoftwareEngineeringInstitute,Carnegie
MellonUniversity;1996Feb.ReportNo.:CMU/SEI-96-HB-001.
[19]VarkoiTK,MäkinenTK.CasestudyofCMMandSPICEcomparisoninsoftware
processassessment.ProceedingsoftheInternationalConferenceonEngineeringandTechnologyManagement;1999May3-5;SanJuan,PuertoRico:IEEE,1998.
70
[20]InternationalOrganizationforStandardization(ISO),InternationalElectrotechni-calCommission(IEC).ISO/IECTR15504-2:1998(E).Technicalreport.ISO/IEC;1998.
[21]ArmitageJW,KellnerMI.Aconceptualschemaforprocessdefinitionsandmodels.
Proceedingsofthe3rdInternationalConferenceontheSoftwareProcess;1994:
IEEEComputerSocietyPress,1994.
[22]WebbyR,BeckerU.Towardsalogicalschemaintegratingsoftwareprocessmodel-ingandsoftwaremeasurement.ICSE97WorkshoponProcessModellingandEm-piricalStudiesofSoftwareEvolution;1997May17-23;BostonMA,USA;IEEEComputerSocietyPress,1997.
[23]FranchX,RibóJM.PROMENADE:Amodularapproachtosoftwareprocessmod-ellingandenaction.Researchreport.Barcelona,Spain:SoftwareDepartment,Tech-nicalUniversityofCatalonia;1999.ReportNo.:LSI-99-13-R.
[24]FranchX,RibóJM.Somereflexionsinthemodellingofsoftwareprocesses.Pro-ceedingsoftheInternationalProcessTechnologyWorkshop;1999Sep;Grenoble,France.1999.[25]SuttonSMJr.,OsterweilLJ.Thedesignofanext-generationprocesslanguage.Pro-ceedingsoftheJoint6thEuropeanSoftwareEngineeringConferenceandthe5th
ACMSIGSOFTSymposiumonthefoundationofSoftwareEngineering;1997Sep22-25;Zürich,Switzerland:Springer,1997.
[26]Worldwidewebconsortium[online]2001[cited2001Nov5].Availablefrom:
http://www.w3.org/.[27]Becker-KornstaedtU,ReinertR.Usingannotationsinanelectronicprocesshand-booktosystematicallyincorporateexperienceintoprocesses.Technicalreport.
Kaiserslautern,Germany:FraunhoferInstituteforExperimentalSoftwareEngineer-ing;2001Jun.Reportno.:041.01/E
[28]Becker-KornstaedtU,HamannD,KempkensR,RöschP,VerlageM,WebbyR,
ZettelJ.TheSpearmintapproachtoprocessdefinitionandprocessguidance.Tech-nicalreport.Kaiserslautern,Germany:FraunhoferInstituteforExperimentalSoft-wareEngineering;1998Jun.Reportno.:035.98/E.
71
[29]ZamliKZ,LeePA.Taxonomyofprocessmodelinglanguages.Proceedingsofthe
ACS/IEEEInternationalConferenceonComputerSystemsandApplications;2001Jun25-29;Beirut,Lebanon.2001.
[30]BröckersA,LottCM,RombachHD,VerlageM.MVP-Llanguagereport(version
2).TechnicalReport265/95.Kaiserslautern,Germany:DepartmentofComputerSciences,UniversityofKaiserslautern;1995.[31]NationalInstituteofStandardsandTechnology(US).Integrationdefinitionforfunc-tionmodeling(IDEF0).FederalInformationProcessingStandardsPublication183;
1993.
[32]ObjectManagementGroup.OMGUnifiedmodelinglanguagespecification(Version
1.3).ObjectManagementGroup;2000.[33]FranchX,RibóJM.UsingUMLformodellingthestaticpartofasoftwareprocess.
ProceedingsoftheSecondUnifiedLanguageConference(UML’99);1999Oct;Fort
CollinsCOL,USA:LNCS1723,1999.
[34]SchaderM,KorthausA.ModelingbusinessprocessesaspartoftheBOOSTERap-proachtobusinessobject-orientedsystemdevelopmentbasedonUML.Proceedings
ofthe2ndInternationalEnterpriseDistributedObjectComputingWorkshop;1998Nov2-5;SanDiegoCA,USA;1998.
[35]ObjectManagementGroup.Softwareprocessengineeringmanagement:theunified
processmodel(UPM).Initialsubmission.OMGdocumentnumberad/2000-05-05;2000.[36]PonsC,GiandiniR,BaumG.DependencyrelationsbetweenmodelsintheUnified
Process.Proceedingsofthe10thInternationalWorkshoponSoftwareSpecification
andDesign;2000Nov5-7;SanDiegoCA,USA;IEEEComputerSocietyPress,2000.
[37]Toolkitforconceptualmodeling[online]2001[cited2001Nov5].Availablefrom:
http://wwwhome.cs.utwente.nl/~tcm.
72
Appendix1.Examplescreensofthedynamicandstaticpart
DynamicviewoftheactivitySystemDesign
DynamicviewoftheactivityDesignSystemModule
StaticviewoftheDesignSpecificationinImplementationArtifact
Appendix2.Examplescreensofthetextualpart
TextualviewoftheroleSoftwareEngineer
TextualviewoftheactivitiesoftheroleSoftwareEngineer
TextualviewoftheactivityWriteSpecification
TextualviewoftheperformancesoftheactivityWriteSpecification
TextualviewoftheflowoftheartifactDesignSpecification
TextualviewoftheartifactDesignSpecification
Appendix3.Examplescreensoftheadministratorguide
Createnewprocessinstancescreen
AdministratortextualviewoftheactivityWriteSpecification
因篇幅问题不能全部显示,请点此查看更多更全内容