SoftwareProjectManagement2009项目定义刘强清华大学软件学院2案例:Bradley战车项目布拉德利(Bradley)战车美国陆军武器装备中的一种战车,1981年开始服役,近年来被多次使用(1991年海湾战争、2001年阿富汗等)该战车在六十年代设计和制造,用于替代老式的M-311型装甲人员运输车昀初的设计规格•运送一个步兵班的能力(12人)•昀快的速度,能保证与其他装甲车并驾齐驱•坚固的外侧装甲,能保证战车内人员和士兵的安全•越水能力(水陆两用)•昀小的火力(以保证轻便行驶)3案例:Bradley战车项目布拉德利(Bradley)战车(续)20年后交付给陆军的战车规格•只能承载6人•外侧装甲非常脆弱,敌人的武器能够轻易穿透•在跨越河流时会下沉•装载有沉重的整套机枪设备、直径25mm的大炮以及反坦克弹道导弹问题:昀后实现的功能已经远远偏离了当初的设计,究竟哪里出了问题?4案例:Bradley战车项目问题原因:范围蔓延陆军内部在昀开始就没有对该战车在现代战场上的作用达成明确的共识•昀初:替换老式的装甲人员输送车•很快:增加了新要求“必须能够承担侦察任务”上述两个要求完全不兼容•装甲人员输送车要求重型装甲、大体积以及防御武器等特性•装甲侦察要求更具进攻性,配备更全的武器由于陆军对基本任务的认识不清导致了它两个方面都不合格,反复修改和重新设计延长了开发周期(更换5届总统),预算也大大超支(总成本超过1400万)。5软件项目的影响因素项目成功用户积极参与15.9%高层管理的有力支持13.9%清晰、明确的需求说明13.0%项目受到挑战缺少用户参与12.8%需求与规格说明不完整12.3%需求与规格说明不断变更11.8%项目被取消需求不完整13.1%缺乏用户参与12.4%缺少资源10.6%“项目不是在结束时失败,而是在开始时失败。”6内容提纲项目范围定义项目范围项目范围说明(SOW)建立项目优先级分解结构工作分解结构(WBS)组织分解结构(OBS)过程分解结构(PBS)责任矩阵(RM)范围核实与变更控制7项目范围项目范围(ProjectScope)是指产生项目产品所包括的所有工作和产生这些产品所用的过程,也包括昀终产品及其质量标准。项目的范围包括两个方面的含义产品范围:产品或服务所包含的特征或功能;项目范围:为交付具有规定特征和功能的产品或服务所必须完成的工作。如何衡量一个软件开发项目的范围是否成功完成?产品范围:按照质量的要求,所需的功能和性能是否实现?项目范围:按照计划的要求,是否在规定的时间和规定的预算内完成了预先确定的任务?8项目范围管理项目范围管理是对项目目标和目的的概念建立、完全定义、执行和终止过程进行控制。项目范围管理过程概念开发范围定义范围报告变更控制9问题说明9信息收集9约束9备选方案分析9项目目标9工作说明9目标标准9管理计划9工作分解结构9范围基准计划9活动责任矩阵9正式接受范围9项目绩效测量①成本状态②进度状态③技术效率状态9偏差或异常报告9配置控制9设计控制9趋势监控9文档控制9物资控制9规范控制9项目范围说明项目范围说明(StatementOfWork,SOW)项目名称与描述•项目要满足的期望或要解决的问题,以及项目的背景、客户的信息等项目论证•促使项目创建的商业需求项目目标•项目成功完成所必须满足的定量标准,至少包括成本、进度和质量性能的度量标准项目产品或服务的描述•概括项目产品或服务的基本特征10项目范围说明项目范围说明(续)可交付成果清单•列出项目完成后可交付的成果制约因素•项目是否受到特别的限制来制约项目经理的各种选择假设前提•为了制定项目计划,对那些暂时无法确定或以后极有可能变化的因素做出某些假设项目范围说明应根据特定项目的要求进行定制或裁剪11软件的常见问题许多项目在没有清晰理解要解决的问题的情况下就启动了,结果导致预算超支和进度拖延。举例:某大型保险公司的一个信息技术项目项目目标:改善支付和档案记录的操作流程信息部门理解:•提供一个复杂的解决方法,它需要多种交互界面、昂贵的客户再培训以及产生大量的报告。企业实际目标:•需要在支付功能和昀后的报告输出功能之间建立合理的连接。只有充分理解问题,才能使项目符合预先制定的目标。12软件的常见问题13软件需求14软件需求管理StakeholderRequestsVisionDocumentSupplementarySpecificationUse-CaseModel15举例:TECCroup项目TECC是一个学生社团组织,成员更新流动性很强,每年需要面向大学生招募新成员。另外,该组织还要开展许多与科技教育相关的社会活动,整个活动的发起与管理也是一个繁杂的工作。目前,该组织完全依赖于手工方式进行会员招募和活动组织,既需要耗费大量的人力,又容易造成工作失误。TECCGroup项目旨在开发一个综合在线申请、人员管理、文档管理、项目管理等在内的软件系统,支持该组织的日常运作和管理,摆脱目前手工管理的混乱局面,提高组织的工作效率。16问题分析社团招新工作混乱且效率比较低宣传和报名分布点有限无法及时获得报名信息和情况查询统计效率低且容易不准确报名表容易丢失现场报名填表效率低因上课等各种原因无法到现场报名发现的业务问题17问题分析宣传和报名分布点有限无法及时获得报名信息和情况查询统计效率低且容易不准确报名表容易丢失现场报名填表效率低因上课等各种原因无法到现场报名开发一个网上招新管理系统提出的可能解决方案18识别项目干系人项目干系人(Stakeholders)是指那些与项目有利害关系的个人或群体,能够给项目的发展带来潜在的正面或负面影响。内部干系人高层管理者财务人员、其他职能部门经理项目团队成员外部干系人客户与用户竞争对手供应商环境、政治及其他干预群体19识别项目干系人用户职责与特征申请人申请人一般是TECC所在地的在校大学生,有意向申请参加TECC组织以及该组织的有关活动,可以熟练使用计算机和网络。招新工作人员TECC社团通常会安排10-15名社团成员组成招新项目团队,其中有1名为负责人,主要负责发布招新信息,审核申请人提交的信息,筛选出参加面试的申请人,同时组织面试工作,昀终确定录取结果。这类人员熟悉招募的流程和细节,应该参与需求获取和系统评价等。社团负责人社团负责人主要负责审核和批准各种活动项目,并随时跟踪项目组工作情况。通常,社团负责人也可以是部分活动的负责人或参与成员。这类人员熟悉社团的日常运作,应该参与需求获取、需求评审和系统评价等。20识别系统特性FeaturesFEAT1:要求用户使用有效的用户名和密码进行登录。FEAT2:管理用户角色及其操作权限。FEAT3:发布新会员的招募信息。FEAT4:填写和提交应聘申请。FEAT5:审核会员申请并筛选参加面试的人员。FEAT6:记录面试结果并确定录取人选。FEAT7:以邮件方式自动发送面试通知和录取通知。FEAT8:查看招募新会员的进展情况。FEAT9:应该同时支持多个招新项目。FEAT10:支持MicrosoftIE5.0和Firefox2以上版本的浏览器。……21VisionDocument1.Introduction2.Positioning3.StakeholderandUserDescriptions4.ProductOverview5.ProductFeatures6.Constraints7.QualityRanges8.PrecedenceandPriority9.OtherProductRequirements10.DocumentationRequirements11.Appendix1-FeatureAttributesStakeholderRequestsVisionDocumentSupplementarySpecificationUse-CaseModel22建立用例模型浏览招新信息注册申请人维护招聘问卷查询招新项目申请人招新工作人员审核应聘申请社团负责人发布招新信息确定录取人选邮件系统维护应聘申请匿名用户23成功的项目管理项目在规定的时间和批准的预算(成本)内,完成事先确定的范围内的工作,达到预期的质量性能要求。项目的约束时间:在什么时间内完成?成本:需要多少预算?范围:项目任务包括哪些内容?质量:客户的需求是什么?项目经理必须能够管理时间、成本、范围和质量之间的平衡24建立项目优先级项目优先矩阵受限(Constrain):原始参数是固定的加强(Enhance):给定范围后,哪些标准昀应优先?接受(Accept):某标准不满足原始参数要求是可以容忍的?举例:见图优先保证投放市场的时间产品性能不能打折扣超出预算虽不希望,但可以容忍25建立项目优先级FEAT10ApprovedLowHighFEAT13ProposedMediumLowFEAT40ApprovedHighHigh$$$$$$CostEffortRiskStatusPriority26建立项目优先级IterationnUseCaseA[scenario1:mainflow][scenario2:mainflow,altflow1][scenario1:mainflow]UseCaseBIterationn+1[scenario2:mainflow,altflow1]UseCaseBIterationn+2[allremainingscenariosandflows][scenario3:mainflow,altflow2][allscenariosandflows]UseCaseAUseCaseBUseCaseC27内容提纲项目范围定义项目范围项目范围说明(SOW)建立项目优先级分解结构工作分解结构(WBS)组织分解结构(OBS)过程分解结构(PBS)责任矩阵(RM)范围核实与变更控制28工作分解结构(WBS)工作分解结构(WorkBreakdownStructure,WBS)工作分解结构是将项目整体分解成较小的、易于管理和控制的若干子项目或工作单元的过程,直到可交付成果定义得足够详细,足以支持项目将来的活动。WBS是项目管理技术中昀有价值的工具之一提供人们解决复杂问题的清晰思路:分而治之WBS的分解方法按照项目的交付成果分解按照产品的结构分解按照项目实施过程分解(PBS):适合软件开发项目按照组织的职责分解29WBS的层次分解30工作包概念工作包是用于制定计划、安排进度和控制项目的基本单元工作包是管理WBS昀关键的一层,描述了由专门的执行组织(如职能部门)完成的工作内容定义工作确定完成一个工作包的时间确定完成一个工作包的分段预算确定完成一个工作包所需要的资源确定负责人确定进度度量的监控点31举例:WBS32组织分解结构(OBS)组织分解结构(OrganizationBreakdownStructure,OBS)组织分解结构是一种特殊的组织结构图,它表示了每个组织单元具体承担哪些工作责任OBS建立在一般的组织结构图基础上,以逐层细分的模式来定义组织的交付成果成本帐目(CostAccount)成本帐目是WBS和OBS的交叉点成本帐目是项目管理的控制点•在可交付成果上纵向跟踪•在组织责任上横向跟踪项目工作可以按照WBS和OBS进行分类排序33WBS与OBS整合34过程分解结构(PBS)过程导向的项目有些项目很难在一开始明确项目的交付结果,其昀终结果是一系列步骤或阶段的产物(例如:软件项目、IT项目)过程项目是由绩效要求驱动的,而不是由计划或蓝图驱动的过程分解结构(ProcessBreakdownStructure,OBS)有时被认为是WBS的一种特殊形式PBS按照项目生命周期的阶段来组织项目,每一个阶段又可分解为更具体的活动,直至达到必