第二章:项目需求分析——客户需求收集方法、需求文档撰写与KPI定义
大家好,我是老张。做视觉检测项目这么多年,我最大的体会是:项目成败,七分在需求,三分在算法。你想想看,需求没搞清楚就急着写代码,最后八成要返工。今天咱们就聊聊需求分析这块硬骨头怎么啃。
2.1 客户需求收集方法
客户说「我要检测这个产品有没有缺陷」,这句话其实啥也没说。我习惯把需求收集分成三步走:
2.1.1 现场调研——别光听,要去看
我个人习惯,接到项目第一件事就是去客户产线。坐在会议室听PPT,不如去车间站半小时。为什么?因为客户说的「节拍5秒一个」,实际产线可能只有3秒。你按5秒设计,现场根本跑不起来。
2.1.2 样品分析——拿实物说话
我建议至少拿50个良品、50个不良品回来。为什么是这个数?太少看不出规律,太多客户嫌麻烦。记得有一次,客户说「划痕很浅」,结果样品拿回来一看,那划痕深得都能当沟壑了。所以,样品一定要自己看。
2.1.3 需求访谈——问对问题
我常用的几个问题清单:
- 检测什么缺陷?尺寸、外观、还是装配?
- 节拍要求多少?峰值产能是多少?
- 误判容忍度是多少?漏检率要求多少?
- 现有检测方式是什么?人工还是半自动?
- 数据要不要追溯?要不要对接MES?
嗯,这里要注意:客户说的「差不多」就是最大的坑。一定要把「差不多」变成具体数字。
2.2 需求文档撰写——BRD与PRD
需求收集完了,就得写文档。我见过太多项目死在「口头需求」上。文档就是法律,白纸黑字写清楚,后面扯皮少一半。
2.2.1 BRD(商业需求文档)
BRD是写给老板看的。说白了,就是告诉客户老板:这个项目值不值得投钱。我一般写这几个部分:
- 项目背景:为什么要做这个检测?人工成本高?质量投诉多?
- 商业价值:投100万能省多少人工?能减少多少客诉?
- 风险与假设:比如产品改型怎么办?节拍达不到怎么办?
- 投入产出分析:ROI大概多少?多久回本?
2.2.2 PRD(产品需求文档)
PRD是给工程师看的。我习惯用这个结构:
| 模块 | 内容 | 示例 |
|---|---|---|
| 功能需求 | 检测什么、怎么检测 | 检测螺丝有无、方向是否正确 |
| 性能需求 | 节拍、精度、误判率 | 节拍≤2秒/件,精度±0.1mm |
| 接口需求 | 与PLC、MES怎么通信 | TCP/IP协议,数据格式JSON |
| 环境需求 | 温度、湿度、光照 | 0-40℃,无强光直射 |
| UI需求 | 操作界面、报表 | 实时显示检测结果,可导出Excel |
写PRD时,我习惯把「验收标准」写进去。比如「误判率≤1%」,那怎么测?拿1000个样品跑一遍,算出来就是。这样后面验收时,双方都没话说。
2.3 关键性能指标(KPI)定义
KPI是项目的命根子。我见过最惨的项目,就是KPI没定义清楚,最后验收时客户说「我觉得不行」,工程师说「我觉得行」。所以,KPI必须量化、可测量、可验证。
2.3.1 节拍(Cycle Time)
节拍就是一个产品从进到出需要多少秒。我习惯这么算:
- 理论节拍:相机曝光+图像传输+算法处理+结果输出
- 实际节拍:理论节拍×1.2(留20%余量)
- 峰值节拍:客户产线最快速度下的要求
举个例子:客户说节拍3秒。我算下来理论节拍2.2秒,加上余量2.6秒,嗯,能跑。但如果理论节拍就2.8秒,那肯定不行,得优化算法或者换相机。
2.3.2 精度(Accuracy)
精度分两种:
- 测量精度:比如尺寸检测,要求±0.05mm。这取决于相机分辨率、镜头畸变、标定精度。
- 定位精度:比如机器人抓取,要求±0.1mm。这取决于视觉定位算法和机械手配合。
我常用的精度验证方法:拿一个标准件,测10次,看最大值和最小值的差。如果差在要求范围内,就算过。如果超了,那就得找原因——是光照不稳定?还是算法有偏差?
2.3.3 误判率(False Rate)
误判率包括两个指标:
- 过杀率(False Positive):良品被判为不良品。客户最烦这个,因为浪费产能。
- 漏检率(False Negative):不良品被判为良品。这个更严重,会出质量事故。
我一般这么定:
- 过杀率≤3%(可以接受,大不了人工复检)
- 漏检率≤0.1%(必须严格控制)
为什么漏检率要求这么严?你想想看,一个不良品流到客户手里,可能引发退货、投诉、甚至索赔。所以,宁可错杀一千,不可放过一个——但这话不能跟客户说,哈哈。
2.4 知识体系框架图
下面这张图,是我自己总结的需求分析核心逻辑。你看一遍,基本就清楚整个流程了。
2.5 避坑指南与个人经验
最后,分享几个我踩过的坑:
- 坑一:客户说「你看着办」——千万别信。一定要把需求落到纸面上,哪怕客户觉得烦。
- 坑二:KPI定得太理想——比如节拍1秒、精度0.01mm、误判率0%。现实吗?不现实。要留余量。
- 坑三:忽略环境变化——白天和晚上光照不一样,夏天和冬天温度不一样。这些都会影响检测效果。
好了,需求分析这块就聊到这儿。记住一句话:需求分析做得越细,项目做起来越顺。别急着写代码,先把需求搞清楚。
公众号:蓝海资料掘金营,微信deep3321