什么是项目管理
项目是为创造独特的产品、服务或成果而进行的临时性工作。项目是无处不在的,比如举办一次奥运会开幕式,修建一栋大楼,进行一次房屋装修,开发一款新手机,管理一次产品发布等。项目具有以下主要特征:
(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)系统验收测试:确认产品满足产品包需求中给出的不同应用环境下的需求。
项目经理能力质素
附鹅厂项目管理能力模型
鹅厂-项目类_项目管理-能力模型
附一个项目过程资料,也包含了关键步骤
项目管理