新产品开发之C流程 (C-flow)
关于新产品开发的C流程(C-flow),是世界上大公司采用的标准开发流程,十分基本也十分重要,但是网上关于C流程介绍相关的资料很少,所以花点时间整理一下相关的资料。
下面以软件BSP开发为例,来说明C流程是如何运用到实际的产品开发过程中。
首先用一张图高度概括说明C流程分为哪些阶段和主要的工作。
下面,对C流程里的具体开发工作比较详细的介绍,
C0&C1阶段(Proposal & Planning)
BSP软件团队的主要任务包括,
a. 研究客人的需求;
b. 与客人讨论需求的细节;
c. 提议可选的SoC平台;
d. 研究可供选用的外设component,如sensor, camera等(有些客人会指定component);
e. 和客人的软件部门进行 角色&职责 划分,明确各自的 角色和职责(如某些项目,ODM只负责kernel/driver的定制和移植,framework和application则有客人或者3rd party负责);
f. 挑选component供货厂商,并且获得厂商的联系方式,以便后续的技术支持;
g. 软件架构设计;
h. 收集或者开发相关的工具,如一些benchmark工具;
C2阶段(R&D Design Phase)
a. 与PM/EE讨论项目进度;
b. 与工厂讨论测试流程;
c. 与其他自动化部门(如RF/Camera/Acoustic)讨论测试的细节,并为之预留相关的软件接口;
d. 从EE获取component Spec, GPIO table, power plan;
e. 与工厂/客人讨论image更新的方式;
f. 组建BSP开发团队,并获得其他相关部门PIC的联系方式;
C3阶段(EVT – Engineering Validation Test)工程验证测试阶段
此阶段会打出第一版PCBA板,主要用于调试分析。
EVT 的重点是,所有可能的设计问题都必须被提出来一一修正, 所以重点在考虑设计的可行性,并检查是否有任何规格被遗漏了。
此时,BSP团队的主要任务有,
a. 各个模块的基本function可以工作;
b. Power On/Off & Suspend/Resume完成压力测试;
c. 准备好工厂的测试软件;
d. 完成系统性能和电源管理的优化;
e. 进行CTS测试;
f. 进行软件兼容性测试;
C4阶段(DVT – Design Validation Test)设计验证测试阶段
这个阶段要验证整机的功能,重点是把设计及制造的问题找出来,以确保所有的设计都符合规格,而且可以生产。
此时,BSP团队的主要任务有,
a. OS整合,包括客人和3rd party的解决方案;
b. 继续进行系统性能和电源管理的优化;
d. 完成CTS测试;
C5阶段(PVT – Production Validation Test)生产验证测试阶段
这个阶段的产品设计应该已经全部完成了,所有设计的验证也必须告一段落。这个阶段试产的目的是要做大量生产前的制造流程测试,所以必须要生产一定数量的产品,而且所有的生产程序都要符合制造厂的标准程序。
另外还要计算所有的治工具、测试治具及生产设备数量是否可以符合大量产后的产能(capacity)。
理想情况下,此时已经没有多少任务需要BSP团队来做,一般是协助工厂为最后的生产做准备。
C6阶段(MP - Mass Production)量产
当经过以上所有测试阶段,工厂便可将该设计进行大量生产,理论上要进入量产阶段,所有设计及生产问应该没有任何遗漏及错误,成为正式面市产品。
此时,BSP团队的主要任务有,
a. 对软件通过ECR(Engineering Change Request)和ECN(Engineering Change Notice)进行管控;
b. 通过Board ID(一般是H/W GPIO设置)来区分不同阶段的PCBA,然后驱动进行不同的硬件配置;