您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 第2章 软件项目管理基础
第二章软件项目管理基础主要内容(一)项目管理概述软件项目管理的概念、目的和特点项目管理包括4种基本活动项目的几个阶段项目管理基本概念任务和活动工作产品和工作包工作分解结构任务模型技能矩阵组织组织结构图软件项目管理计划主要内容(二)项目管理活动计划项目组织项目控制项目终结项目主要内容(三)2.1项目管理概述软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。软件项目管理的根本目的是为了让软件项目,尤其是大型项目的整个软件生命周期都能在管理者的控制之下,以预定成本按期、按质的完成软件,然后交付用户使用。软件项目管理的特殊性软件是纯知识产品,其开发进度和质量很难估计和度量,生产效率也难以预测和保证。软件系统的复杂性也导致了开发过程中各种风险的难以预见和控制。项目管理包括4种基本活动计划:计划涉及详细规定出要取得的结果(要什么?);产生这些结果所需要的活动和任务(做什么?怎么做?);决定时间表和估计所需的资源(何时做?用什么做?)。组织:组织规定了项目的组织和角色、责任的定义。控制:控制确定正在进行的活动何时偏离了计划。终止:终止是结束项目。项目可以分成几个阶段1、项目概念阶段:关于项目的想法开始出现,通常伴随着成本效益分析和技术可行性研究。2、项目定义阶段:包括以下活动问题定义:客户和项目经理定义系统的规模、目标日期。初始的软件项目管理计划(SPMP):项目经理提供对项目总的看法、项目结果的描述、工作分解结构、角色和责任、项目时间表、所需资源的预算和怎样定义和处理风险的描述。初始的软件体系结构3、项目开始阶段:项目经理设置了项目的基础设施,雇用参与者,把他们组成团队,并总结项目。项目开始包括以下活动基础设施设立:项目经理必需为项目的基础设施制定需求。这些需求描述了项目参与者之间的交流渠道。技能定义:项目经理定义开发者的技能和兴趣,并在技能矩阵中记录它。团队集合:项目经理分配团队参与者,定义团队功能且选择团队领导。项目经理也为团队成员定义所需的额外培训和课程。最后,项目经理为团队分配工作包。项目总结:项目经理,团队领导和客户正式开始启动项目。4、项目稳定状态阶段:团队领导要负责跟踪团队状态和在团队会议上提出问题。包括以下活动项目规模定义控制风险管理项目重计划5、项目终止:提交项目结果并收集项目历史。主要活动有交付客户验收测试安装事后分析2.2项目管理基本概念在项目计划中一个主要的任务是把整个工作包分解成更小的任务。这包括2件事:定义合适的任务定义任务间的依赖关系2.2.1任务和活动任务是一项已经定义得很好的工作,该工作可分配给一个项目参与者或分配给一个团队。任务是管理有关项目工作的最小的单元。任务包括对任务和持续时间的描述,还包括分配给所扮演角色的参与者。2.2.2工作产品和工作包工作包描述了要生产的工作产品,要完成工作所需要的资源,所希望的持续时间,输入之间的相互依赖,也详细说明了验收规则和相关的个体或组织的单元的名字。工作包是重要的管理产物,我们把它们分配给参与者去做。在任务定义之后可以定义工作包。任何交付给用户的工作产品叫交付品,例如用户手册。2.2.3工作分解结构在一个项目中,全体任务的层次描述叫工作分解结构(WBSWorkBreakdownStructure)。工作分解结构是一个要做工作的非常简单的模型。菱形符号表示整体与部分的关系,菱形符号一侧表示整体;三角形符号表示一般与特殊的关系,三角形符号一侧表示一般实体注意:工作分解结构不表示活动的顺序。2.2.4任务模型任务通过暂时的依赖关系联系起来。例如建屋顶的任务不能在建墙任务结束前开始。任务及其依赖关系的集合叫任务模型或者网络图。两条粗线段之间的各分支任务可以并行操作完成任务有一个持续时间,由项目经理在项目开始前估算。一旦知道了任务间依赖关系和任务的持续时间,项目经理能计算出项目能被完成的最短可能时间。该时间在任务模型中表现为最长路径,即关键路径。关键路径经过项目的第一项任务到最后一项任务,其长度由任务的持续时间相加计算出来。在关键路径上的任务延迟会导致整个项目的延迟,从而使项目延期。任务的最迟完成时间是在不耽误项目的其他要完成的任务时,任务能被推迟的最大时间。2.2.5技能矩阵技能矩阵是在项目中关于要完成任务的人的技能、知识和兴趣的一张简单表。技能矩阵的一行(或列)表示来自工作分解结构的工作单元——任务、活动和项目功能。一列(或行)表示项目参与者。我们把3种项目区分开:主要技能、次要技能和兴趣。主要技能使一个人能胜任领导一个工作单元。次要技能使一个人能参与任务。兴趣表示在任务中一个人感兴趣但不具备该技能。2.2.6组织组织由组织单元及其交互(联系、沟通)组成。最小组织单元是一个参与者(也叫个人或成员)。一组参与者能组成部门、处或小组。2.2.7组织结构图组织的表现及其信息结构通常叫组织图。软件度量——面向规模的度量规模:代码行数(LOC、KLOC)生产率:PL=L/E(E:工作量人月)每行代码平均成本:CL=S/L(S:软件总成本,人民币或美元)文档与代码比:DL=Pd/L(Pd:软件文档页数)代码出错率:EQRL=Ne/L(Ne:代码错误数)缺点:依赖程序设计语言不利于精巧的设计开发前、初期难以估算只适于过程式程序设计语言软件项目估算——Putnam模型1978年,Putnam提出大型软件项目工作量估算模型。软件交付时工作量最大,参与人员最多工作量与交货时间的4次方成反比,提前10%的时间要增加52%的工作量。工作量随时间的增加不呈线性增长趋势,参加开发的人数不应该一成不变。2.2.8软件项目管理计划软件项目管理计划(SPMP)中的文件在项目总结大会之前创建,并且当任务完成和步骤更新的时候被更新,这种更新将贯穿整个项目。SPMP的使用者包括管理者和开发者。SPMP有五部分。1.介绍1.1项目概况1.2项目交付品1.3文档的演化1.4参考书1.5定义和缩写表2.项目组织2.1过程模型2.2组织结构2.3组织边界和接口2.4项目责任3.管理过程3.1管理目标和优先级3.2假设,依赖和限制3.3风险管理3.4监督和控制机制4.技术过程4.1方法,工具和技术4.2软件文档4.3项目支持功能5.工作元素,日程表和预算软件项目管理计划(SPMP)2.3项目管理活动在项目定义期间,项目经理的主要活动是定义组织结构和定义工作产品、任务、时间表和角色。团队领导在项目定义阶段的最后时刻参加项目,他们的主要工作是在稳定状态下监督和管理团队。2.3.1计划项目定义问题、确定初始任务模型和组织结构、评估所需的资源,如人员和资金。这一阶段要完成以下的工作:1.问题陈述:记述了当前情况、要支持的功能和系统要使用的环境,也要定义客户希望的产品、交付日期和一套验收标准,可能也指定了开发环境中的限制,例如要用的编程语言。2.顶层设计:顶层设计描述了系统的软件体系结构,应由软件结构师完成。软件结构师定义主要的子系统及其服务,但还不定义子系统的界面。3.软件项目管理计划(SPMP):描述了项目的所有管理方面,特别是工作分解结构、日程表、组织、工作包和预算。2.3.2组织项目雇用参与者、确定技能、为参与者分配角色和责任并组织指导与项目总结有关的会议。1.设立交流设施2.定义技能3.分配管理角色4.分配技术角色5.处理技能缺乏6.选择团队规模三个成员。四个成员。五个或六个成员。这是规模理想的软件开发团队。七个成员。八个和更多成员。7.聚集团队(为每个团队组织参与人员)8.总结会议9.对项目范围达成一致在项目总结完成和对项目范围取得一致后,项目进入稳定状态。2.3.3控制项目项目监督、风险管理和项目协议。为了在项目稳定阶段做出有效的决定,项目经理需要准确的状态信息。不幸的是,搜集准确的状态信息非常困难。可以用如下一些工具来搜集状态信息。1.会议2.度量标准:3.风险管理:风险管理关注项目定义中可能存在的问题,并希望在严重影响交付日期或预算之前说明这些内容。风险管理的关键点是能准确及时地报告风险和问题。风险管理的第一步是定义风险。风险可以是管理方面的,也可以是技术方面的。标明风险的优先级能使项目经理专注于关键风险的管理。风险按它们能变成问题的可能性,以及当风险变成问题时,对项目发生的潜在影响,能被分成4类:很可能的,存在高潜在影响不太可能的,存在高潜在影响很可能的,存在低潜在影响不太可能的,存在低潜在影响。2.2.4终结项目在项目终结阶段项目经理为客户准备了验收测试、管理系统集成、测试和在客户方的安装。最后项目经理检查项目总结。1.验收系统。2.安装。3.回顾。2.7软件过程及软件成熟度模型CMM背景开发组织:通过CMM度量找到自己的优势和差距客户:寻求适宜的开发商发展1986年11月,美国卡内基.梅隆大学,启动1991年8月,公开发布CMMv1.01993年2月,CMM1.1近几年来,CMM又推出了2.0版本,同时进入了ISO体系,称为ISO/IEC15504或SPICE.2.7CMM基本概念关键过程域:描述软件过程的属性,通过完成一组相互关联的活动,实现一组对建立过程能力至关重要的目标。2.7CMM的能力成熟度级别5级,18个KPAL1初始级:软件开发过程几乎无管理、不稳定L2可重复级:建立了基本的项目管理体系、制定了基本的软件过程管理和控制措施,软件开发组织能够重复以前开发类似软件项目取得的成功。L3已定义级:将管理和工程两方面的软件过程标准化、文档化和制度化。L4已管理级:度量。定量的过程、质量管理。L5优化级:利用反馈定量控制软件过程和质量,改进和提高软件过程能力。
本文标题:第2章 软件项目管理基础
链接地址:https://www.777doc.com/doc-781550 .html