一文搞懂项目管理


什么是项目管理

项目是为创造独特的产品、服务或成果而进行的临时性工作。项目是无处不在的,比如举办一次奥运会开幕式,修建一栋大楼,进行一次房屋装修,开发一款新手机,管理一次产品发布等。项目具有以下主要特征:

(1)一次性,有明确的起点和终点,目标明确且一次性;

(2)独特性,每个项目涉及的工作任务不同,环境约束不同,工作存在差异;

(3)成果的不可挽回性,项目失败或没有达成目标不可重来。

项目的这些特征使得完成项目、达成项目目标具有非常大的风险和不确定性,项目管理不好或缺乏项目管理可能导致:不能按时完成,成本超出预算,质量不达标,返工,范围变更频繁,相关方不满意以及组织声誉受损等,因此项目管理非常重要。

项目管理是将知识、技能、工具与技术应用于项目活动,以满足项目的要求。项目从过程看,项目要管理5个过程(全生命周期):启动、计划、执行、监控、收尾。从知识领域看,要进行范围、进度、成本、质量、资源、沟通、风险、采购和整体管理。项目管理是对项目整个生命周期全过程的管理,是一项系统工程,其本质是整合资源与能力,通过一个组织达成项目交付目标

WBS→资源(人:项目经理+项目团队)→合同管理→项目四算与财务管理(概算、预算、核算、决算)→项目群管理(立项-需求管理-集成计划与依赖关系管理-解决方案契约化交付-系统设计与集成验证交付)→产品商业成功(项目管理的最终价值体现)


资源管理

合同管理

项目四算

异步开发框架

CMM(Process Based)→敏捷(Skill Based)

CMM分级

初始级

初始级时,对于软件的管理制度较为缺乏,过程缺乏定义。初始级时成功是依靠出众的个人能力和经验,工作无序,项目进行过程中常常会放弃当初的规划,开发项目的成效也不稳定。团队对于管理无章,缺乏健全的管理制度。

初始级的特点如下:

  • 机构没有明确的管理制度,软件没有稳定的工作环境,制订计划没有有效地执行。

  • 成功比较依赖于个人能力。

  • 在紧急情况下,急于编码和测试。规定的过程无法克服因为缺乏管理而带来的不稳定性。

可重复性

管理制度化,建立了基本的管理制度以及规程,管理工作有章可循。管理人员可以采取一定的措施控制费用和时间,可以及时发现问题并且采取措施,在一定程度上可以重复类似项目的软件开发。

可重复级的特点如下所示:

  • 新的项目可以根据以往类似的项目的经验。

  • 软件的需求和产品的都有基线的控制。

  • 初步实现了标准化,开发工作有了较好的实施标准。

  • 形成了基本的管理制度,管理过程有章可循。

已定义级

在开发的过程中,技术工作以及管理工作开始文档化和标准化。采用了评审的制度保证了软件质量。

已定义级的特点如下所示:

  • 建立了完善的培训制度以及专家评审制度。

  • 全部技术活动和管理活动均可以稳定实施。

  • 项目的质量和费用均得到了控制。

已管理级

已管理级能够制订效率目标并且收集和测试,可以利用统计数据进行相应的改进,对于软件进程以及产品质量有定量的理解和控制。

已管理级的特点如下所示:

  • 已经建立了过程数据库。

  • 实现项目产品和过程的控制。

  • 可以预测过程和产品的质量。

  • 生产过程中的生产效率和质量是可度量的。

优化级

优化级是持续改进软件的过程,效率以及质量都稳步提升。

特点如下所示:

  • 采用较新的技术和方法。

  • 拥有防止出现缺陷的手段。

  • 可以取得过程有效性的统计数据,并且能够对其进行分析,进而取得更好的方法。

研发过程中的工程活动

(1)原始需求分析:真实记录来自客户不同场景下,原汁原味的用户诉求。

(2)需求分析:将产品在不同使用环境下的需求综合整理成对产品的系统需求,并在需求细节上反映客户的期望。

(3)架构设计:给出产品的基本组成结构,使得当前、甚至某些未来的需求能够基于这个结构实现。

(4)系统设计:基于架构设计给出系统结构分解,并使得模块的设计能够独立进行。

(5)模块需求规格分析:给出分配需求的功能分解、分配需求实现的可行性、分配需求之间的功能和数据关联。

(6)模块概要设计:相当于模块的架构设计,内容包括子模块分解、状态机设计、模块全局数据设计等。

(7)模块详细设计:高层设计到函数,并以函数为单位,给出函数的黑盒要求,复杂函数给出设计思路。

(8)编码:准确实现模块详细设计的内容,并保证代码清晰、简洁,使代码具有可测试性、可扩展性。

(9)单元测试:验证模块函数级别的输入输出行为,确保编码活动准确实现模块详细设计。

(10)模块集成测试:从函数开始逐层向上,拼装为一个统一模块,并保证关键分配需求是按概要设计实现。

(11)模块黑盒测试:验证模块的黑盒输入输出行为,确保模块准确实现模块分配需求。

(12)构建块集成测试:从模块开始逐层向上,拼装成一个统一的系统,并确保不同部件之间的接口、状态机能够相互配合。

(13)系统设计验证:验证系统的功能是否实现,并同时开展安装类、调试配置类、告警类、升级指导书、版本说明书等资料的测试,以保证系统功能符合设计要求。

(14)系统集成测试:验证系统非功能特性(如DFX)是否正确实现,确保系统准确实现所有设计需求(含功能和非功能需求)。

(15)系统验收测试:确认产品满足产品包需求中给出的不同应用环境下的需求。

项目经理能力质素

附鹅厂项目管理能力模型
鹅厂-项目类_项目管理-能力模型
附一个项目过程资料,也包含了关键步骤
项目管理


发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注