审核员看不懂的代码,才是质量问题的根
code-inspection-cover.png

一次让我印象深刻的审核对话

几年前的一次软件企业审核现场,我旁听了一位审核员和项目经理的对话:

> 审核员:”你们的设计输出有哪些记录?

> 项目经理:”有产品需求规格说明书、概要设计文档、详细设计文档、评审记录……都在SVN里。

> 审核员翻了翻文档目录:”有文档有评审,好,符合。

我在旁边没说话。因为我刚看过这家企业的 Git 仓库——主分支上每天十几个提交、没有MR审查、没有自动化测试覆盖、版本号混乱、代码注释和需求描述对不上。

文档都写了,代码是乱的。但那位审核员只看了文档,没看代码。

这件事让我一直在想一个问题:ISO 9001 8.3.5 的”设计输出”,真的只是文档吗?


8.3.5 到底在要求什么

再读一遍标准原文。8.3.5 要求设计输出应:

> a) 满足输入要求;
> b) 满足后续产品和服务提供过程的需要;
> c) 包括或引用监视和测量的要求,适当时,包括验收准则;
> d) 规定产品和服务特性,这些特性对于预期目的、安全和正常提供是必需的。

标准没说输出必须是 Word 文档。它要求的是”满足输入要求”和”规定特性”。对于软件产品,代码本身就是设计输出最核心的载体。

需求规格说明书写得再厚,代码没实现,等于没做。设计文档画得再漂亮,代码里没有对应逻辑,都是废纸。

但多数审核员看不懂代码,所以天然绕开了这个”最高质量的设计输出”,退而求其次只看文档。这一绕,就把真正的质量风险绕过去了。


一个真实案例:KCP 落地前后

我在中兴网信负责研发质量管控时,面对的是这样一组数据:

  • 需求变更随意,一个版本迭代中间改三次,没有追溯
  • 版本发布靠人工”拍脑袋”,上线后故障频发
  • 年度客户满意度只有 84%

后来我们做了三件事:

第一件事:建需求变更审批流程。

三级变更审批——紧急、一般、重大,各有不同的审批链路和准入准出标准。变更前必须关联需求 ID,变更后更新追溯矩阵。半年后,需求变更合规率从 82% 升到 98%。

核心做法不是加文档,而是把变更写进流程和工具里——需求管理系统里改字段,不经过审批流程连改都改不了。

第二件事:卡版本发布节点。

每个版本发布前必须走完五个步骤:

  1. 系统测试全部通过
  2. 遗留问题逐条评估
  3. 回滚预案就位
  4. 版本基线锁定
  5. 发布审批签字

一年后,现场版本故障率从 12% 降到 3%。

第三件事:输出质量度量看板。

每个季度出一份《自研产品质量度量看板》,不是给老板看的装饰品,而是每项指标都对应一个改进动作。谁的数据拖后腿,谁在下个季度认领改进。

三年后,用户满意度从 84% 升到 96%。

这些改善没有靠”多写文档”实现,靠的是在研发流程的关键节点设卡,用工具和数据说话


审核8.3.5的实操建议

我不要求审核员学会写代码,但建议多问几个问题:

1. 问代码评审

“你们的代码评审是怎么做的?走形式还是真的有人逐行看?”

没有代码评审的系统,如同没有质检的产线。MR/PR¹ 的记录数量、reviewer 人数、通过率¹MR(Merge Request,合并请求,GitLab 平台叫法)和 PR(Pull Request,拉取请求,GitHub 平台叫法)是同一个概念,指开发提交代码后发起同行审查的机制。 的记录数量、reviewer 人数、通过率——这些数据比一份”设计评审报告”更能反映真实质量。

2. 问测试覆盖

“你们的单元测试覆盖率是多少?集成测试是谁做的?”

8.3.5(b) 要求的”满足后续服务提供过程的需要”,测试覆盖是最直接的证据。覆盖率低于 60% 还号称做了充分测试的,基本在撒谎。

3. 问版本基线

“你们怎么保证发布的版本和测试的版本是同一个?”

没有基线管理,文档写得再规范也没用。版本号规范、变更记录、回滚机制——这三样缺一个,发布就是碰运气。

4. 问需求追溯

“每个代码提交关联了需求 ID 吗?”

需求变来变去,代码改来改去,但没有可追溯的记录,所谓的”满足输入要求”就是一句空话。


结语

我不是否定文档的价值。文档在体系审核中有不可替代的作用——它是沟通的载体、培训的素材、审计的证据。

但我要说的是:对于软件企业,代码是最高质量的设计输出。8.3.5 的审核不能只看文件夹,要去 Git 仓库看一眼。

了解研发流程、看懂评审记录、追踪变更闭环——这些能力决定了做的是”符合性审核”还是”深度诊断型审核”。

懂软件研发的审核员,和不了解的审核员,面对同一家企业,看到的完全是两个世界。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇