软件作为产品的生产流程及管理活动,形成了一系列的学科标准和模型,如软件工程、ISO9001、PMBOK、CMM、CMMI等。
1.1软件工程基本原理
软件工程是从管理和技术两方面来研究如何采用工程的概念、原理和技术并加以综合,指导开发人员更好开发和维护计算机软件的一门新的学科。7条原理是确保软件产品品质和开发效率的原理的最小集合。
7条原理的基本内容:
1)按照软件生命周期的阶段划分制定计划,严格依照计划进行管理
项目概要计划
里程碑计划
项目控制计划
产品控制计划
验证计划
运行维护计划
2)坚持进行阶段评审
大部分缺陷是在编码之前造成的(软件质量保证工作不能等到编码结束之后)
3)实行严格的产品控制
在软件开发过程中不随意改变需求,改变需求时,必须实行严格的产品控制
基准配置管理(变更控制)、定义基线、管理和控制基线。【必须按照严格的规程进行评审,获得批准后才可修改】
4)采用现代程序设计技术
5)结果应能清楚地审查
目标、完成期限、开发机构的责任、产品标准
6)小组开发人员少而精
7)承认不断改进软件工程实践的必要性
主动采纳新的软件技术、不断总结经验
1.2 质量管理体系ISO9001
ISO9001 迄今为止世界上最成熟的框架,规定了公司质量管理体系的基本要求,适用于所有行业或经济领域,本身并不规定产品质量的要求。
- 以顾客为中心
- 高层管理者推动
- 全员参与
- 采用过程方法
- 系统的管理
- 持续改进
- 基于事实的决策
- 互利的供方关系
建立和实施质量管理体系:
- 确定顾客需求和期望
- 建立公司的质量方针和质量目标
- 确定实现质量目标所必需的过程和职责
- 针对每个过程实现质量目标的有效性确定测量方法
- 通过测量,确定每个过程的现行有效性
- 确定防止不合格项并消除产生原因的措施
- 寻找提高过程的有效性和效率的机会
- 确定并优先考虑那些能提供最佳结果的改进
- 为实施已确定的改进,对战略、过程和资源进行策划
- 实施改进计划
- 监控改进效果
- 对照预期效果,评价实际结果
- 评审改进活动,确定必要的纠正、跟踪措施
鼓励采用过程方法
质量体系文件的分层结构
- 质量手册
- 程序文件
- 规定/规范
- 表单模板
1.3 项目管理知识体系PMBOK【Project Management Body Of Knowledge】
(对项目管理所需的知识、技能和工具进行的概括性描述
美国项目管理协会 PMI【Project Management Institute】
项目的8个基本属性:①整体性 ②唯一性 ③一次性 ④目标性 ⑤多约束性 ⑥依赖性 ⑦冲突性 ⑧周期性
项目参数:范围、进度、资源、成本、质量
项目生命周期与软件生命周期
项目生命周期 |
软件生命周期 |
项目定义 |
立项管理、需求开发及管理 |
项目计划 |
项目计划 |
项目实施 |
系统设计、编码、测试 |
项目收尾 |
发布、提交、运行维护、技术支持和产品退役 |
项目管理5个基本过程:启动、策划、执行、控制、结束
项目管理基本职能:
项目 |
整体 |
管理 |
范围 |
||
时间 |
||
成本 |
||
质量 |
||
人力资源 |
||
沟通 |
||
风险 |
||
采购 |
PMMM【Project Management Maturity Model】
1.4 软件能力成熟度模型集成CMMI
【Capacity Maturity Model Integration】
为提高组织过程和管理产品开发、发布和维护能力提供保障,帮助组织客观评价自身能力成熟度和过程域能力,为过程改进建立优先级以及执行过程改进。
软件过程改进是一个持续、全员参与的过程。CMMI实施或软件过程改进(Software Process Improvement, SPI),采用的方法称IDEAL模式
Initiating 启动 |
Diagnosing 诊断 |
Establishing 建立 |
Acting 行动 |
Leveraging 推进 |
如果问题通过诊断,其优先级可以提高,在某一阶段过程改进时,重点解决这方面的问题。
CMMI结构框架
过程域(PA):描述了整个过程改进活动中应侧重关注或改进的某个方面的问题,针对每个过程规定目标,根据目标实践
英文全称 |
简称 |
中文名称 |
Casual Analysis and Resolution |
CAR |
因果分析与解决方案 |
Configuration Management |
CM |
配置管理 |
Decision Analysis and Resolution |
DAR |
决策分析与解决方案 |
Integrated Project Management |
IPM |
集成化项目管理 |
Measurement and Analysis |
MA |
度量分析 |
Organizational Process Definition |
OPD |
机构过程定义 |
Organizational Process Focus |
OPF |
机构过程聚焦 |
Organizational Performance Management |
OPM |
机构性能管理 |
Organizational Process Performance |
OPP |
机构过程性能 |
Organizational Training |
OT |
机构培训 |
Production Integration |
PI |
产品集成 |
Project Monitoring and Control |
PMC |
项目监督与控制 |
Project Planning |
PP |
项目计划 |
Process and Product Quality Assurance |
PPQA |
过程和产品质量保证 |
Quantitative project Management |
QPM |
项目定量管理 |
Requirements Development |
RD |
需求开发 |
Requirement Management |
REQM |
需求管理 |
Risk Management |
RSKM |
风险管理 |
Supplier Agreement Management |
SAM |
供方协议管理 |
Technical Solution |
TS |
技术解决方案 |
Validation |
VAL |
确认 |
Verification |
CER |
验证 |
CMMI的阶梯表示,CMMI包含22个过程域,按照成熟度(Maturity)分成4个组:
- 级别1——初始级,一级与二级的一个重要区别在于过程受到管理的程度,1级的成熟度基础上,项目中的具体过程由项目开发者个人控制,机构无法或不能完全控制项目的过程,项目的成本、进度和质量目标等难以得到实现。
- 等级2——项目组所用的过程(描述、规程、方法、标准等)可能很不相同,但在等级3,每个项目组的过程(项目定义过程)都是一致地从同一个机构标准过程集裁剪得到的
- 等级3——过程描述更加详细、执行更严格,并在执行和管理的过程中更加强调对过程活动相互联系的深入理解,以及对过程、工作产品及其服务更加详细的度量
- 等级4——过程性能受到统计控制并可以定量预测目标
- 等级5——持续优化,可以渐进式或者突破性的改进,着重解决引起过程性能偏差的共同原因、缺陷根源及其他问题