CMMI之项目规划

news2024/12/28 3:07:01

项目规划(Project Planning)的目的是为项目的研发和管理工作制定合理的行动纲领(即《项目计划》),以便所有相关人员按照该计划有条不紊地开展工作。

为了避免词义混淆,这里把动词Planning译为规划,把名词Plan译为计划(或计划书)。

项目规划过程域是SPP模型的重要组成部分。本规范阐述了项目规划过程域的四个主要规程:

  • 项目估计 [SPP-PROC-PP-ESTIMATE]
  • 制定项目计划 [SPP-PROC-PP-ESTABLISH]
  • 审批项目计划 [SPP-PROC-PP-APPROVE]
  • 项目计划变更控制 [SPP-PROC-PP-CHANGE]

上述每个规程的“目标”、“角色与职责”、“启动准则”、“输入”、“主要步骤”、“输出”、“完成准则”和“度量”均已定义。

本规范适用于国内IT企业的软件研发项目。建议用户根据自身情况(如商业目标、研发实力等)适当地修改本规范,然后推广使用。

5.1 介绍

在立项管理过程域的项目筹备阶段(参见[SPP-PROC-PIM]),机构领导首先任命一位项目经理,之后机构领导协助项目经理筹备项目经费、人力资源、软件硬件资源等。如果必要的资金和资源已经到位,那么项目经理和核心成员即可组成一个项目规划小组,着手制定《项目计划》,并按计划执行研发和管理工作。

项目的计划书可分两类:一是全局的计划书(Overall Plan),这里称为《项目计划》;二是一些下属计划书(Subordinate Plan),例如《配置管理计划》、《质量保证计划》、一些开发计划和测试计划等。

下属计划书是对《项目计划》的补充,其内容不可与《项目计划》冲突。通常《项目计划》由项目经理负责制定,由机构领导审批。而下属计划书一般由项目成员制定,由项目经理审批即可。

项目计划过程域有4个主要规程:“项目估计”、“制定项目计划”、“审批项目计划”和“项目计划变更控制”,流程如图1所示。

一、项目估计

项目估计是否准确将直接影响《项目计划》的有效性。项目估计要尽量做到“知己知彼”。“知彼”是指了解产品的需求,“知己”是指了解本项目的实力(即本项目实际能够拥有的经费、人力资源、软件硬件资源、技术水平等)。项目估计的重点内容是“产品范围估计”、“产品规模估计”、“工作量估计”和“成本估计”等。

        在项目刚开始时,人们对产品需求的了解还比较肤浅,而项目实际能够拥有经费和资源很大程度上是靠项目经理争取的,不确定因素比较多。在这种情况下人们很难作出准确的估计。但是“估计”显然比“不估计”要好,否则《项目计划》就没有依据了。

二、制定项目计划

根据项目估计得到的数据,规划小组制定《项目计划》。《项目计划》的重点内容是“人力资源计划”、“软硬件资源计划”、“开支(财务)计划”、“任务与进度计划”、“下属计划”等。

由于需求开发花费的时间比较长(一般约占整个项目开发周期的20%),人们一般不会等到需求开发完成之后才开始制定《项目计划》。否则在那么长的时间里没有《项目计划》,众人不知如何开展活动,显然有害于项目。所以通常项目规划和需求开发是并行开展的(请参见SPP 模型图)。

三、审批项目计划

规划小组将《项目计划》递交给机构领导审批。如果机构领导批准了《项目计划》,那么该计划书可以正式发布(文件状态为Released),不可以被随便修改。项目的所有成员按照《项目计划》执行研发与管理工作。

四、项目计划变更控制

在项目执行过程中如果发现《项目计划》与实际情况有比较大的偏差,应当及时更新《项目计划》。变更《项目计划》必须按照指定的规程(即变更控制)执行,防止发生混乱。

项目规划过程域产生的主要文档有:

  • 《项目估计表》,模板见 [SPP-TEMP-PP-ESTIMATE]
  • 《项目计划》,模板见 [SPP-TEMP-PP-PLAN]
  • 《项目计划变更控制报告》,模板见 [SPP-TEMP-PP-CONTROL]

5.2 项目估计

5.2.1 目的

  1. 估计项目的范围、产品规模、工作量、成本等,为制定《项目计划》提供依据。

5.2.2 角色与职责

  1. 项目规划小组由项目经理和核心成员组成,所有人员共同参与项目估计。

5.2.3 启动准则

  1. 机构领导已经批准立项。
  2. 项目规划小组已经成立。

5.2.4 输入

  1. 《立项建议书》和一些用户需求文档。
  2. 用于项目估计的一些经验数据。

5.2.5 主要步骤

[Step1] 估计项目范围

        计划小组首先估计本项目的范围,可以用产品的WBS来表示。计划小组根据用户需求,分解产品的功能,制定产品的WBS,如图2所示。由于此处WBS仅用于项目估计而非用于系统设计,其细分程度由计划小组决定。

 

[Step2] 估计产品规模

  1. 产品规模的主要度量单位有:
    • 代码
    • 类(对象)个数
    • 文档页数
  2. 产品规模估计方法如下:
  1. 规划小组各成员根据产品的WBS,独立地估计产品的规模,填写“产品规模估计表格”(如表5-1所示)。
  2. 汇总每个成员的“产品规模估计表格”,进行对比分析。如果各人估计的差额小于10%,则取平均值。如果差额大于10%,则转向第I.,规划小组各成员重新估计产品的规模,直到各人估计的差额小于10%为止。

 

[Step3] 估计工作量

  1. 项目的工作量是“项目研发工作量”、“项目管理工作量”、“机构支撑工作量”三者之和。工作量的度量单位可以是“人小时”、“人天”、“人月”或“人年”。注意单位换算:
  • 1人年 = 12人月
  • 1人月 ≈ 22人天
  • 1人天 = 8 人小时
  1. 工作量估计方法如下:
  1. 规划小组各成员根据[Step2]产生的产品规模估计表,独立地估计工作量,填写“工作量估计表格”(如表5-2所示)。
  2. 汇总每个成员的“工作量估计表格”,进行对比分析。如果各人估计的差额小于10%,则取平均值。如果差额大于10%,则转向第I.,规划小组各成员重新估计工作量,直到各人估计的差额小于10%为止。

 

[Step4] 估计成本

  1. 规划小组估计人力资源成本、软硬件资源成本、商务活动成本等。

5.2.6 输出

  1. 《项目估计表》

5.2.7 结束准则

  1. 规划小组已经按照本规程进行了项目估计,并产生了《项目估计表》。

5.2.8 度量

  1. 项目经理记录本规程产生的所有估计数据。

5.3 制定项目计划

5.3.1 目的

  1. 根据项目估计产生的数据,制定《项目计划》。

5.3.2 角色与职责

  1. 项目规划小组由项目经理和核心成员组成,所有人员共同制定《项目计划》。

5.3.3 启动准则

  1. 项目估计已经完成。

5.3.4 输入

  1. 《立项建议书》和一些用户需求文档
  2. “项目估计表”

5.3.5 主要步骤

[Step1] 确定目标与范围

  1. 规划小组首先确定本项目的目标与工作范围。目标必须是“可实现的”和“可验证的”。工作范围包括“做什么”和“不做什么”。

[Step2] 确定过程模型

  1. 规划小组根据项目的特征,确定过程模型,包括项目研发过程、项目管理过程、机构支撑过程等。例如裁剪SPP模型。
  2. 规划小组确定(描述)过程模型中采用的方法与工具。例如采用Rational Rose进行面向对象分析与设计,采用Visual SourceSafe进行配置管理,采用Microsoft Office制作文档等等。

[Step3] 制定人力资源计划

  1. 规划小组制定本项目的角色职责表,并为已知的项目成员分配角色(一个人可以兼多个角色),如表5-3所示。

[Step4] 制定软硬件资源计划

  1. 规划小组分析项目开发、测试以及用户使用产品所需的软硬件资源,制定软硬件资源计划,如表5-4所示。主要内容包括:
  • 资源级别(分为“关键”、“普通”两种)
  • 详细配置
  • 获取方式(如“已经存在”、“可以借用”或“需要购买”等)与获取时间
  • 用途(如“谁”在“什么”时候使用)

[Step5] 制定财务计划

  1. 规划小组制定财务计划,如表5-5所示。

[Step6] 分配任务并制定进度表

  1. 规划小组分配任务并制定进度表,建议采用Microsoft Project制作Gantt 图,附在《项目计划》中。

[Step7] 确定下属计划

  1. 规划小组确定本《项目计划》主要的下属计划,如表5-6所示。

 

5.3.6 输出

  1. 《项目计划》

5.3.7 结束准则

  1. 规划小组已经按照指定的模版撰写了《项目计划》,并做了内部审查(消除拼写、排版等错误)。

5.3.8 度量

  1. 项目经理统计工作量以及文档规模。

5.4 审批项目计划

5.4.1 目的

  1. 机构领导审批《项目计划》,确保该计划是合理的、符合机构现实的。

5.4.2 角色与职责

  1. 机构领导审批《项目计划》。
  2. 如果《项目计划》有不合理之处,规划小组应根据机构领导的意见修正《项目计划》。

5.4.3 启动准则

  1. 规划小组已经制定了《项目计划》。

5.4.4 输入

  1. 《项目计划》

5.4.5 主要步骤

[Step1] 申请审批

  1. 项目经理将《项目计划》提交给机构领导,申请审批。申请书可以采用电子邮件或书面报告等形式。

补充说明:如果是合同项目,可能还要请客户审批,视具体情况而定。

[Step2] 审批与修正

  1. 机构领导根据“项目计划检查表”认真审批《项目计划》。
  1. 如果《项目计划》有不合理之处,规划小组应根据机构领导的意见及时修正《项目计划》。

[Step3] 批准生效

  1. 机构领导签字批准后,该《项目计划》正式生效,此后规划小组不能随意修改《项目计划》。

5.4.6 输出

  1. 机构领导的审批意见(见 《项目计划》的附录)。
  2. 按评审意见修正后的《项目计划》。

5.4.7 结束准则

  1. 机构领导签字批准了该《项目计划》。

5.4.8 度量

  1. 项目经理统计工作量。

5.5 项目计划变更控制

5.5.1 目的

  1. 修改原《项目计划》中不合理的内容,产生新的《项目计划》。
  2. 控制《项目计划》的变更,防止发生混乱。

5.5.2 角色与职责

  1. 机构领导审批变更申请。
  2. 项目经理更新《项目计划》。

5.5.3 启动准则

若下列之一发生,应当变更原《项目计划》:

  1. 进度偏差超过了容许的误差,如20%;
  2. 费用偏差超过了容许的误差,如20%;
  3. 项目过程模型发生了显著的变化;
  4. 用户需求发生了重大的变化;
  1. 发生了对项目小组而言不可抗拒的变化,例如公司裁员、机构调整、产品发展战略调整等。

5.5.4 输入

  1. 原《项目计划》

5.5.5 主要步骤

[Step1] 变更申请

  1. 项目经理向机构领导申请变更《项目计划》。变更申请书中应当说明:
  • 变更原因
  • 变更的内容
  • 此变更对项目造成的影响

补充说明:如果是合同项目,可能还要向客户提出变更申请,视具体情况而定。

[Step2] 审批变更申请

  1. 机构领导审批变更申请:
  • 如果不同意变更,则退回变更请求,项目按照原计划执行。
  • 如果同意变更,转向 [Step3]

[Step3] 修改项目计划

  1. 项目经理修改原《项目计划》,产生新的《项目计划》。

[Step4] 审批新的项目计划

  1. 机构领导审批新的《项目计划》,参见规程 [SPP-PROC-PP-APPROVE]。

5.4.6 输出

  1. 《项目计划变更控制报告》
  2. 新的《项目计划书》

5.4.7 结束准则

  1. 变更申请以及新的《项目计划》都得到了机构领导的批准。

5.4.8 度量

  1. 项目经理统计工作量。

5.5 实施建议

  1. 对项目规划过程域产生的所有有价值的文档进行配置管理。
  2. 《项目计划》被机构领导批准之后,有关人员即可撰写下属计划如《配置管理计划》、《质量保证计划》、一些开发计划和测试计划等。
  3. 选用合适的软件工具,尽量减少项目规划过程域的工作量。
  4. 对于客户委托开发的项目,客户在项目规划过程域的介入程度视具体情况而定。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/126033.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

用 Python 写一个经典飞机大战

当年微信 5.0 发布时,首页被设置成了一款新推出的小游戏,它就是微信版飞机大战,游戏一经推出便是火爆异常,铅笔画风格的游戏界面也受到了很多人的喜欢。 最近重温了一下这款小游戏,尽管时隔多年,但无论是游…

双向循环神经网络(隐马尔可夫模型)

在双向循环神经网络中,每个时间步的隐状态由当前时间步的前后数据同时决定。 双向循环神经网络与概率图模型中的“前向-后向”算法具有相似性。 双向循环神经网络主要用于序列编码和给定双向上下文的观测估计。 由于梯度链更长,因此双向循环神经网络的…

网站Nginx服务安装https免费证书配置一条龙流程

搜索小程序 成语典故查询 Let’s Encrypt 安装https免费证书配置 1.http 是一个传输网页内容的协议,比如你看到的 http 开头的网站 www.163.com,其网页上的文字、图片、 CSS 、 JS 等文件都是通过 http 协议传输到我们的浏览器,然后被我们看到。 而 …

生物药、创新药、仿制药新项目立项调研、评估的重要手段

当前,随着我国制药行业与国际的高速接轨,研发和产业环境也迎来了崭新的局面。制药企业的核心竞争力是研发,而研发中的立项是直接影响新药开发成功与否的关键因素,那么如何有效的规避开发的风险,立项论证显得极其重要,也是每个医药…

车道线标注案例分析

车道线标注属性细分规则确认点 常见车道线的标注分类属性包括5个维度:颜色、线型、线数、车道、职能 颜色标签:如白色、黄色、蓝色、橙色、黄白色等 线型标签:如实线、虚线、锯齿线等 线数标签:单线、双线,特殊情况…

【高阶数据结构】二叉树的非递归遍历

🌈欢迎来到数据结构专栏~~二叉树的非递归遍历 (꒪ꇴ꒪(꒪ꇴ꒪ )🐣,我是Scort目前状态:大三非科班啃C中🌍博客主页:张小姐的猫~江湖背景快上车🚘,握好方向盘跟我有一起打天下嘞!送给自…

大型家政服务平台带小程序端源码 家政服务小程序源码

1. 开发语言:PHP 2. 数据库:MySQL 3.小程序端:Uniapp 4. 带调试视频 5. 可付费调试运行服务 后台功能: 首页、服务管理、商品管理、订单管理、社区管理、城市代理/运营、 营销活动、会员管理、师傅管理、商家/门店、财务管理、合…

警惕!不要让自己的基本功丢失

写这篇文章的缘由是来自己最近我作为面试官的一场面试,我司是。Net stack,这场面试的岗位是后端高级开发。候选人是一个 12 年工作经验的候选人,简历看起来很 nice,国内某 TOP 高校 cs 专业本科毕业,有在大厂甲方外企的…

浙大MBA的录取由初试和复试两面组成

今年7月收到了来自浙大的录取通知书,在拿到录取通知书的那一刻,觉得这一年多备考的艰辛都是值得的。 关于本人情况:2021年备考,刚到而立之年,2012年毕业于一所普通的本科院校,在校期间成绩倒是还好&am…

Vue3 中选项式下的侦听器

目录前言:watch 侦听的分类:函数式的侦听器对象式侦听器创建侦听器停止侦听器总结:前言: 今天小编给大家讲解一下,Vue3 中选项式下的侦听器。 我正在参加 2022年「博客之星」年度总评选,请大家帮我支持一下…

【服务器数据恢复】XFS文件系统分区丢失怎么恢复数据?

服务器数据恢复环境: 磁盘柜RAID卡搭建riad5磁盘阵列; Linux操作系统; 总共一个LUN,划分两个分区;:sdc1分区通过LVM扩容的方式加入到了root_lv中,sdc2分区格式化为XFS文件系统。 服务器故障: 用户为服务器…

本科生学深度学习一轻松搭建强化学习环境,gym的安装

OpenAI Gym 是一个工具包,提供了广泛的模拟环境,也是强化学习的环境,因为想学强化学习,所以需要搭建一个环境,之前一直在代码层面,还是得能看到,比较直观 今天看下怎么安装这个环境 1、官方网站…

【mybatis-plus】Springboot+AOP+自定义注解实现多数据源操作(数据源信息存在数据库)

背景 本文主要讲述的是如何实现动态切换数据源,数据源信息是存储在数据库表里,与在配置文件中写好数据库信息然后用DS("XX")注解不同。 目录 前言 一、准备工作 1.依赖 2.数据库表(脚本) 3.配置文件 4.自定义注解C…

【MySQL基础教程】约束的介绍与使用

前言 本文为 【MySQL基础教程】约束 相关知识,下边将对约束概述,约束演示,外键约束(包括:外键约束介绍、外键约束语法)等内容进行详尽介绍~ 📌博主主页:小新要变强 的主页 &#x1…

只懂黑盒测试也能学会的代码覆盖率及精准化测试

测试覆盖率是对测试完成程度的度量。它通常依据某种覆盖准则来对测试用例执行情况进行衡量,以判断测试执行得是否充分 。 ——出自《 计算机科学技术名词 》第三版 今天文章中我们给大家介绍覆盖率统计及覆盖率分析。在10月13日20:00,资深测…

Vue_cli中config文件配置详细注解

我在scr同级目录下创建了config文件夹,里边包含三个文件 它们3个有引用关系 dev引用prod prod.env.js文件 /* * process.argv.splice(2)[0]返回的是node.js的绝对路径 * /usr/local/bin/node */ let HOST process.argv.splice(2)[0] || prod module.exports {NO…

项目实战之旅游网(十)前台用户注册

目录 一.网站首页 二.编写注册界面 三.生成验证码 四.注册流程 五.编写注册方法 六.发送邮件配置 一.网站首页 static/frontdesk下存放前台静态资源,而templates/frontdesk是前台页面 二.编写注册界面 在上个界面点击注册就可以跳转到注册界面 在这里遇到一…

2022 年上海市大学生程序设计竞赛 M. My University Is Better Than Yours

大家总喜欢搞些什么排行榜。有一说一,排行榜通常不重要,除非——比如你老板要你做一下年终总 结。 为了实现建设世界一流大学和建设世界一流学科的目标,不少大学都用各种方式提升排名:发表论文、 申请基金、提升多样性. . . 不过…

Linux操作系统实验4——内存映射

实验要求: 1.在源码中查看file_operations和vm_operations_struct结构定义及其操作对象的方法,重点查看mmap方法fault方法的参选类型。 2.设备模块代码的编写和调试,重新编写file_operations结构中的mmap方法,和vm_operations_str…

美团一面:能不能通俗的解释下为什么要有意向锁这个东西?

面试真题,用通俗的例子解释清楚 MySQL 为什么有了表锁和行锁之后,还要引入意向锁 众所周知,InnoDB 中既有读锁也有写锁,也称为共享锁和排他锁,这两种锁既可以加在整张表上,也可以加在行上。 MySQL 自身就提…