您的当前位置:首页正文

Year

2021-09-14 来源:独旅网
LAPPEENRANTAUNIVERSITYOFTECHNOLOGYDepartmentofInformationTechnology

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

因篇幅问题不能全部显示,请点此查看更多更全内容