软件项目管理介绍•Objectives–Definethescopeofsoftwareprojectmanagement–Understandsomeproblemsandconcernsofsoftwaremanagers–Definetheusualstagesofsoftwareproject–Appreciatetheneedforcarefulplanning,monitoringandcontrol–Identifythestakeholdersofaprojectandtheirobjectives–Definethesuccesscriteriaforaproject为什么说软件项目管理是重要的•比别的项目多花钱的问题。–Alotofmoneyisatstakewith(危险)ICTprojects.•成功率不高(P2)•统计资料说明项目管理重要。–TheNationalAuditOfficeintheUK,forexample,amongotherfactorscausingprojectfailureidentified‘lackofskillsandprovenapproachtoprojectmanagementandriskmanagement’.•ICT(InformationandCommunicationTechnology)Whatisaproject•Aplannedactivity•Projectmostlikelyliebetweenroutinejobsandexploration(p2)•项目的特点:–Non-routinetasksareinvolved–Planningisrequired–Specificobjectivesaretobemetoraspecifiedproductistobecreated–Theprojecthasapredeterminedtimespan–Workiscarriedoutforsomeoneotherthanyourself–Workinvolvesseveralspecialisms–Workiscarriedoutinseveralphases–Theresourcesthatareavailableforuseontheprojectareconstrained–TheprojectislargeorcomplexSoftwareprojectsversusothertypesofproject•Invisibility•Complexity•Conformity•FlexibilityActivitiescoveredbysoftwareprojectmanagement•Thefeasibilitystudy(Isitworthdoing?)•Planning(Howdowedoit?)–Foralargeproject,wewouldnotdoallourdetailedplanningrightatthebeginning.Wewouldformulateanoutlineplanforthewholeprojectandadetailedoneforthefirststage.Moredetailedplanningofthelaterstageswouldbedoneastheyapproached.Thisisbecausewewouldhavemoredetailedandaccurateinformationuponwhichtobaseourplansnearertothestartofthelaterstages.•Projectexecution(Doit)–Theexecutionofaprojectoftencontainsdesignandimplementationsub-phases.Planninganddesigncanbeconfusedbecauseatthemostdetailedlevel,planningdecisionsareinfluencedbydesigndecisions.Forexample,ifasoftwareproductistohavefivemajorcomponents,theitislikelythattherewillbefivesetsofactivitiesthatwillcreatethem.TheISO12207softwaredevelopmentlifecycle•P6Figure1.3–ArchitecturedesignThismapstherequirementstothecomponentsofthesystemthatistobebuilt.Atthesystemlevel,decisionswillneedtobemadeaboutwhichprocessesinthenewsystemwillbecarriedoutbytheuserandwhichcanbecomputerized.Thisdesignofthesystemarchitecturethusformsaninputtothedevelopmentofthesoftwarerequirements.Asecondarchitecturedesignprocessthentakesplacewhichmapsthesoftwarerequirementstosoftwarecomponents.Plans,methodsandmethodologies•Amethodrelatestoatypeofactivityingeneral,aplantakesthatmethodandconvertsittorealactivities,identifyingforeachactivity:–Itsstartandenddates;–Whowillcarryitout;–Whattoolsandmaterialswillbeused.•Softwaretestplan–Analysetherequirements–Deviseandwritetestcasesthatwillcheckthateachrequirementhasbeensatisfied–Createtestscriptsandexpectedresultsforeachtestcase–Comparetheactualresultsandtheexpectedresultsandidentifydiscrepancies(不一致).Whatismanagement?•Managementinvolvesthefollowingactivities:–Planning-decidingwhatistobedone;–Organizing–makingarrangements;–Staffing–selectingtherightpeopleforthejobetc.–Directing–givinginstructions;–Monitoring–checkingonprogress;–Controlling–takingactiontoremedy(补救)hold-ups–Innovating(创新)–comingupwithnewsolutions–Representing–liaising(保持联系)withclients,users,developersandstakeholders.Problemswithsoftwareprojects•Manager’spointofview:–Poorestimatesandplans–Lackofqualitystandardsandmeasures–Lackofguidanceaboutmakingorganizationaldecisions–Lackoftechniquestomakeprogressvisible–Poorroledefinition–whodoeswhat?–Incorrectsuccesscriteria.•Staff’spointofview:–Inadequatespecificationofwork–ManagementignoranceofICT–Lackofknowledgeofapplicationarea–Lackofstandards–Lackofuptodatedocumentation–Precedingactivitiesnotcompletedontime–Lackofcommunicationbetweenusersandtechnicians–Lackofcommunicationleadingtoduplicationofwork–Lackofcommitment(承担义务)–especiallywhenaprojectistiedtoonepersonwhothenmoves–Narrowscopeoftechnicalexpertise–Changingstatutory(法令的)requirements–Deadlinepressure–Lackofqualitycontrol–Remotemanagement–LackoftrainingSettingobjectives•Projectsteeringcommitteeorprojectmanagementboard–Whichhasoverallresponsibilityforsetting,monitoringandmodifyingobjectives.•Sub-objectivesandgoals–Themnemonic(记忆的)SMARTisusedtodescribewell-definedobjectives:•SpecificEffectiveobjectivesareconcrete(具体的)andwelldefined.Vagueaspirations(渴望)suchas‘toimprovecustomerrelations’areunsatisfactory.Objectivesshouldbedefinedinsuchawaythatitisobvioustoallwhethertheprojecthasbeensuccessfulornot.•MeasurableIdeallythereshouldbemeasuresofeffectivenesswhichtellushowsuccessfultheprojecthasbeen.•Achievable•RelevantTheobjectivemustberelevanttothetruepurposeoftheproject.•TimeconstrainedStakeholders•Differenttypesofstakeholdermayhavedifferentobjectivesandoneofthejobsofthesuccessfulprojectleaderistorecognizethesedifferentinterestsandtobeabletoreconcile(使和谐)them.–TheoryW–standsforeveryoneaWinner•Itisimportantthatstakeholdersmustbeidentifiedasearlyaspossible,becauseyouneedtosetupadequatecommunicationchannelswiththemrightfromthestart.Managementcontrol•Management,ingeneral,canbeseenastheprocessofsettingobjectivesforasystemandthenmonito