项目管理概述
基本概念
- 项目:在一定时间、资源、环境等约数条件下,未达到特定的目标所做的一次性任务或努力。
- 项目管理:以项目为对象,通过使用知识、技能、工具和方法来组织、计划、实施并监控项目,使之满足项目目标需求的过程。(计划、组织、协调、指挥、控制)
项目管理的特征
-
软件项目管理的特征(和其他项目管理相比)
- 软件是纯知识产品,进度和质量和生产效率难以估计和保证
- 项目周期长,复杂度高,变数多
- 软件需要满足一群人的期望
-
项目的特征
- 明确的目标
- 项目之间的活动具有相关性
- 限定的周期
- 独特性
- 资源成本的约束性
- 项目的不确定性(需求的变更、风险、人员的变动)
项目管理体系
标准化过程
按照项目管理生命周期,项目管理知识体系PMBOK分为5个标准化过程组,也称为项目管理生命周期的5个阶段
- 启动过程组
- 计划过程组
- 执行过程组
- 控制过程组
- 收尾过程组
9大知识领域
范围管理、时间管理、费用管理、质量管理、沟通管理、风险管理、人力资源管理、采购管理、整体管理
分辨项目和日常运作、了解他们的区别
例子
- 项目:野餐活动、集体婚礼、开发操作系统、神舟飞船计划
- 日常运作:上课(不确定性可以忽略不计)、社区保安和每天的卫生保洁(没有周期)
区别
- 项目是一次性的,日常运作是重复进行的,
- 项目是以目标为导向的,日常运作是通过效率和有效性体现的,
- 项目是通过项目经理及其团队工作完成的,而日常运作是职能式的线性管理;
- 项目存在大量的变更管理,而日常运作则基本保持连贯性的。
软件项目初始过程
项目合同
- 工作任务说明(Statement Of Work,SOW)作为合同附件交给乙方,是甲方描述的实行开发原定所要执行的
- 合同签署过程标志着一个项目的有效开始,对乙方重大意义
- **项目章程(任务书)**是项目正式开始的标志,对项目经理的有效授权过程
范围计划
WBS
任务分解结构(Work Breakdown Structure)
WBS Dictionary
WBS具体具体工作要素的阐述,可明确WBS的组件是什么。
管理的规范化、标准化一直是众多公司追求的目标,WBS字典就是这样一种工具。它用于描述和定义WBS元素中的工作的文档。即WBS元素必须完成的工作以及对工作的详细描述;工作成果的描述和相应规范标准。
它的包含字段
工作包(WBS的最低层次的可交付成果,WBS的最小元素)的描述、进度表的日期、成本预算和员工分配、WBS版本号、名称、主题目标、完成的任务、责任者、完成的标识
需求管理的任务
- 需求评审(确认)
- 需求跟踪
- 需求变更控制
需求管理过程
- 需求获取
- 需求分析
- 需求规格编写
- 需求验证
- 需求变更
软件需求的层次
- 业务需求(项目视图与范围文档):客户的高层次要求
- 用户需求(用例文档、文案脚本说明):用户使用必须要完成的任务
- 功能需求:开发人员必须完成的功能(包括非功能需求:对功能需求的补充,包括各种限制和用户对其质量要求)
进度管理
进度管理图示:
甘特图
又称为横道图、条状图(Bar chart)。它通过条状图来显示项目进度,和其他时间相关的系统进展的内在关系随着时间进展的情况。
缺点:不能明显地表示各项任务彼此间的依赖关系,也不能明显地表示关键路径和关键任务,进度计划中的关键部分不明确。
网络图
- 网络图是活动排序的一个输出
- 展示项目中的各个活动以及活动之间的逻辑关系
- 网络图可以表达任务如何及以什么顺序进行
PDM网络图
- 优先图法、节点法、单代号网络图
- 在软件项目中PDM比ADM更通用
ADM网络图
- 箭线法、双代号网络图
- 两个代号唯一确定一个任务
- 只适合表示结束-开始的逻辑关系
里程碑图
- 里程碑显示项目进展中的重大工作完成
- 里程碑不同于活动
- 活动是需要消耗资源的
- 里程碑仅仅表示事件的标记,是时间要求为0的任务
PPT中根据PDM图计算任务的LS\LF\ES\EF,会计算关键路径长度
计算,略
教材P79-82的PERT估算法的各种计算
计算,略
成本管理
什么是直接成本?
直接可以归属于项目工作的成本
什么是间接成本?
来自一般管理费用科目或几个项目共同担负的项目成本所分摊给项目的费用
- 培训
- 房租水电
- 员工福利
- 市场费用
- 保险税收
- 行政管理费
- 其他等等
项目成本的计算方法
代码行
要求功能分解足够详细,有一定的经验数据,采用不同的开发语言,结果可能不一样
功能点
用系统的功能数量来测量其规模,与实现产品所使用的语言和技术没有关系
计算,略
类比估算法
- 从项目的整体出发,进行类推,是一种自上而下的估算形式
- 通常在项目有类似的历史项目数据,而初期或信息不足(要求不是非常精确)时采用此方法,例如在合同期和市场招标时等。
- 其特点是简单易行,花费少,但是具有一定的局限性,准确性差,可能导致项目出现困难。
参数模型估算法
- 也称为算法模型或者经验导出模型
- 是一种使用项目特性参数建立数学模型来估算成本的方法,是通过大量的项目数据进行数学分析导出的模型
- 准确性取决于参数模型的成熟度和基础数据的可靠性,成本低耗时少
各种方法的比较
- 初期
- 类比
- 专家估算
- 计划阶段
- 自下而上
- 参数模型
- 实施阶段(包括变更发生)
- 自下而上
- 参数模型
会计算压缩成本
(压缩成本-正常成本)/(正常时间-压缩时间)
始终是这个公式,不要用目标时间直接 * 压缩成本,应设未知数代入计算
百度文库 P64
质量管理
质量管理学派
- 戴明理论的核心是“目标不变、持续改善和知识积累”,预防胜于检验。
- 朱兰理论的核心思想是适用性,适用性是通过遵守技术规范,使项目符合或者超过项目相关人及客户的期望。
- 克鲁斯比理论的核心思想是质量定义符合预先的要求,质量源于预防,质量的执行标准是零缺陷(zero defect) ,质量是用非一致成本来衡量的。
- 田口玄一核心思想是应用统计技术进行质量管理,通过损失函数来决定产生未满足目标产品的成本。
质量目标
- 可用度
- 初期故障率
- 偶然故障率
- 平均失效前时间(MTTF)
- 平均失效间隔时间(MTBF)
- 缺陷密度(FD)
- 平均失效恢复时间(MTTR)
CMMI 的概念
- 能力成熟度模型集成(Capability Maturity Model Integration , CMMI)
- 一种为组织的有效过程提供基本要素的过程改进方法
5个等级
- 0.不完整级:未达到目标
- 1.已执行级:实现目标
- 2.受管理级:有架构
- 3.已定义级:已从组织分离
- 4.定量管理级:加以统计
- 5.持续优化级:
人力资源计划
软件项目基本组织结构
- 职能型:线性,一个组织完成
- 项目型:单目标,垂直,适合大风险,不适合人少的
- 矩阵型:资源可共享
- 弱矩阵:类似于职能,技术简单(部门协调较少)
- 强矩阵:类似于项目,有项目经理,复杂且时间紧
- 平衡矩阵
- 对比表格:PPT,P65
责任分配矩阵
- responsibility assignment matrix , RAM
- 用来对项目团队成员进行分工,明确其角色与职责的有效工具
- 换句话说,RAM这个工具就是针对项目范围WBS分解出来的工作,将工作的责任在组织内进行分配
- 二维矩阵图,列是组织/单元或个人,行是项目的工作包,矩阵中的符号表示每一个组织/单元或个人在每个工作包中的参与角色或责任(P70)
沟通管理
计算沟通渠道
全排列:N(N-1)/2,N为人员总数。
风险计划
风险识别的方法
- 德尔菲方法(专家调查法):匿名性、多次反馈、小组的统计回答
- 头脑风暴法:专家的思维灵感
- 情景分析法:适用可变因素较多的
- 风险条目检查表
- 面谈法
风险应对的策略
- 回避风险
- 转移风险:非保险和保险
- 损失控制:基本点是在于消除风险因素和减少风险损失
- 损失预防:风险前
- 损失抑制:风险时或风险后
- 自留风险(承担风险)
- 主动自留和被动自留,经过判断和研究
- 全部自留和部分自留,不知风险因素
定性风险分析和定量风险分析的概念
定性
是评估已识别风险影响及其可能性的过程,对概率和后果进行定性评估,适用于具体的风险事件,不适用项目整体
- 历史资料法:每一风险过去已经发生的频率
- 理论概率分布法:历史资料不充分时,常见正态分布
- 主观概率
- 风险后果估计
定量
- 访谈:找专家
- 盈亏平衡分析:盈亏平衡点上不盈不亏,点越低越好
- 决策树分析:树形图,各方案比较
- 模拟法:概率论
- 量化风险条目检查表
- 敏感性分析:一个或多个变量对项目的影响
配置管理
配置管理&版本管理
配置管理
指一套管理软件开发和软件维护以及各种中间软件产品的方法和规则
确保软件开发者在软件生命周期中的各个阶段都能得到精确的产品配置
最终保证软件产品的完整性、一致性、追朔性、可控性
主要思想和具体内容在于版本控制,版本控制注意功能是追踪变更
版本管理
版本控制是指对软件开发过程中各种程序代码、配置文件及说明文档等文件变更的管理。
联系与区别
版本控制是CM(Configuration Management)的关键部分
版本控制不等同于配置管理
版本控制是软件配置管理重要部分,但不是配置管理的全部。
基线的概念
基线提供了软件生存期中各个开发阶段的一个特定点
一个(些)配置项形成并通过审核,即形成基线
基线标志开发过程一个阶段的结束和里程碑
基线修改需要执行正式的程序
变更控制
变更是信息系统的最普遍的特点
配置管理的主要任务是对变更加以有效控制和管理,防止软件在多变的情况下失控
基本原则
建立项目基准、变更流程和变更控制委员会