赞
踩
项目范围管理:为了成功实现项目的目标。首先必须设定项目的工作和管理范围
项目进度管理、项目质量管理、项目成本管理:为了正确实施项目,需要对项目的时间、质量、成本三大目标进行分解
项目资源管理、项目采购管理:在项目实施过程中,需要投入足够的人力、物力
项目沟通管理和项目干系人(相关方)管理:为了对项目团队人员进行管理,让大家目标一致的完成项目,需要沟通
项目风险管理:项目在实施过程中会遇到各种风险,所以要进行风险管理
项目集成管理:项目管理一定要协调各个方面,不能只顾局部的利益和细节,所以需要集成管理
1. 启动过程组
2. **计划过程组**
3. **执行过程组**
4. **控制过程组**
5. 收尾过程组
1. 个体和交互胜过过程和工具
2. 可以工作的软件胜过面面俱到的文档
3. 客户合作胜过合同谈判
4. 相应变化胜过遵循计划
1. 我们最优先要做的是通过尽早的、持续的交付有价值的软件来使客户满意
2. 即使到了开发的后期,也欢迎改变需求。敏捷过程利用变化来为客户创造竞争优势
3. 经常性的交付可以工作的软件,交付的间隔可以从几周到几个月,交付的时间间隔越短越好。
4. 在整个项目开发期间,业务人员和开发人员必须天天都在一起工作。
5. 围绕被激励起来的人个来构建项目。给他们提供所需要的环境和支持,并且信任他们能够完成工作。
6. 在团队内部,最具有效果并且富有效率的传递信息的方法,就是面对面的交谈。
7. 工作的软件是首要进度度量标准。
8. 敏捷过程提可持续的开发速度。责任人、开发者和用户应该能够保持一个长期的、恒定的开发速度。
9. 不断地关注优秀的技能和好的设计会增强敏捷能力。
10. 简单----使未完成的工作最大化的艺术----是根本的。
11. 最好的构架、需求和设计出自与自组织的团队。
12. 每隔一定时间,团队会在如何才能更有效地工作方面进行反省,然后相应地对自己的行为进行调整。
项目管理核心要素:时间、质量、成本
项目的特征:目标性、相关性、临时性、独特性、资源约束性、不确定性
日常运作与项目区别:
项目章程是一份正式批准项目并且授权项目经理在项目活动中使用组织资源的文件
预测性:需求最稳定
迭代形
增量型:多次提交小版本
敏捷形
有明确的需求,有顺序方式执行,不变更
例如
瀑布模型(需求很明确,实现方案很明确)短期项目
V模型(强调测试与开发关系,需求设计不能变更)安全性、性能要求高、成本高
当需求不明确、复杂性高、变更频繁
连续的原型和概念验证
也称为原型模型
通过不断地构造原型,使用者评价原型,然后在构造,再批评
增量模型就是一个增量一个增量的开发过程,每个增量是一个交付成果
如果有项目需要加快交付速度,需要频繁交付少量可交付成果就可以采用
符合敏捷宣言,满足12个原则的实践
不断的用户反馈,调整需求
需求确认:需求获取-需求分析-需求规格编写-需求验证
需求变更:需求变更
1.原型方法
不断评价原型,来确定需求的方法
2.数据流方法
数据流关系来确定需求
3.基于UML方法
渐进明细
开始的时候是模糊的,然后越来越明确
story cards
功能需求和非功能需求
通过讨论循序渐进的方法进行确定,可以user story进行描述
WBS(任务分解结构)(由粗到细的分解过程)(WBS中的细目才是项目要完成的工作)
任务分解是项目管理的基础
敏捷开发过程是通过用户故事将需求具体化成可以进行迭代开发的任务
级别(从大到小):Epic-Feature-User story
将epic分解成多个story的过程
软件项目规模:
即 可工作量
软件成本:完成软件付出相应的代价
优点:需求规格、测试文档可以不保留,但是代码一定保留。
代码行估算起来比较直观
缺点:根据每个人的编码风格不一样,此估算法误差大
Albrecht功能点
适用于信息系统的估算,不适合实时系统或嵌入式系统
通过功能的数量测量其规模
功能点公式:
FP = UFC * TCF
UFC :未调整功能点计数(由5个角度计算得出:外部输入,外部输出,外部查询,外部接口文件,内部逻辑文件)
TCF:技术复杂度因子
用例点估算是基于用例视图的估算方法
通过用例视图确定用例和相应角色
基本步骤:
采用这个时可以找一个相似的项目,根据相似项目总工作量成本估算当前工作量成本,所以是一种自上而下的工作形式。
当信息不足的时候,要求不是非常精确估算的时候
前提是:任务分解完成,即WPS分解完成
从最底层工作包开始估算,将估算值进行累加
相对比较准确,因为是针对每个工作包进行估算
花费时间
基于任务成本的三种估算值来进行任务成本的估算法
也称为模型估算,通过项目数据得出来的模型
参数模型:整体公式
E = a+bScM
Walston-Felix模型
COCOMO
COCOMO81:
模型级别:基本、中等、高级
基本:适合开发初始阶段
中等:项目需求确定后使用,对项目有所了解
高级:估算精度最高
项目类型:有机、嵌入式、半嵌入
有机:最常规、简单的类型、程序规模不是很大
嵌入式:系统程序,紧密联系硬件,算法条件高(例航天器系统)
半嵌入式:介于两者之间(例编译器)
COCOMO II
组成:
应用组装模型、早期设计模型、后体系结构模型
规划阶段 、 设计阶段 、 开发阶段
参数估算法:
使用条件:有良好的项目数据为基础、存在成熟的项目估算模型
特点:比较简单,而且比较准确、如果模型选择不当或者数据不准,会导致偏差
由多位专家进行成本估算
Deiphi专家估算(专家互不见面)
高层估算:采用快速估算
底层估算:详细估算
Story point估算-Fibonacci 七个等级
将总成本安排到各个任务中
分配固定资源成本:项目中一个兼职人员为固定资源成本
任务定义:确定为完成项目的各个交付成果所必须进行的逐项具体活动
任务之间的关系:最常见:结束-开始
人物之间关联关系的依据:
强制性依赖关系
软逻辑关系
外部依赖关系
内部依赖关系
进度管理图示:
网络图:常用 PDM、ADM
甘特图:
里程碑:显示项目进展重大情况
资源图:显示项目进展资源分配情况
敏捷主要采用:燃尽图(还有多少没完成)、燃起图(完成多少)
传统方法:
1.定额估算(适合规模小):
T=Q/(RS)
T:活动历时
Q:活动工作量
R:人力数量
S:工作效率
2.经验导出模型:
D=aE^b
3.CPM(关键路径法)
最长为关键路径
4.工程评估评审技术(PERT)
加权算法(选定3个估算值)
- O是最小估算值:乐观
- P是最大估算值:悲观
- M是最大可能估算
采用加权平均得到期望值
E = ( O + 4m + P)/6
PERT的风险指标
- 标准差 = (最大估算值-最小估算值)/6
- 方差 = 标准差^2
Jones的一阶估算准则
类比估算:项目信息不足的情况下采用方法
专家判断:
基于承诺的进度估算:要求开发人员做出进度承诺
优点:对开发进度有保证
开发速度稳定前:
举手表决(所有人员达成共识前一直举手)
开发速度稳定后:
基于故事点生产率的估算
基于迭代生产率历时估算
超前与滞后方法:
在A与B之间加Lag表示滞后,加长事件
在A与B之间加Lead表示超前,缩短事件
基本概念:
最早开始时间 ES:
最晚开始时间 LS:
最早完成时间 EF:
最晚完成时间 LF:
浮动时间:上图所示,可以一号开始也可以五号开始,中间四天的浮动时间
关键路径:
时间浮动为0的路径
网络图中最长的路径
关键路径为A,B可以浮动
不改变项目范围的前提下缩短项目工期的方法
1.1.进度压缩单位成本方法,线性关系
哪个成本低压缩哪个
1.2.进度压缩因子方法,非线性关系
提前量方法的应用,并行解决压缩方法
根据资源供需情况,调整活动开始和完成时间
资源平衡,可能延长项目时间
资源平滑法,不会改变项目关键路径
远期计划
近期计划
远粗近细的双重计划原则
质量:满足要求的程度
质量模型:
Boehm质量模型
McCall质量模型
软件质量
质量在开发过程中形成
前期质量成本:预防成本
后期质量成本:缺陷成本
通过评价项目整体绩效
具体活动:项目执行审计
例如:代码评审、单元测试
1.全程质量审查
2.早发现问题,多版本提交
3.不断进行质量方法评估和改进
敏捷活动:
QC: 结对编程(两人一起编程)、
测试驱动开发(TDD[Junit])、
持续集成与测试、
不同层面自动化测试、
验收测试驱动开发
重构
QA: 迭代评审
迭代回顾会议
根据质量目标规划QA QC活动的过程
配置管理:记录软件产品演化过程
得到精确的产品配置
主要功能:版本管理、变更管理、其他
配置项:SCI是配置管理的基本单位
基线定义:开发阶段的某个特定点
软件配置控制委员会(SCCB):
评估变更、批准变更申请
配置管理主要活动:
一旦发生变更,需要经过SCCB授权
人员职责(确定SCCB等)
配置项定义
基线定于
版本控制(说明配置管理工具)
定义变更控制系统
全面配置管理
基本要求:
- 代码和编译构建常务的配置管理
- 应用的配置管理
- 环境的配置管理
敏捷主要特征:
- 持续交付
- 需要全面配置管理
项目组织结构主要类型:
适用于主要由一个部门完成的项目,或者组织成熟的项目
有一个项目的时候成立一个项目组,当项目完成后解散
项目经理有高度独立性
类似外包,项目组成员开发完就解散,没有家的感觉没有归属感
结合职能型和项目型
产品负责人、团队促进者、跨职能团队成员
仆人式领导
风险类型:
预测角度:已知风险、可预测风险、不可预知风险
风险三要素:风险事件、事件概率、事件影响
风险管理的四个过程:风险识别、风险评估、风险规划、风险控制
德尔菲方法
头脑风暴法
情景分析法
利用风险条目检查表(最常用)
风险概率度量:
1、盈亏平衡分析
2、敏感性分析
3、决策树分析
决策树例题“抛硬币”
4、模拟
风险规划的主要策略:
1、回避风险:主动放弃
2、转移风险:外包、开脱责任合同
3、损失控制:损失预防(项目技术培训)、损失抑制(项目人员储备)
4、自留风险
敏捷项目风险应对方法:
损失预防与损失抑制策略
项目采购
有了采购的需求才存在合同计划
1、成本补偿合同
新开发类项目,对项目范围和规模没有很好把握的项目
CPFF 成本加固定费用
CPIF 成本加激励费用
CPAF 成本加奖金
2、总价合同
FFP 固定总价
FPIF 总价加激励费用
总价加经济价格
3、工料合同
外部购买产品,需要合同计划任务
合同计划:明确如何进行委托、委托什么项目、合同形式
敏捷项目强调客户协作
敏捷合同策略:
软件项目管理的四个要素
范围、质量、进度、成本
范围管理(针对WBS进行管理):
分析技术:偏差分析、趋势分析
范围控制要点:
防止范围扩张
是一种偏差分析
是偏差分析也是趋势分析
TAC:项目完成时间估计
BAC:项目估算
BCWS:预算曲线
ACWP:实际成本
BCWP:目前项目的价值,称为挣值或已获值
CV=-1:表示从成本角度看,超预算1w
SV=1:>0表示从进度角度看,超前进度
贝叶斯网络解决不确定性问题
原则:交付价值衡量指标
基于迭代的项目:燃尽图
质量计划的执行控制
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。