十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

ISO 90003:2018软件质量管理应用指南:从ISO 9001到软件开发落地

ISO 90003:2018软件质量管理应用指南:从ISO 9001到软件开发落地 简介ISO/IEC/IEEE 90003:2018是ISO、IEC与IEEE联合发布的软件工程领域ISO 9001:2015应用指南适合软件质量管理者、过程改进工程师及认证审核人员使用。它以九大章节阐明如何将质量管理原则落地到软件生命周期从组织环境、相关方需求到范围确定、过程设计再到编码、测试、维护等环节均给出针对性控制措施并覆盖文档记录、持续改进、风险机遇等关键要素。压缩包仅含1个PDF完整英文原文体积1.15MB条理清晰便于按条款索引。目前已有941人学习对照阅读可快速理解ISO 9001在软件项目中的具体做法也可作为内部培训或体系搭建时的参考资料。资源源自2018年第一版内容权威适合作为流程审计、能力评估和持续改进的基线依据。1. 这个标准到底讲了个啥1.1 一句话看懂 ISO/IEC/IEEE 90003:2018ISO/IEC/IEEE 90003:2018全称是“软件工程——ISO 9001:2015在计算机软件中的应用指南”说人话就是ISO 9001是面向所有行业的通用质量管理体系标准但软件行业有自己的特殊性没法直接照着造螺丝钉的思路来管代码。这份标准要解决的就是把ISO 9001:2015那套质量管理语言翻译成软件工程能听懂、能落地、能过审的话。它不是一份独立的质量管理体系标准也不是认证依据。你没法拿着90003证书去投标。它的定位是“指南解释映射”ISO 9001:2015总共10个条款哪些条款在软件企业里对应什么过程交付物是什么审核员会看什么文档该怎么留这份标准逐条做了说明。换句话说如果你的公司想拿ISO 9001认证但认证范围是软件研发那审核员实际参考的判定尺度很大程度就来自90003。很多QA和项目经理第一次接触它是在做9001体系文件时发现“8.3 设计和开发”完全不知道怎么写。通用标准讲的是设计和开发可你的“设计”是架构设计你的“开发”是写代码不是生产图纸。90003就是帮你把这种错位补上的桥梁。1.2 为什么2025年还要回头研究这份2018版标准有人会问2018年发布的标准现在都过去好几年了还值得看吗值得而且对于正在搭质量体系的团队来说它依然是当前最权威的软件质量管理的国际参考。原因有几个。第一ISO 9001:2015本身是2015年发布之后没有换版90003:2018就是配合这一版9001的软件应用指南至今没有被替代。第二虽然敏捷开发、DevOps这些方法论很流行但90003并不排斥这些反而专门讨论了在敏捷环境下如何满足质量管理要求这对中小团队尤其关键。第三很多招投标、政府项目、汽车和医疗器械的软件供应链仍然要求供应商具备ISO 9001认证而审核现场检查的就是你对90003的落地程度。我见过不少研发负责人拿到9001证书后内部过程文件还是按制造业模板硬套结果每次内审都出同一个问题软件开发项目里没有按照9001要求的条款保留证据。这就是典型的“标准看懂了但没吃透”。90003就是来解决这个问题的。2. 从ISO 9001:2015到软件工程桥到底怎么搭2.1 高层结构HLS在软件领域的落地方式ISO 9001:2015采用了一个叫“高层结构”High-Level Structure的框架这个框架被很多管理体系标准共用比如ISO 14001、ISO 45001、ISO 27001也是同一套骨架。HLS把标准分成10个条款范围、规范性引用文件、术语和定义、组织环境、领导作用、策划、支持、运行、绩效评价、改进。90003并没有把这个骨架推翻而是保留了一模一样的条款结构然后在每个条款下面补充软件特有的解释。这一点很关键。你如果做过9001体系拿到90003后会发现章节号完全对得上几乎不用重新学目录。你只需要在每一个条款号下面找到软件工程对应的内容。拿“4 组织环境”来举例。在工厂组织环境可能就是市场、法规、供应链。在软件企业组织环境还必须包括技术栈的迭代速度、开源社区的依赖、行业监管要求比如金融、医疗软件、网络安全威胁态势。90003会提示你在识别相关方的时候不能只列客户和股东还要考虑最终用户、监管机构、甚至开源社区的上游维护者。2.2 条款映射四个“软件特有”的重点条款90003对软件企业影响最大的是这几个条款8.2产品和服务的要求、8.3设计和开发、8.4外部提供的产品和服务、8.5生产和服务提供。其中前三个最容易出问题我逐个说一下。8.2在制造业里叫“与顾客有关的过程”说白了就是接单、评审订单、和客户沟通需求。在软件行业它对应的实际是需求管理需求获取、需求分析、需求确认、需求变更。90003在这里反复强调一件事——软件需求必须足够详细并且要能被验证。很多团队用一句话需求开工后面扯皮本质上就是违背了这个条款的精神。8.3是“设计和开发”软件里对应的就是整个研发过程架构设计、详细设计、编码、测试、评审、发布准备。这个条款是90003里篇幅最大的部分之一因为它把软件的开发过程完全映射进了质量管理体系。它要求你有设计开发的输入、输出、评审、验证、确认、变更控制每一环节都要留痕。8.4是采购。在软件里“产品和服务”不一定是零件而是第三方库、云服务、外包开发团队、SaaS组件。90003特别提醒不能因为买的是“代码”或者“服务”就放松对供方的评估。一个开源组件的供应链投毒问题放到质量管理体系里看就是8.4没有做好的典型。2.3 和ISO/IEC/IEEE 12207的关系这里还有一个容易混淆的点90003和ISO/IEC/IEEE 12207软件生命周期过程是什么关系简单说12207是软件工程的过程框架把软件生命周期划分为获取过程、供应过程、开发过程、运作过程、维护过程、管理过程、组织过程等。它告诉你“做软件有哪些过程”。90003则是质量管理视角它告诉你“在ISO 9001的要求下这些过程应该怎么管”。两者是互补的12207偏过程工程90003偏质量体系。如果你在写软件质量手册最省力的做法就是用90003的条款结构作为手册骨架用12207的过程术语作为内部文件的名字。这样外审员既能看懂体系结构也能看到软件工程的行业语言。我见过好几家通过认证的公司文件目录就是这两套标准熔合出来的审核时沟通成本非常低。3. 软件项目怎么套用90003核心过程逐个拆3.1 需求管理从一句“用户要一个商城”到可验证的需求规格8.2条款在90003里展开后重点落在需求的可追溯性上。很多研发团队觉得需求文档写了就好但90003要求的是每个需求条目要能追溯到设计、代码、测试用例需求变更要能追溯到影响分析。实操上我建议软件团队至少做到三件事。第一用统一的工具管理需求不管是Jira、PingCode还是飞书项目重点是条目化不允许贴一段聊天记录就当需求。第二每个需求带上验收标准而且验收标准必须是可测试的。第三需求变更走“变更请求”流程哪怕团队很小也要有一个简版谁提出、影响哪些模块、要不要重新评审、测试范围怎么调。有一句经验供参考在9001审核现场审核员问需求管理看的不是你的需求文档写了多少页而是——你如何证明最终交付的软件确实满足了这个需求如果你的追溯链条完整这个问题就能在五分钟内讲清楚。3.2 设计开发评审记录、验证与确认怎么留痕8.3是90003里最肥的一块。设计开发输入在软件里至少包括需求规格、技术约束、法规和标准要求、信息安全要求。设计开发输出则对应架构文档、接口定义、数据库设计、测试计划、部署方案。整个过程要有评审、验证、确认三个动作。这里很多人有个误区以为“验证”和“确认”是一个意思其实不是。验证是“我们有没有把产品做对”对应的是测试、走查、评审、静态分析。确认是“我们做的是不是客户要的东西”对应的是验收测试、UAT、产品试用。90003明确要求这两者都要留证据。实操上我特别推荐把“设计评审”做进迭代节奏里。不需要很重每次迭代开始前花30分钟过一遍技术方案记录结论和待办。有争议的时候就升级评审。一年下来这套记录就是8.3的核心证据也会成为新员工了解系统演进的极好材料。3.3 采购控制第三方库、云服务与外包开发的风险把控8.4条款对应的软件行业痛点就是“啥都能买”。买云主机、买SaaS、引入开源框架、请外包团队做模块……这些都属于“外部提供的产品和服务”。90003要求你对供方进行评价、选择、绩效监视、再评价。具体落地时可以从风险维度分级。高风险的第三方组件比如底层通信、加密模块、支付相关要有技术选型评审要关注许可证合规、版本维护状态、已知漏洞。中风险的可以选型记录加清单。低风险的内部工具类库按年度盘点一次就行。外包开发是另一个重点。如果你的核心业务模块外包90003会要求你定义外包过程的技术要求、交付标准、验收方法还要定期监控外包团队的过程质量。我见过最典型的失败案例是外包团队代码交付后运维看不懂文档版本管理混乱最后只能推倒重写。这就是8.4没有做深。3.4 配置管理与变更控制软件质量最容易翻车的一环配置管理在软件行业的对应物远不止Git版本管理那么简单。90003视角下的配置管理至少包括配置项的识别代码、文档、环境配置、构建脚本、基线管理、变更控制、状态记录、配置审计。很多团队做到“代码进Git”就停了导致的问题是你无法回答“某个生产版本到底对应哪一次提交”“这个配置项是哪个基线里的”。一旦出问题回溯成本极高。我的实操经验是把“发布”和“配置项”挂上钩。每次发版事务性地记录版本号、代码提交号、构建产物、配置参数、依赖清单、部署步骤、回滚预案。做到这一步不仅90003审核无忧日常运维的救火速度也会大大提升。4. 常见问题和排查技巧实录4.1 常见误区速查表误区正确的理解90003是用来认证的90003只是指南认证依据仍然是ISO 9001:2015敏捷开发与90003冲突90003专门讨论了敏捷环境下的适配方式并不冲突只有在传统瀑布开发中才有“设计和开发”敏捷迭代同样需要设计开发输入、输出、评审记录测试报告就算是验证证据评审记录、走查记录、静态分析结果同样属于验证证据开源组件不需要管理开源组件属于8.4条款范围需要做供方评估与监控项目小就不需要变更控制变更控制可以轻量化但不能没有4.2 审核员最常问的五个问题按照我经历过的内审和外审审核员在软件企业最常问的问题集中在以下几个方面。第一问你们怎么确定客户需求是完整的对应8.2你要能拿出需求评审记录、需求确认记录、需求跟踪矩阵。第二问设计和开发的分工是什么对应的输出物在哪里如果你能清晰说出架构评审、代码review、测试策略这三样东西基本就能过关。第三问选择的第三方库有什么风险这个问题在最近几年尤其多因为供应链安全是热点。第四问怎么保证开发和生产环境一致这就是配置管理问题把你的发布清单拿出来基本就能证明。第五问怎么收集客户反馈并改进对应第9章绩效评价你需要有客服反馈、用户满意度调查、缺陷分析等机制。有个特别实用的避坑技巧审核现场不要只递文档最好是“文档系统演示”一起上。比如审核员查需求追溯你直接打开管理工具演示需求到用例到测试结果到发布的跳转这比任何文字说明都有说服力。既减少了沟通成本也更符合90003里对信息化的精神。5. 落地实施建议从零到一建立软件导向的9001体系5.1 先做差距分析别上来就写文件如果你所在的公司还没有通过ISO 9001认证但又准备做我的建议是先做一次差距分析而不是急着写手册。具体做法是把ISO 9001:2015的10个条款列成表格再对照当前团队的实际运作逐条打分。已经做到的记下来文件全缺的标记为“差距项”只做了一部分但没留痕的标记为“证据不足项”。这个动作大约两周可以完成它最大的价值不是产出分析报告而是让整个管理团队真正意识到“我们缺的不是工作而是证据”。做完差距分析之后优先补齐那些影响核心业务的条款也就是我前面反复说的8.2、8.3、8.4、8.5以及第7章“支持”资源、能力、意识、沟通、成文信息。这几个条款补齐了整个体系才立得住。5.2 把90003融进现有工具链而不是另起炉灶经常有人问我们公司已经用了Jira、Confluence、GitLab还有必要再上一套所谓“质量管理系统”吗我的回答是不需要。90003从来就没要求你必须用某个特定工具它只要求你保留成文信息。最合理的做法是让现有工具承担质量记录的角色。需求评审会议的纪要和结论放到Confluence缺陷管理和验收结果留在Jira代码评审、构建记录留在GitLab发布清单和变更记录可以放到一个独立页面维护。只要建立好目录结构、命名规范、权限规则体系文件的“证据”就自动沉淀下来了。这套做法最大的好处是员工不需要额外填写一堆表格质量管理就融入了日常开发流程团队成员抵触情绪也小得多。它能持续运转的关键在于定期抽查比如每个月底QA抽三个项目的记录看是否完整。坚持两个季度习惯就养成了。5.3 自己公司做内审时用什么视角去查90003给出的视角是“过程方法”也就是不要只看某个部门做没做对而是看从需求到交付的全过程是否打通。内审时可以模拟走一个完整场景比如一个新需求进来经过需求评审、方案设计、开发、测试、发布、验收每一步有没有对应的记录记录之间能不能互相衔接。我见过很多内审员只会查“有没有表单”结果每个环节都有记录但流程整体走不通这恰恰是质量管理体系最大的问题文件和实际脱节。要避免这一点内审时多问“然后呢”。需求评审之后做了什么设计文档更新了吗代码评审发现问题怎么处理的发布后出故障回滚流程在文档里有没有体现这些问题连贯起来才能真正检验体系是否有效。90003的指南价值也正是在这里——它不是让体系看起来漂亮而是让体系真正管用。6. 一点个人体会翻来覆去讲这么多虽然这个标准是2018年的版本但它背后的思路并不陈旧。做软件开发质量管理本质上就是两件事把承诺看清楚把做过的事留痕。90003给的是一套框架真正的难点在于把它翻译成你团队日常习惯的语言。我自己在落地时最受益的一点是用90003的条款结构来梳理团队已有的流程而不是拿它去创造新流程。对照下来发现很多开发团队其实本来就在做需求评审、代码评审、测试验证缺的只是命名不一致、记录不统一。把这些东西对齐到标准语言比空降一套重型流程要高效得多。如果你正准备在公司推行ISO 9001或者正在头疼外审的软件范围怎么准备建议先把90003的PDF原版找出来不用全读重点拆解8.2、8.3、8.4、8.5四个条款对照自己团队现在的做法做一遍映射。这张映射表就是你未来质量体系的最重要底稿。本文还有配套的精品资源点击获取
返回列表