IPD流程中的决策与评审
在IPD的落地过程中,会发现在IPD流程中有很多的评审阶段和节点,团队成员中很难有效的区分其中的差异,甚至搞不清楚在某个节点需要做哪些事情,给实施带来了一定困扰,所以本文借鉴华为IPD流程中涉及到的相关阶段和节点做了一个简单梳理,供大家参考。
下图是IPD流程结构化的呈现,具有非常明显的阶段划分,华为正是通过这样结构化的流程方式进行管理和推动IPD流程落地实施,在各个阶段,把市场、研发、供应、制造、采购、服务等跨部门的人有效的组织起来,对各个阶段的产品研发质量进行把关评审,确保最终能够开发出满足客户需求、有市场竞争力的产品。
在这种图上,可以整体上可以分为三类:项目阶段划分、决策评审阶段划分、技术评审与其他功能领域的评审阶段划分。接下来逐个看下这三类的划分及其所代表的含义。
项目阶段的划分
从研发项目管理和实施的角度上来看,IPD流程整体上划分为七个阶段,跟瀑布的流程基本上吻合的,明确规定了各个阶段需要完成的事情
项目立项准备阶段
在项目立项准备阶段,分析项目立项价值,主要是从资源、技术、组织等方面进行评估和准备,完成项目任务书的开发。
项目概念阶段
在项目概念阶段,根据项目任务书搭建项目环境、组建项目团队、对任务书的目标进行分解,形成初步的实现方案和概要设计。制定初步的项目计划,完成设计需求和备选方案。
项目计划阶段
在项目计划阶段,制定详细的项目计划,并最终确定项目的目标和范围,完成架构设计和概要设计,指导后续项目阶段的执行。
项目开发阶段
在项目开发阶段,执行项目计划,完成样机开发,确保项目成果完成并被集成。
项目验证阶段
在项目验证阶段,按照项目计划执行项目内、外部验收活动,完成试产和Beta测试,确保项目能通过客户或接受人的验收。
项目发布阶段
在项目发布阶段,按照项目计划执行项目对内、外部的发布活动,确保项目关闭前把项目成功移交给接受者。
项目关闭阶段
在项目关闭阶段,在项目完成移交交付件后,对项目进行关闭。
对于一些简单类型项目,可以考虑进行合并成以下四个阶段:项目立项阶段、项目概要与计划阶段、项目执行阶段(包括开发、验证和发布三个阶段)以及项目关闭阶段。
决策阶段的划分
图中最上面呈现的xDCP是决策评审点(Decision Check Point,DCP),IPD流程通过这些决策评审点来构建决策质量。主要是针对业务进行评审,关注的是产品的市场定位和未来盈利情况。这些决策点都有对于的决策标准,通过了才能进入下一阶段的工作。
IPD流程中设置了5个决策评审点,重点强调按照投资决策理念对研发过程进行分阶段评审。
项目任务书DCP(Charter DCP)
是属于立项阶段的评审决策点。
概念决策评审点(CDCP)
在项目概念结束时进行概念决策评审。由PDT团队正式向IPMT进行汇报初始的业务计划,由IPMT来决策项目是继续还是终止。
计划决策评审点(PDCP)
在项目计划阶段结束时进行计划决策评审。PDT向IPMT展示最终的业务计划以及决策合同,由IPMT来做出继续/终止的决策。
可获得性决策评审点(ADCP)
实在发布之前进行的一次决策评审,验证在计划阶段制定的业务计划是否已经实现,产品是否准备好发布。PDT团队向IPMT给出专业建议,由IPMT来做出继续/终止的决策。
生命周期终止决策评审点(LDCP)
在产品生命周期结束时进行生命周期终止决策评审。由PDT向IPMT进行决策汇报。
技术阶段评审点
IPD流程中设置了合适的技术评审点(TR),在过程中进行产品质量构建。按照技术划分阶段,包括7个评审点,确保从研发人员关注的角度,项目团队能够识别所有的技术风险。
TR1:产品需求评审
在概念阶段针对产品需求和产品概念的评审,重点关注产品需求的完整性,对应于项目概念阶段结束时的管理评审点,TR1通过标志着项目概念与初步项目计划的确立,可以支撑版本开发项目的CDCP,进行概念决策。
TR2:设计规格评审
在计划阶段针对产品设计规格的评审,包括功能需求评审、产品规格评审,重点关注从产品设计需求到产品设计规格的完整性。
TR3:概要设计评审
在计划阶段针对概要设计的评审,包括系统设计、架构设计、概要设计,确保设计规格已经完全、正确的在概要设计中有体现。TR3对应项目计划阶段的管理评审点,TR3通过标志着项目计划被确认,可以支撑版本开发项目的PDCP,进行计划决策。
TR4:详细设计评审
在开发阶段针对模块/系统的详细设计进行评审。在这个节点,完成模块级(或单板机)功能开发并进行测试阶段。
TR4A:集成测试评审
在开发阶段针对产品技术上的成熟度进行评估,确保所有存在的问题和风险都进行了评估,进入系统设计验证(SDV)测试,通过原型机和试制验证来确保能够支撑进行初始产品生产。
TR5:系统测试评审
在开发阶段结束前的评审,对应是系统集成测试(SIT测试),将评估系统性能、可靠性、稳定性等是否满足要求。确保产品符合预定的功能和性能要求。TR5对应项目执行(开发)阶段的管理评审点,TR5通过标志着项目开发工作按计划完成,准备好交付客户或维护团队进行验收。
TR6:验证测试评审
在验证阶段结束前的评审,对应的是SVT、Beta实验局的测试验证,是从系统的角度进行评审,确保产品可进入大批量生产及供货阶段。TR6对应项目执行(验证)阶段的管理评审点,TR6通过标志着项目验证工作按计划完成,可支撑版本开发项目的ADCP,产品进入发布阶段。
TR6之后,研发产品对应的技术评审就会结束。TR评审的目的,主要是基于技术方面去考虑,一般参加评审的都是各个领域的技术专家,会从各自的领域去考虑问题,避免从技术角度带入的相关风险。
功能领域评审点
另外,IPD流程中设置了合适的功能领域交付评审点(XR),在过程中进行产品质量构建。其中包括研发、市场、供应、制造、服务、销售等评审点。
在项目研发过程中,IPD流程中定义了六个RDR评审点,也是研发项目自身的阶段评审点。在评审时,一般会从项目目标对齐、项目状态(进度、计划、风险、陈本、质量等)、项目组合状态(与其他项目依赖、资源分配等)以及资源承诺四个维度进行审视。
RDR0:项目启动评审
RDR0是项目启动时的项目管理评审点。其通过标志着项目任务书(Charter)被确认和评审通过,项目正式立项,项目进入概念阶段。
RDR1:项目概念评审
RDR1是项目概念阶段结束时的项目管理评审点。其通过标志着项目概念与初步项目计划的确立,项目进入计划阶段。可支撑版本开发项目的CDCP。
RDR2:项目计划评审
RDR2是项目计划阶段结束时的项目管理评审点。其通过标志着项目最终计划被确认和批准,项目进入开发阶段。可支撑版本开发项目的PDCP。
RDR3:项目开发评审
RDR3是项目执行(开发)阶段结束时的项目管理评审点。其通过标志着项目开发工作按计划完成,可将交付物提供给接收人或者下游客户验收,项目进入验收阶段。
RDR4:项目验证评审
RDR4项目执行(验证)阶段结束时的项目管理评审点。其通过标志着项目验证工作按计划完成,项目输出及交付件通过验收,项目进入发布阶段。可支撑版本开发项目的ADCP。
RDR5:项目关闭评审
RDR5是项目执行(发布)阶段结束时的项目管理评审点。其通过标志着项目结束,开发项目通过GA评审,正式关闭。
功能领域交付评审
除了研发评审点RDR以外,还包括以下几个功能领域的评审:
SR(Service Review),服务评审点,关注产品的可服务性。
SCR(Supply Review),供应制造评审点,关注产品的可供应、可制造性。
POR(Procurement Review),采购评审点,关注物料的采购。
MR(Marketing Review),市场评审点,关注产品的可销售性。
在以上的额功能领域评审点中,其中TR关注产品包成熟度的实现情况,其他XR关注功能领域对O/SBP的支撑以及相关的内部质量,各功能领域的相关管理部门负责评审和把关;PDT根据XR和TR的评审结果,负责综合审视和评审产品包及商业计划的完成情况和质量,通过汇报材料供IPMT进行决策。
华为IPD流程一直在持续的优化和完善中,也在积极推进IPD与敏捷的融合,尽管看到IPD流程整体是以瀑布的方式运作的,但是在每个阶段和节点都体现了敏捷的基本原则,比如检视和调整,通过各种节点的评审检视来识别问题、判断风险,从而能够及早的做出判断、进行调整。有人曾把IPD和敏捷做过这样一个比喻,IPD犹如航空母舰,敏捷则是航母上的战斗机,一个沉稳兼顾大局、一个灵活应对变化。虽然不完全准确,但是也从一方面体现了IPD与敏捷的关系,之所以IPD仍然发挥着巨大威力,跟企业文化、组织结构、产品类型、业务形态也有很大关系,所以依然支撑华为产品研发体系的高效运转。
部分缩略语:
IPD:Integrated Product Development,集成产品开发
PDT:Product Development Team,产品开发团队
RDR:R&D Review,研发评审
IPMT:Integrated Portfolio Management Team,集成组合管理团队
TR:Technology Review,技术评审
DCP:Decision Check Point,决策检查点
RDPM:R&D Project Management,研发项目管理
GA:General Availability,一般可获得性
参考文档:
1. 《华为能,你也能-IPD重构产品研发》
2. 《从偶然到必然:华为研发投资与管理实践》
概要设计的主要任务是把需求分析得到的系统扩展用例图转换为软件结构和数据结构。设计软件结构的具体任务是:将一个复杂系统按功能进行模块划分、建立模块的层次结构及调用关系、确定模块间的接口及人机界面等。数据结构设计包括数据特征的描述、确定数据的结构特性、以及数据库的设计。显然,概要设计建立的是目标系统的逻辑模型.
详细设计是软件工程中软件开发的一个步骤,就是对概要设计的一个细化,就是详细设计每个模块实现算法,所需的局部结构。在详细设计阶段,主要是通过需求分析的结果,设计出满足用户需求的嵌入式系统产品。
A
AI Action Item
活动项
C
CA Comprehensive Audit
综合检查
CCB Configuration Control Board
配置控制部
CDR Critical Design Review
关键设计评审
CD&UT Coding and Unit Testing phase
编码与单元测试阶段
CMM Capability Maturity Model
成熟度模型
CRLCMP Computer Resource Life Cycle Management Plan
计算机资源生命周期管理计划
CSCI Computer Software Configuration Item
计算机软件配置项
critical software 重要软件
D
DBDD Data Base Design Description
数据库设计描述
DCR Document Change Request
文档更改请求
DD Detailed Design Phase
详细设计阶段
DDD Detailed Design Document
详细设计文档
DDR Detailed Design Review
详细设计评审
DID Data Item Description
数据项描述
design level 设计层
F
FCA Functional Configuration Audit
功能配置审查
FA Functional Audit
功能检查
FI Formal Inspection
正式检查
FQR Formal Qualification Review
正式鉴定评审
H
HB HandBook
手册
HWCI HardWare Configuration Item
硬件配置项
I
IDD Interface Design Description
接口设计描述
IRS Interface Requirements Specification
接口需求规格说明
IT&ST Integrating and System Testing phase
组装与系统测试阶段
IS&AC Installation and Acceptance phase
安装与验收阶段
IV&V Independent Verification and Validation
独立验证与确认
K
KPA Key Process Area
关键过程域
M
management reviews 管理评审
N
NDS Non-Developmental Software
不可开发软件
P
PA Physical Audit
物理检查
PCA Physical Configuration Audit
物理配置审查
PD Preliminary Design Phase
概要设计阶段
PDD Preliminary Design Document
概要设计文档
PDR Preliminary Design Review
初步设计评审(概要设计评审)
PDS 项目开发总结
PIP 项目实施计划
PRR 阶段评审报表
PRR Product Readiness Review
产品准备就绪评审
PP&O Project Planning and Oversight
项目计划与监督
PPP 项目进展报表
Pass criteria 通过准则
project entrust organization 项目委托单位
project undertaking organization 项目承办单位
Q
quality assurance 质量保证
R
RA Requirements Analysis Phase
需求分析阶段
RMT 评审成员签字表
RPL Review Problem
评审问题记
RSR Review Summary Report
评审总结报告
S
SA&SD System Analysis and software definition phase
系统分析与软件定义阶段
SCL 源程序清单
SCM Software Configuration Management
软件配置管理
SCMP Software Configuration Management Plan
软件配置管理计划
SDD Software Design Document
软件设计文档(分成概要设计说明书[PDD]和详细设计说明书[DDD])
SDF Software Development File
软件开发文件
SDL Software Development Library
软件开发库
SDP Software Development Plan
软件开发计划
SDR System Design Review
系统设计评审
SEI Software Engineering Institute
软件工程学会
SEPO Software Engineering Process Office
软件工程过程办公室
SOW Statement of Work
工作说明
SPR Software Problem Report
软件问题报告单
SQA Software Quality Assurance
软件质量保证
SQAP Software Quality Assurance Plan
软件质量保证计划
SRR 软件需求评审
SRR System Requirements Review
系统需求评审
SRS Software Requirment Specification
软件需求规格说明
SSDD System/Subsystem Design Description
系统/子系统设计描述
SSR Software Specification Review
软件规格说明评审
SSS System/Subsystem Specification
系统/子系统规格说明
STP 软件测试计划
STR 软件测试报告
STR Software Trouble Report
软件故障报告
STSC Software Technoligy Support Center
软件技术支持中心
SUM 用户手册
SVD Software Version Description
软件版本描述
SV&VP Software Verification and Validation Plan
软件验证与确认计划
SV&VR Software Verification and Validation Review
软件验证与确认评审
SW-CMM SoftWare Capability Maturity Model
软件成熟度模型
software 软件
software development organization 软件开发单位
software feature 软件特性
software item 软件项
software life cycle 软件生存周期
software verification and validation report软件验证与确认报告
T
TR Technical Report
技术报告
TRR Test Readiness Review
测试准备就绪评审
TSSD Total Software System Development phase
整个软件系统的开发阶段
testing 测试
test item 测试项
U
UDF Unit Development Folder
单元开发文件夹
user 用户
user documentation 用户文档
V
validation 确认
verification 验证
W
WBS Work Breakdown Structure
工作明细结构
2、TR2:在计划阶段对产品设计规格的评审。TR2重点关注产品设计需求到产品设计规格的完备性。
3、TR3:在计划阶段对概要设计的评审,确保设计规格已经完全、正确地在概要设计中得到体现。TR3的结果将作为开发阶段的后续详细设计活动是否继续投入资源的根据。
4、TR4:保证BuildingBlock用于系统级构建之前是完整的。对于一次构建(Build)涉及到的每一个BuildingBlock,应该有且仅有一次TR4对其进行评审。任何不符合规定的情况都应该在TR4问题记录中得到记录,并进行风险评估。
5、TR4A:在SDV完成后,对产品技术上的成熟度进行评估,确保所有存在的问题和风险都进行了评估,并生成了相应的改进计划,以保证供应和制造能力足以支撑初始产品生产活动。
6、TR5:在发布给客户前对项目整体状态在设计稳定性和技术成熟度方面的独立评估活动。TR5目的是确保产品符合预定的功能和性能要求,以满足前期确定的产品包需求。
7、TR6:是一个关注于系统级的评审,确保产品的制造能力已经能适应全球范围内发货的需求。
IPDTR(TechnicalReview)是指IPD流程中定义的TR1、TR2、TR3、TR4、TR4A、TR5、TR6等7个技术评审点。用于检查IPD实施到一定阶段以后产品的技术成熟度,发现遗留的技术问题,评估存在的技术风险,给出技术上的操作建议。
3.1 软件的需求分析
3.1.1 需求分析
3.1.2 需求分析报告的编制者
3.1.3 需求报告评审
3.1.4 需求报告格式
3.2 软件的概要设计
3.2.1 概要设计
3.2.2 编写概要设计的要求
3.2.3 概要设计报告的编写者
3.2.4 概要设计和需求分析、详细设计之间的关系和区别
3.2.5 概要设计的评审
3.2.6 概要设计格式
3.3 软件的详细设计
3.3.1 详细设计
3.3.2 特例
3.3.3 详细设计的要求
3.3.4 数据库设计
3.3.5 详细设计的评审
3.3.6 详细设计格式
3.4 软件的编码
3.4.1 软件编码
3.4.2 软件编码的要求
3.4.3 编码的评审
3.4.4 编程规范及要求
3.5 软件的测试
3.5.1 软件测试
3.5.2 测试计划
3.6 软件的交付准备
3.6.1 交付清单
3.7 软件的鉴定验收
3.7.1 软件的鉴定验收
3.7.2 验收人员
3.7.3 验收具体内容
3.7.4 软件验收测试大纲
3.8 培训
3.8.1 系统应用培训
3.8.2 系统管理的培训(可选)
计划阶段
1)时间安排 概要设计完成评审后大约一个星期
2)输入 需求规格说明书 概要设计文档 产品开发计划路标
3)入口条件 概要设计文档已经通过评审
4)活动步骤 1.定被测试对象和测试范围 2.评估集成测试被测试对象的数量及难度,即工作量 3.确定角色分工和作任务4.标识出测试各阶段的时间,任务,约束等条件5.考虑一定的风险分析及应急计划6.考虑和准备集成测试需要的测试工具,测试仪器,环境等资源7.考虑外部技术支援的力度和深度,以及相关培训安排8.定义测试完成标准
5)输出 集成测试计划
6)出口条件 集成测试计划通过概要设计阶段基线评审
设计阶段
1)时间安排详细设计阶段开始
2)输入需求规格说明书概要设计集成测试计划
3)入口条件概要设计基线通过评审
4)活动步骤 1.被测对象结构分析 2.集成测试模块分析3.集成测试接口分析4.集成测试策略分析
5.集成测试工具分析6.集成测试环境分析7.集成测试工作量估计和安排。
5)输出集成测试设计(方案)
6.出口条件集成测试设计通过详细设计基线评审。
实现阶段
1)时间安排在编码阶段开始后进行
2)输入需求规格说明书概要设计集成测试计划集成测试设计
3)入口条件详细设计阶段
4)活动步骤:1.集成测试用例设计2.集成测试代码设计(如果需要)3.集成测试脚本(如果需要)4.集成测试工具(如果需要)
5)输出集成测试用例集成测试规程集成测试代码集成测试脚本集成测试工具
6)出口条件测试用例和测试规程通过编码阶段基线评审
执行阶段
1)时间安排单元测试已经完成后就可以开始执行集成测试了
2)输入 需求规格说明书概要设计集成测试计划集成高度设计集成测试例集成测试规程集成测试代码(如果有)集成测试脚本集成测试工具详细设计代码单元测试报告
3)入口条件单元测试阶段已经通过基线化评审
4)活动步骤执行集成测试用例回归集成测试用例撰写集成测试报告
5)输出集成测试报告
6)出口条件集成测试报告通过集成测试阶段基线评审
同行评审是一种通过作者的同行(开发、测试、QA等)来确认缺陷和需要变更区域的检查方法。
一、计划阶段
1.项目负责人指定组织者;作者自检工作产品;组织者规划本次评审,制定Review Plan
2.检查入口准则:是否符合文档标准?是否已用工具检查?代码<=500行;文档<=40页;……
3.准备评审包:评审通知单;待Review产品;参考资料;评审表单(Review Form);评审计划(Review Plan);
4.确定评审专家3—6人,选取原则: 评审对象所处生命周期上一阶段、当前阶段和后一阶段的参与者(就是和评审对象相关的人)
5.组织者将评审包、评审通知单发给相关人员
二、介绍会议(*可选)
1.不了解流程以及产品技术难度较高,技术较新时,由专家提出,作者讲解相关产品及流程
2.时间不超过1小时,30-60分为宜
三、准备阶段(最重要、发现缺陷最多)
1.评审专家个人独立完成工作产品的审视,提出缺陷,填写评审表单;反馈评审表单给组织者
2.准备时间大于会议时间,且应于会议前2天开始
3.组织者:汇总并检查评审表单;裁决是否需要增加评审投入(增加准备时间;增加评审专家人数;更换评审专家等)
四、Review会议(只提问题,不关注解决)
1.组织者召开评审会议(不能是作者)
2.讲解员讲解工作产品(不能是作者或组织者)
3.大家共同确认问题(评审表单中记录的问题;会上发现的问题),由组织者作裁决
4记录员记录所有的问题,并发给组织者
5.组织者更新评审表单(问题确认、问题根源、预防/修正措施)
五、第三小时会议(*可选)
在Review会议上未解决或有争议的问题,由作者决定是否召开
六、返工
作者修改工作产品,更新评审表单
七、跟踪
1.组织评审专家确认各缺陷得到了修改,并且没有引入新的缺陷;
2.协助组织者确认相关问题得到了正确修改并且没有引入新的缺陷;
3. 汇总所有需要的数据到评审表单发给相关评审专家
4.是否重新Re-review
根据你的情况,要看你们双方当时签订合同时的有关规定,和双方在合同中的权利义务,如果已明确就应该提供,如果没有规定,可以不提供,这样也不构成违约。对于合同是否失效,要根据你们上方签订的合同来确定,希望我的回答能给你带来帮助,谢谢~!
分为概要设计和详细设计两个阶段。 概要设计也称为结构设计或总体设计,主要任务是把系统的功能需求分配给软件结构,形成软件的模块结构图。
概要设计的基本任务:设计软件系统结构:划分功能模块,确定模块间调用关系;数据结构及数据库设计:实现需求定义和规格说明过程中提出的数据对象的逻辑表示;编写概要设计文档: 包括概要设计说明书、数据库设计说明书,集成测试计划等;概要设计文档评审:对设计方案是否完整实现需求分析中规定的功能、性能的要求,设计方案的可行性等进行评审。
概要设计工具:结构图(SC: Structure Chart ),反映系统的功能实现以及模块与模块之间的联系与通信,即反映了系统的总体结构。注意:数据流DFD是软件生命周期的定义阶段中的需求分析方法中结构化分析方法的一种,此外还有数据字典(DD)、判定树和判定表,而SC是开发阶段中概要设计使用的方法。 详细设计的目的:为软件结构图(SC)中的每 一个模块确定采用的算法,模块内数据结构,用某种选定的表达工具(如N-S图等)给出清晰的描述。