

## 项目管理概论

项目是一个有待完成的任务，有特定的环境和目标（唯一）；在一定的组织、有限的资源和规定的时间内完成（临时性努力）；满足一定的性能、质量、数量技术经济指标等要求。

软件项目即指基于软件产品的的一个特定项目。

软件是逻辑实体，而不是具体的物理实体；由于软件的开发受计算机系统的限制，对硬件系统有不同程度的依赖。

需求分析——可行性分析——概要设计——详细设计——代码的实现测试——使用维护



### 项目的特征

1. 目标性：任何项目都是为实现特定的组织目标服务的。
2. 相关性：
3. 周期性/一次性:每个项目必须有始有终；没完没了或者重复进行的工作都不能称为项目。
4. 独特性：项目所生产的产品或服务有一定特殊之处，项目没有先例，也不会有完全相同的重复。
5. 约束性/制约性：每个项目都在一定程度受各个条件和资源的制约。
6. 不确定性：各种资源条件和环境的发展变化以及人们的认识有限性，项目的后果出现非预期的损失或收益。
7. 结果的不可逆转：
8. 过程性：由一系列项目阶段、项目工作包和项目活动所构成的完整过程
9. 临时性:项目有明确的开始与截止日期



### 项目的生命周期

把项目从开始到结束划分为若干阶段，这些不同阶段构成了项目的生命周期。其主要内涵包括：

1. 项目阶段
2. 项目实限
3. 项目任务
4. 项目成果

}软件项目管理的必要性

项目资源投入的变化、项目不确定性的变化、项目可变性的变化。

无规则、混乱的开发状态、进度滞后、费用超支

业务失败、合同纠纷、法律诉讼、客户投诉

并发阶段

}项目生命周期阶段



概念

开发

实施

结束

生命周期中风险最大的是哪个阶段？

生命周期中冲突最多的是哪个阶段？

}软件危机

◦就是软件生产能力和业务发展需求不相适应的现象

◦就是弱的软件生产能力和强的业务发展需求之间的矛盾

}软件危机表现

◦开发过程随心所欲

◦时间计划和费用估算缺乏现实的基础

◦管理者主要在应付突发事件

◦对产品质量缺乏客观基础

◦软件开发的成败建立在个人能力基础上

### 项目管理

定义：项目管理是以项目为对象，通过使用知识、技能、工具和方法来组织、计划、实施并监控项目使之满足项目目标需求 的过程。

项目管理：运用各种知识、技能、方法和工具，为满足或超越项目要求与期望所开展的各种计划、组织、领导等方面工作。

项目管理的根本目的是满足或超越项目有关各方面对项目的要求和期望。

项目管理的根本手段是运用各种知识、技能、方法和工具开展管理活动。

l**硬技能** **Samples** **（计划、跟踪、控制、报告）**

软技巧**Samples**（领导、团队建设、冲突解决、激励、训练、协商、沟通、倾听）

成功的项目

时间成本质量



}项目管理的基本内容

◦PMBOK:A guide to the Project management Body Of Knowledge 

![image-20260630163845147](https://nas.chenalna.site/sata11-19012711369/images/image-20260630163845147.png)

}PMBOK 5 大过程组

![image-20260630163903229](https://nas.chenalna.site/sata11-19012711369/images/image-20260630163903229.png)

### 项目管理要素

1. 资源
2. 需求和目标
3. 计划和组织
4. 项目环境

### 项目管理的过程

}软件项目生命期 

◦1. 计划阶段  定义系统，确定用户的要求或总体研究目标，提出可行的方案，包括资源、成本、效益、进度等的实施计划。进行可行性分析并制定粗略计划。

◦2. 需求分析阶段  确定软件的功能、性能、可靠性、接口标准等要求，根据功能要求进行数据流程分析，提出初步的系统逻辑模型，并据此修改项目实施计划。

◦3. 软件设计阶段  它包括系统概要设计和详细设计。在概要设计中，要建立系统的整体结构，进行模块划分，根据要求确定接口。在详细设计中，要建立算法、数据结构和流程图。



◦4. 编码阶段  把流程图翻译成程序，并对程序进行调试。

◦5. 测试阶段  通过单元测试，检验模块内部的结构和功能；通过集成测试，把模块连接成系统，重点寻找接口上可能存在的问题；确认测试，即按照需求的内容逐项进行测试；系统测试，就是到实际的使用环境中进行测试。单元测试和集成测试由开发者自己完成，确认测试和系统测试则由用户参与完成。

◦6. 运行维护阶段  它一般包括三类工作，为了修改错误而做的改正性维护；为了适应环境变化而做的适应性维护；为了适应用户新的需求而做的完善性维护，有时会成为二次开发，进入一个新的生命期，再从计划阶段开始。

}软件项目管理过程



过程是一组为了完成一系列事先指定的产品、服务或成果而执行的互相联系的行为和活动。

1. 启动过程
2. 计划过程
3. 实施过程
4. 控制过程
5. 收尾过程

**项目管理的特点**

独特性和创新型

复杂性

整体性

更多的协调与沟通



项目管理过程包括的主要工作

◦制定技术目标

◦组建项目组

◦制订项目计划

◦处理范围变化

◦控制实际进展

◦整理、完善技术档案

◦形成知识网络

### 项目管理的知识领域

整体管理

项目范围管理

项目时间管理

项目进度管理                                          

项目成本管理

项目人力资源管理

项目质量管理

项目采购与合同管理

项目风险管理

项目沟通与冲突管理

## 项目组织概述

它是为了完成某个特定的项目任务而由不同部门、不同专业的人员组成的一个特别工作组织。通过计划、组织、领导、控制等过程，对项目各种资源进行合理配置。



项目组织的特征

1. 临时性
2. 任务导向性
3. 灵活性
4. 既强调统一领导又重视团队合作

项目组织的结构类型

职能式、项目式、矩阵式

项目团队的生命周期

1. 形成阶段
2. 震荡阶段
3. 规范阶段
4. 执行阶段
5. 解体阶段



## 项目启动



项目需求识别



## 合同管理概述

合同的概念  
    ——合同是使卖方负有提供具体产品和服务的责任，买方负有为该产品和产品服务付款的责任的一种双方相互负有义务的协议。

- 合同定义了合同签署方的权利与义务，以及违背协议会造成的相应法律后果；
- 合同监督项目执行的各方履行其权利和义务，它是具有法律效力的文件；
- 围绕合同，存在合同签署之前和合同签署之后的一系列工作。 

技术合同 

软件项目合同主要是技术合同；

技术合同是法人之间、法人和公民之间、公民之间以技术开发、技术转让、技术咨询和技术服务为内容，明确相互权利义务关系所达成的协议；

技术合同有三种环境：需（甲）方环境、供（乙）方环境和内部环境；

技术合同一般包括主合同和合同附件。 

合同范文

**软件项目主合同****至少应包括以下****内容**

¡**项目名称；**

¡**项目的技术内容、范围、形式和要求；**

¡**项目实施计划、进度、期限、地点和方式；**

¡**项目合同价款、报酬及其支付方式；**

¡**项目验收标准和方法；**



¡**各方当事人义务或协作责任；**

¡**技术成果归属和分享及后续改进的提供与分享规定；**

¡**技术保密事项；**

¡**风险责任的承担；**

¡**违约金或者损失赔偿额****的计算方法、仲裁及其它。** 



**软件项目****中常有以下****合同附件**

¡**系统的商务报价表；**

¡**系统的需求规格说明书；**

¡**项目的工程进度计划书；**

¡**技术服务承诺；**

¡**培训计划；**



¡**移交的用户文档和技术文档；**

¡**场地和环境准备要求；**

¡**测试与验收标准；**

¡**初验与终验报告样式范本；**

¡**工程实施的分工界面定义。**





软件开发合同

1. 项目内容

2. 开发期限

3. 开发费用及支付方式

4. 验收标准

5. 双方的权利与义务

   甲方：

   乙方：

6. 知识产权

7. 违约责任

   1. 甲方逾期交付
   2. 乙方逾期交付
   3. 质量不符
   4. 违约金上限

8. 免责条款

9. 争议解决

   向甲方所在地人民法院提起诉讼

10. 其他约定

附件：软件开发项目确认书

使用说明：



**合同****生存期**

合同准备

合同签署

合同管理

合同终止



需方合同环境

企业在需方合同环境下，关键要素是提供准确、清晰和完整的需求。

这个需求可能来自于企业内部的需要也可能是在为客服开发的软件项目中的一部分

1. 合同准备
   - 招标书定义，主要是需方的需求定义，也就是甲方（买方/招标方）定义采购的内容
   - 供方选择，招标文件确定后，就可以通过招标的方式选择供方/投标方（乙方或者卖方）
   - 合同文本准备 如果需方选择了合适的供方，需方和供方签订一个具有法律效力的合同；签署合同合同之前需要起草一份合同文件。
2. 需方招标书定义
3. 供方选择过程 招标文件——招标——收件
4. 合同草案编写
5. 合同签署
6. 合同管理、验收过程
7. 合同终止



招标书定义过程：

需方申请——需求定义——商务条件确定——验收标准确定——资料汇集——采购需求认可——编写招标文件——招标文件

供方选择过程

招标文件——招标——收集供方的建议书——评定供方——最终供方确定——供方名单、建议书

合同文本准备过程

采购资料——合同草案制定——合同草案评审——合同草案修订——合同草案确定——合同草案

¡**合同签署**

–**合同签署过程就是正式签署合同，使之成为具有法律效力的文件；**

–**同时，根据签署的合同，分解出合同中需方****(****甲方****)****的任务，并下达任务书，指派相应的项目经理负责相应的过程。**

合同签署过程

![image-20260630170151700](https://nas.chenalna.site/sata11-19012711369/images/image-20260630170151700.png)

合同管理
   ——对于企业处于需方(甲方)的环境，合同管理是需方对供方(乙方)执行合同的情况进行监督的过程，主要包括：

对需求对象（采购对象）的验收  验收过程是需方对供方交付的产品或服务进行验收检验，以保证它满足合同条款的要求。


对违约事件处理  在合同的执行过程中，如果供方发生与合同要求不一致的问题，导致违约事件，需要执行违约事件处理过程

验收过程

![image-20260630170440560](https://nas.chenalna.site/sata11-19012711369/images/image-20260630170440560.png)



¡**违约事件****处理过程**

违约事件报告——违约事件通告——处理方式确定——处理违约事件——处理报告提交——违约事件处理报告

合同终止

–**当项目满足结束的条件，项目经理或者合同管理者应该及时宣布项目结束，终止合同的执行，通过合同终止过程告知各方合同终止**

–**合同终止过程**



合同——合同有关文档归档——合同终止通知——项目执行总结——项目总结



供方合同环境

企业在供方（乙方）合同环境下，关键要素是了解清楚需方（甲方）的要求并判断企业是否有能力来满足这些需求。

作为软件开发商，更多担任的是供方的角色。 

¡**合同准备**

  **企业作为供方，其合同准备阶段包括三个过程：**

–**项目分析** **项目分析是供方分析用户的项目需求，并据此开发出****—****初步的项目计划，作为下一步能力评估和可行性分析之用。**

–**项目竞标**

–**能力评估；**

–**可行性分析；**

–**参加竞标。**

–**合同文本准备** **一般是需方****(****甲方****)****提供合同的框架结构，并起草主要内容，****供方****(****乙方****)****提供意见****。** 



¡**项目分析过程**

![image-20260630171601758](https://nas.chenalna.site/sata11-19012711369/images/image-20260630171601758.png)



¡**项目竞标过程**

![image-20260630171615885](https://nas.chenalna.site/sata11-19012711369/images/image-20260630171615885.png)



¡**合同文本准备**

![image-20260630171629141](https://nas.chenalna.site/sata11-19012711369/images/image-20260630171629141.png)





合同执行跟踪过程

产品交付过程

合同终止



企业内部合同环境

企业北部项目实施管理的核心是确定任务范围和确保相关各方进行有效的配合，这可以通过相关各方之间的“协议”来保证。



合同准备、合同签署、合同管理与合同终止。

针对企业在不同合同环境中承担的不同角色，又可将合同管理分为需方合同管理、供方合同管理以及内部合同管理

作为企业软件，一半是处于供方（乙方的橘色），

合同标志一个项目的真正开始，，通过项目任务单明确项目经理，从此，项目经理可以真正行使相应的职责和权力。





¡**合同签署**

–**供方的合同签署过程也类似于需方的合同签署过程，但是这个阶段对于供方的意义是****重大的，它标志着一个软件项目的有效开始****，这个时候，应该正式确定****供方的项目经理****。**

–**这里需要说明的是项目任务书，项目任务书明确项目的目标、必要的约束，同时授权给项目经理。**

–**项目任务书****是项目正式开始的标志，同时也是对项目经理有效授权的依据。**

–**项目经理需要对这个任务书进行确认。**

–**具体活动描述可以参见需方的合同签署过程。******

¡**合同管理**

​    **——****企业处于供方的环境，合同管理主要包括：**

–**合同跟踪管理过程**

–**合同修改控制过程**

–**违约事件处理过程**

–**产品交付过程**

–**产品维护过程**



¡**合同执行跟踪管理过程**

  **——****合同跟踪管理过程是供方跟踪合同的执行过程**

![image-20260630171723088](https://nas.chenalna.site/sata11-19012711369/images/image-20260630171723088.png)









## 软件团队管理

**项目团队**

软件项目团队

- 软件项目开发团队是通过将不同的个体组织在一起，形成一个具有团队精神的高效率的队伍来进行软件项目的开发。
- 软件项目团队包括所有的项目干系人。

软件项目团队的特征

- 是一个临时性的团队
- 是跨职能的
- 在软件项目不同阶段中团队具有不稳定性

高效的软件开发团队是建立在合理的开发流程及团队成员密切合作的基础之上，团队成员需共同迎接挑战、有效的计划、协调和管理各自的工作直至完成项目目标。



## 软件项目跟踪控制

​     

### 软件项目跟踪概述



保证项目能够按照预先设定的计划行驶，使项目不要偏离预定的发展进程。跟踪控制是一个反馈过程，需要在项目实施的全过程对项目进行跟踪控制。



项目跟踪控制的基本步骤



建立标准 ：建立项目正确完成应该达到的目标

观察项目的性能：

测量和分析结果：

采取必要措施；

控制反馈：



项目跟踪控制的重要性（反证法）

如果没有项目控制，则可能出现：

- 项目的范围会很大
- 成本会成倍增长
- 风险也会增加
- 进度也会推迟



### 软件项目跟踪控制的标准

建立控制标准

在对项目进行跟踪控制时，应该确定偏差的接受准则，比如进度、成本、质量等计划与时机的偏差比例等。

三个主要的基准计划

- 范围（质量）计划
- 进度计划
- 成本计划



基准计划是优化后并批准的计划，它作为项目实施考核的依据。





### 软件项目监控和报告体系



##### 项目信息采集。

项目跟踪采集。跟踪采集是依据规定的规范对项目开发过程中的有关数据进行收集和记录，作为观察分析项目性能、标识偏差的依据。



跟踪采集主要是在项目生存期内，根据项目计划中规定的



##### 确立采集对现象。

内部因素 指项目基本可以控制的因素，例如变更、范围、进度、成本、资源、风险等

外部因素 指项目无法控制的因素，比如法律法规、世家价格、外汇牌价





### 软件项目跟踪控制过程



项目监控分析的对象

- 项目范围监控



其输入是软件项目的计划



- 项目成本监控
- 项目进度监控
- 项目资源监控‘
- 项目质量监控
- 项目风险监控





项目性能分析方法

图解控制法

能清楚项目状况，但没有量化信息

- 进度——甘特图
- 成本

挣 法

输入：BCWP BCWS ACWP BAC

输出：CV/SV



SV=BCWP=BCWS 

CV=BCWP-ACWP

CPI/SPI

EAC/VAC/SAC



项目质量 跟踪控制



输入:

质量计划标准

方法:

软件产品

输出:

度量质量

控制图法

趋势分析法

### 软件项目评审

按活动类别分

定期评审

阶段评审

评审报告

#### 软件项目计划修改
