CMMI-立项管理流程
立项管理(Project Initialization Management, PIM)的目的是:(1)采纳符合机构最大利益的立项建议,通过立项管理使该建议成为正式的项目(即合法化)。(2)杜绝不符合机构最大利益的立项建议被采纳,避免浪费机构的人力资源、资金、时间等。
立项管理是决策行为,其目标是“做正确的事情”(do right things)。而立项之后的研发活动和管理活动的目标是“正确地做事情”(do things right)。只有“正确的决策”加上“正确地执行”才可能产生优秀的产品。
立项管理过程域是SPP模型的重要组成部分。本规范阐述了立项管理过程域的三个主要规程:
- 立项建议 [SPP-PROC-PIM-PROPOSAL]
- 立项评审 [SPP-PROC-PIM-REVIEW]
- 项目筹备 [SPP-PROC-PIM-PREPARE]
上述每个规程的“目标”、“角色与职责”、“启动准则”、“输入”、“主要步骤”、“输出”、“完成准则”和“度量”均已定义。
本规范适用于国内IT企业的软件研发项目。建议用户根据自身情况(如商业目标、研发实力等)适当地修改本规范,然后推广使用。
3.1 介绍
立项管理流程分三个阶段:“立项建议阶段”、“立项评审阶段”和“项目筹备阶段”,如图1所示。
一、立项建议阶段
立项建议小组应反复地进行立项调查、产品构思和可行性分析。在深思熟虑之后,立项建议小组撰写《立项建议书》,并申请立项。
要注意的是,由于立项调查和可行性分析通常比较费时费力,往往被人忽视。而草率撰写的《立项建议书》会有比较多的主观臆断,这对项目是有危害的。产品构思通常不可能快速完成,切不可闭门造车。深入地进行立项调查与可行性分析不仅对产品构思有帮助,而且对立项评审也有帮助。
二、立项评审阶段
机构领导组织一个评审委员会进行立项评审。评审委员会根据《立项建议书》、《立项调查报告》、《立项可行性分析报告》以及立项建议小组的答辩,投票决定是否同意立项(按少数服从多数原则)。评审委员会应根据机构的实际情况(发展战略、资金、人力资源等),对《立项建议书》提出改进意见。
机构领导对立项具有最终审批权。如果机构领导赞同评审委员会的决策,那么他们将共同分担决策责任。如果机构领导行使“一票否决权”,那么他将对该决策负全部责任。
三、项目筹备阶段
机构领导任命一位项目经理。通常情况下,立项建议小组的负责人将被任命为项目经理,这样有利于激发员工的工作热情。但是如果此人不适合于任项目经理,那么机构领导应该另外任命一位合适的项目经理。
项目经理被任命之后,机构领导协助项目经理获取项目经费、人力资源、软硬件资源等。要注意的是,如果项目所需的资金和资源难以按时到位,此时项目经理不可老在等待或只是抱怨,应当主动设法克服困难,尽早行动起来。很多时候,资金和资源是争取来的,而不是等来的。
如果必要的资金和资源已经到位,项目经理和项目核心成员根据实际情况撰写《项目计划》,执行项目研发和管理工作。
图3-1 立项管理流程
立项管理过程域产生的主要文档有:
- 《立项调查报告》,模板见 [SPP-TEMP-PIM-SURVEY]。
- 《立项可行性分析报告》,模板见 [SPP-TEMP-PIM-FEASIBILITY]。
- 《立项建议书》,模板见 [SPP-TEMP-PIM-PROPOSAL]。
- 《立项评审报告》,模板见 [SPP-TEMP-PIM-REVIEW]。
3.2 立项建议
3.2.1 目的
- 立项建议小组充分地进行立项调查、产品构思和可行性分析,撰写相应文档并申请立项。
3.2.2 角色与职责
- 立项建议小组一般由产品创作者(构思者)和市场人员组成。该小组开展立项调查、产品构思、可行性分析等活动,在深思熟虑之后撰写《立项建议书》、《立项调查报告》和《立项可行性分析报告》并申请立项。
3.2.3 启动准则
- 立项建议小组已经成立。
3.2.4 输入
- 与目标产品有关的任何信息
3.2.5 主要步骤
[Step1] 立项调查
- 立项建议小组开展立项调查,主要工作包括:
- 市场调查
- 政策调查
- 同类产品调查
- 竞争对手调查
- 用户调查
- 其他相关的调查
- 立项调查应当遵循以下原则:
- 调查者应当客观地对待被调查的事物,不可有意往“好处”或者“坏处”写。
- 调查报告中的数据、图表要真实并且有据可查,不可凭空捏造。
- 调查报告应通俗易懂,不可写成学术性的文章。
[Step2] 产品构思
- 立项建议小组进行产品构思,主要内容包括:
- 待开发产品的主要功能
- 待开发产品的技术方案
- Make-or-Buy决策(确定哪些产品部件应当采购、外包开发或者自主研发。)
- 开发计划
- 市场营销计划
- 其他相关的计划
[Step3] 可行性分析
- 立项建议小组开展可行性分析,主要内容包括:
- 市场可行性分析
- 政策可行性分析
- 竞争实力分析
- 技术可行性分析
- 时间和资源可行性分析
- 知识产权分析
- 其他相关的可行性分析
- 可行性分析必须为决策提供有价值的依据和论断,既不能以偏概全,又不能对任何细节都加以权衡(否则会让阅读者迷失主题)。
[Step4] 撰写并完善立项建议相关文档
- 在进行了充分的立项调查、产品构思和可行性分析之后,立项建议小组撰写并完善《立项建议书》、《立项调查报告》、《立项可行性分析报告》以及相关文档。
[Step5] 申请立项
- 立项建议小组向机构领导递交《立项建议书》、《立项调查报告》、《立项可行性分析报告》以及相关材料,申请立项。
3.2.6 输出
- 《立项建议书》、《立项调查报告》、《立项可行性分析报告》以及相关文档。
3.2.7 结束准则
- 立项建议小组按照指定的模版撰写了《立项建议书》、《立项调查报告》和《立项可行性分析报告》,并做了内部审查(消除拼写、排版等错误)。
3.2.8 度量
- 立项建议小组统计工作量和上述文档的规模,将来汇报给项目经理。
3.3 立项评审
3.3.1 目的
- 机构领导组织立项评审委员会,对《项目建议书》进行评审,决定是否同意立项。
3.3.2 角色与职责
- 机构领导根据项目的特征组织立项评审委员会,并确定一位主席。主席应当具备比较丰富的评审经验,能够控制评审会议的进程。主席除了主持评审会议之外,还要负责撰写《立项评审报告》。
- 一般地,立项评审委员会由机构领导、各级经理、市场人员、技术专家、财务人员等组成。委员会按少数服从多数原则投票决定是否同意立项(此时机构领导只是一名委员,不具有一票否决权)。
- 立项建议小组陈述《立项建议书》的主要内容,并答复评审委员会的问题。
- 评审会议的记录员可以任意指定。记录员记录评审会议中的一些重要问答。
- 立项评审委员会决议之后,机构领导作最终审批(此时机构领导具有一票否决权)。
3.3.3 启动准则
- 立项建议小组已经申请立项,机构领导同意进行立项评审。
3.3.4 输入
- 《立项建议书》、《立项调查报告》、《立项可行性分析报告》以及相关材料。
3.3.5 主要步骤
[Step1] 准备
- 机构领导根据项目特征组织立项评审委员会,并确定一位主席。
- 主席确定评审会议的时间、地点、设备和参加会议的人员名单(包括评委、记录员、立项建议小组、旁听者等),并通知所有相关人员。
- 主席将《立项建议书》、《立项调查报告》、《立项可行性分析报告》以及相关材料发给所有评委。各评委必须在举行评审会议之前阅读完上述材料,并及时与立项建议小组交流。
[Step2] 举行评审会议
- [Step2.1] 主席宣讲本次评审会议的议程、重点、原则、时间限制等。
- [Step2.2] 立项建议小组陈述《立项建议书》的主要内容。
- [Step2.3] 答辩
- 评审委员会提出疑问,立项建议小组解答。双方应当对有争议的内容达成一致的处理意见。
- 记录员记录答辩过程的重要内容(问题、结论、建议等)。
- [Step2.4] 评估
- 立项建议小组退席。
- 评审委员会根据“立项评审检查表”认真地评估该项目。
- [Step2.5] 会议结束决议
- 评审委员会给出评审结论和意见:
- 如果半数以上的评委反对立项,则评审结论为“不同意立项”。
- 如果半数以上的评委赞同立项,则评审结论为“同意立项”。
- 主席撰写《立项评审报告》并递交给机构领导,本次评审会议结束。
[Step3] 机构领导终审
- 机构领导在《立项评审报告》中签注最终审批结论和意见:
- 如果机构领导的终审结论与评审委员会的结论“一致”,则机构领导和评审委员会共同分担立项评审工作的责任。
- 如果机构领导的终审结论与评审委员会的结论“相反”,机构领导可以行使“一票否决权”,则机构领导应当对立项评审工作负全部责任。
[后续活动]
- 立项建议小组根据立项评审委员会和机构领导的意见修正《立项建议书》。
3.3.6 输出
- 《立项评审报告》
3.3.7 结束准则
- 评审委员会和机构领导已经在《立项评审报告》中签注结论和意见。
3.3.8 度量
- 评审委员会统计工作量和上述文档的规模,将来汇报给项目经理。
3.4 项目筹备
3.4.1 目的
- 机构领导任命一位合适的项目经理,并协助项目经理获取经费、人力资源、软件硬件资源等,以便顺利启动项目。
3.4.2 角色与职责
- 机构领导任命一位合适的项目经理,并协助项目经理获取经费、人力资源、软件硬件资源等。
- 项目经理组建团队,开始执行项目研发和管理工作。
3.4.3 启动准则
- 机构领导已经批准立项。
3.4.4 输入
- 评审、修正后的《立项建议书》
3.4.5 主要步骤
[Step1] 任命项目经理
- 机构领导参考立项建议小组和评审委员会的意见,任命一位合适的项目经理。
[Step2] 获取经费与资源
- 由于机构的资金和资源是有限的,机构可能难以完全按照《立项建议书》的要求给项目分配充足的资金和资源。机构领导和项目经理应当设法和财务部门、人力资源部门协商,尽可能为项目争取必要(充分)的资金和资源。
[后续活动]
- 如果必要的资金和资源已经到位,项目经理和核心成员根据实际情况撰写《项目计划》,开始执行研发和管理工作。详见SPP 的项目计划过程域[SPP-PROC-PP]和需求开发过程域[SPP-PROC-RD]。
3.4.6 输出
- 项目经理使用经费和资源的凭证,例如经费本等。
3.4.7 结束准则
- 项目经理已经被任命,必要的资金和资源已经到位。
3.4.8 度量
- 项目经理统计工作量。
3.5 实施建议
- 对立项管理过程域产生的所有有价值的文档如《立项建议书》、《立项调查报告》、《立项可行性分析报告》、《立项评审报告》进行配置管理。
- 做好必要的保密工作。
- 由于每个项目都要占用机构的资金和资源,立项评审一定要严格。建议对机构高层管理人员进行必要的立项管理培训。
- 对于客户委托开发的项目,立项建议工作可以适当地简化。
相关文章:
CMMI-立项管理流程
立项管理(Project Initialization Management, PIM)的目的是:(1)采纳符合机构最大利益的立项建议,通过立项管理使该建议成为正式的项目(即合法化)。(2)杜绝不…...
看《狂飙》读人生,致敬2023!
作为2023年的第一篇博文,我不想写代码,我想谈谈最近看的《狂飙》,总结了十条哲理,共勉。希望我们的2023,未来的人生会更加出彩。 01 你以为很好的关系,其实也就那么回事。 陈金默以为高启强对他很好&…...
Web自动化测试——Junit5篇
文章目录一、相关依赖注入二、注解调用三、断言 Assert四、规定用例执行顺序五、高效参数化1)单参数2)多参数3)文件获取参数4)方法获取数据(动态参数)六、测试套件整活Junit 是一个面向 Java 语言的单元测试…...
Seata源码学习(二)-源码入口
Seata源码剖析-源码入口 Seata客户端启动 首先一个Seata的客户端启动一般分为几个流程: 自动加载各种Bean及配置信息初始化TM初始化RM(具体服务)初始化分布式事务客户端完成,代理数据源连接TC(Seata服务端ÿ…...
2023如何选购适合游戏设计的电脑硬件
游戏设计涉及许多不同的学科,因此涉及许多不同的软件包。有游戏引擎本身,例如 Unreal Engine 和 Unity,以及 3D 设计软件,例如 3ds Max、Blender 和 ZBrush——等等!大多数软件开发人员都维护着这些不同应用程序的系统…...
springboot maven项目集成阿里p3c-pmd插件使用
阿里巴巴规约使用的是pmd代码静态分析工具,通过maven-pmd-plugin这个maven插件实现。 pom文件引入 <!-- 阿里p3c插件 --> <plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-pmd-plugin</artifactId><…...
PowerJob的server启动都经历了哪些?代码不多也很简单,咱们来逐一理解。
这是一篇让你受益匪浅的文章,点个关注交流一下吧~ PowerJob如何使用,官方文档已经说的很详细了,即使没学过计算机的人,按照那上面的步骤来也是可以搭建出一个可以使用的例子来,所以今天就不在这里重复前人的工作&#…...
分享好玩的h5小游戏制作步骤_怎么做h5微信小游戏
近年来,市面上一直流行各种h5游戏,例如投票、答题、刮刮乐、大转盘等等等等,而且我在各种营销场景下经常看到它们的身影,是做促销,引流和宣传的神器之一!那么,怎么做好玩的h5游戏?还…...
代理模式--设计模式
为什么要学习代理模式? 因为这是SpringAOP的底层! 1、定义: 在不改变源码的情况下,实现对目标对象的功能扩展 根据代理类的生成时间不同可以将代理分为静态代理和动态代理两种 静态代理 角色分析 抽象角色:一般会…...
【RSTP的原理和配置】
一、RSTP 概述 RSTP使用了IEEE 802.1W协议,视为STP的改进版本,收敛速度快,兼容STP。 RSTP可以兼容STP,但是会丧失快速收敛等优势; 1、RSTP对STP的改进; 1.1、端口角色的增补、简化了生成树协议的理解及部…...
Doom流量回放工具导致的测试环境服务接口无响应的排查过程
Doom流量回放工具导致的测试环境服务接口无响应的排查过程 现象描述: a)部分接口(A组接口)无响应 b)部分接口(B组接口)正常响应 c)还有一部分接口(C组接口),场景1无响应,场景2正常响…...
2023年留学基金委(CSC)西部/地方合作项目选派办法及解读
2023年2月13日国家留学基金委(CSC)官方网站发布了2023年西部地区人才培养特别项目、地方合作项目通知。知识人网小编现将其选派工作流程及选派办法原文转载并加以解读、提出建议。知识人网建议1. 邀请函是公派申请的必备条件。对于外语语言证明未达标者&…...
ILSSI国际研讨会将为您呈现六西格玛技术的未来与前景
ILSSI 欢迎世界各地的精益六西格玛专业人士参加即将举行的2023年国际精益六西格玛研讨会,这次研讨会将邀请到世界各地的专家学者,分享他们的专业知识和经验,并就精益六西格玛等相关议题进行探讨和交流。 这是一个绝佳的机会,让您…...
KDJ日周月金叉共振指标
昨天介绍了MACD多周期共振指标公式,KDJ通过类似的写法,也可以共振。本文介绍的KDJ日周月金叉共振指标包含日周金叉共振、日月金叉共振、周月金叉共振、日周月金叉共振四种类型。 需要注意的问题依然是周、月金叉的信号漂移,接近周末月末的信…...
线程私有变量ThreadLocal详解
本文已收录至Github,推荐阅读 👉 Java随想录 烈火试真金,逆境试强者。——塞内加 文章目录什么是ThreadLocalThreadLocal 原理set()方法get()方法remove()方法ThreadLocal 的Hash算法ThreadLocal 1.7和1.8的区别ThreadLocal 的问题ThreadLoca…...
如何保证数据库和缓存双写一致性
前言 数据库和缓存(比如:redis)双写数据一致性问题,是一个跟开发语言无关的公共问题。尤其在高并发的场景下,这个问题变得更加严重。 我很负责的告诉大家,该问题无论在面试,还是工作中遇到的概率非常大,所以非常有必要跟大家一起探讨一下。 今天这篇文章我会从浅入深,…...
一文搞懂:JS严格模式“use strict”
什么是JS的严格模式 JS严格模式概念是在ES5中引入的,在此模式下,JS对语法的要求会变的严格,某些不太严谨的代码在严格模式下将不能运行。 如何启用严格模式 只需要JS代码的起始添加 "use strict"即可。如: "use…...
Linux的ACL(扩展权限)规划:setfacl、getfacl
目录 什么是ACL与如何支持启动ACL ACL设置技巧:getfacl、setfacl getfacl命令用法 setfacl命令用法 最简单的【u:账号:权限】设置 使用默认权限设置目录未来文件的ACL权限继承 什么是ACL与如何支持启动ACL ACL是Access Control List的…...
HTML预格式化文本pre标签
文章目录参考white-spaceword-breakfont-family参考 https://blog.csdn.net/weixin_44368963/article/details/120054949 https://www.zhangxinxu.com/wordpress/2017/03/css-font-family-chinese-english/ pre 元素可定义预格式化的文本。被包围在 pre 元素中的文本通常会保留…...
基于机器学习的心脏病预测方法(11)——梯度提升机(GBM)
一、梯度提升机介绍 GBM(Gradient Boosting Machine)算法是Boosting(提升)算法的一种。主要思想是,串行地生成多个弱学习器,每个弱学习器的目标是拟合先前累加模型的损失函数的负梯度, 使加上该弱学习器后的累积模型损失往负梯度的方向减少。 且它用不同的权重将基学习器…...
Linux多版本python切换以及多版本pip对应 (cloud studio Ubuntu16.04)
linux && cloud studio && Ubuntu16.04 简单解决多版本python切换以及多版本pip对应问题 1.python2切换成python 多版本python: 更改前先查看版本号 $ python -V Python 2.7.12 $ python2 -V Python 2.7.12 $ python3 -V Python 3.5.2 通过下面的命令看到py…...
【并发编程】LockSupport源码详解
目录 一、前言 1.1 简介 1.2 为什么说LockSupport是Java并发的基石? 二、LockSupport的用途 2.1 LockSupport的主要方法 2.2 使用案例 2.3 总结 三、LockSupport 源码分析 3.1 学习原理前的前置知识 3.1.1 Unsafe.park()和Unsafe.unpark() 3.1.2wait和notify/notify…...
元宇宙之声:新鸿基公司
在本期节目中,新鸿基团队讲述了他们在农历新年季中展示的元宇宙最新创作! 为什么将体验命名为「乘风启航」?什么是 「Scallywag」? 香港专业离岸帆船队新鸿基 Scallywag 队由新鸿基公司赞助,其团队精神与公司的精神相呼…...
Linux中定时监控Tomcat服务器进程并在进程结束时重启Tomcat服务器
目录一、问题二、解决方法1、创建定时任务文件2、修改Tomcat的部分文件3、添加系统的定时调度4、执行monitor.sh文件5、查看脚本执行的日志文件一、问题 当我们的Tomcat配置完成后投入使用后,在用户使用一定时间后,Tomcat可能会出现一些问题导致进程结束…...
快速部署私有云笔记,免费享受多端同步
一、老Q笔记之一路坎坷 市面上的笔记软件非常多,有些是本地编辑功能特别强大但是不支持云同步,有些是支持上云但是编辑功能不够完善。选择一款合适的云笔记软件,无疑能让我们工、学习的时候更加顺心、顺手。 这么多年来老Q使用过很多云笔记…...
python生成 2048位随机质数 Miller-Rabin质数测试算法
Miller-Rabin质数测试算法是一种基于随机化的算法,用于判断一个数是否为质数。该算法具有高效性和强健性,通常被用于加密算法中生成大素数。 该算法基于以下两个事实:对于质数ppp和任意整数aaa,有ap−1≡1(modp)a^{p-1} \equiv 1…...
♡ — MySQL 查询缓存
MySQL 查询缓存 执行查询语句的时候,会先查询缓存。MySQL 8.0 版本后移除,因为这个功能不太实用。 my.cnf 加入以下配置,重启 MySQL 开启查询缓存: query_cache_type1 query_cache_size600000MySQL 执行以下命令也可以开启查询缓…...
死锁检测组件 -- 使用hook检测死锁
目录 hook hook是什么 dlsym()函数 hook的实现步骤 加入hook的demo C/CLinux服务器开发/后台架构师【零声教育】-学习视频教程-腾讯课堂 hook hook可以把系统或第三方库提供的函数,替换成我们写的同名函数。会调用我们实现的函数。 hook是什么 hook提供了两…...
第2集丨Java中的数据类型汇总
目录一、数据类型分类二、基本数据类型取值范围数据类型的转换byte和char的关系三、包装类一、数据类型分类 二、基本数据类型 取值范围 比特(bit位) : 数据运算得最小存储单位字节(byte) : 数据最小存储单位bit和byte可以互相转换得,1 byte 8 bit位默认情况下&am…...
【基础篇】7 # 队列:队列在线程池等有限资源池中的应用
说明 【数据结构与算法之美】专栏学习笔记 什么是队列? 队列是一种操作受限的线性表数据结构,特点是先进先出,最基本的操作有:入队 enqueue(),放一个数据到队列尾部;出队 dequeue(),从队列头…...
java网站开发的底层语言是/网站推广方法大全
一、DataTable.AcceptChanges()方法 提交自上次调用AcceptChanges()方法以来对该表进行的所有更改。调用AcceptChanges()时,任何扔处于编辑模式的DataRow对象将成功结束其编辑。DataRowState也会随之更改:所有状态为Added何Modified的行的状态都变为Unch…...
哪里有做网站公司/seo怎么学
爱情没有如果很多人喜欢给爱情做假设。 他说,如果你可以温柔点,我可以更爱你,不会轻易放弃你。 她说,如果你可以体贴点,我可以更珍惜你,我也不会离开你。 但,终究在一个时间的定格中交错走开。 …...
南阳网站建设大旗电商/宁波企业网站seo
为了保证的可读性,本文采用意译而非直译。想阅读更多优质文章请猛戳GitHub博客,一年百来篇优质文章等着你!注意:自己尝试的时候,Mac(17, pro) 与原文提供的快捷键盘不太一样,mac 对应的 Ctrl 要换成 command做为前端开…...
老师用什么网站做ppt/seo快速推广窍门大公开
高中信息技术:信息技术教学论 高中信息技术教师资格考试 第八章 信息技术教学论 一、教学目标 1、三个维度 知识与技能目标:学会,重在知识 过程与方法目标:会学,重在方法 情感态度与价值观目标:乐学&#…...
河南省建设厅官方网站/松松软文
对于大多数的web页面,我们一般都是使用如下两种编码:UTF-8、GB2312。所以我们只需要同意页面和js编码就可以解决乱码问题: 对于GBK页面引用编码为UTF-8编码的JavaScript文件如果出现乱码问题,可以使用下面的代码来解决 代码如下:&…...
wordpress添加html代码/外包推广服务
一.HTTP请求/响应 的抓包结果分析 以下是点击浏览器程序的请求 1.首行: [方法] [url] [版本] 2.Header: 请求的属性, 冒号分割的键值对;每组属性之间使用\n分隔;遇到空行表示Header部 分结束 3.空行 3.Body: 空行后面的内容都是Body. Body允许为空字符串. 如果Body存在, 则在…...