多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

ISO 24748-3指南:软件生命周期过程落地与裁剪实战

ISO 24748-3指南:软件生命周期过程落地与裁剪实战 简介ISO/IEC/IEEE 24748-3:2020 是一份系统与软件工程领域生命周期管理国际标准旨在为组织实施 ISO/IEC/IEEE 12207软件生命周期过程提供详细指南。该标准共75页完整英文电子版适用于软件工程师、系统工程师、项目管理者及质量管理人员帮助团队理解并落地软件生命周期各阶段的最佳实践。标准内容覆盖范围、规范性引用、术语与缩略语、软件系统与组织概念、过程与生命周期概念并着重给出应用指南、实施建议、质量与风险管理及组织与人员职责等模块。通过遵循其中建议组织可规范需求分析、设计、编码、测试、部署与维护等流程提升软件质量与可靠性降低项目风险提升团队效率。该标准也适合作为软件过程改进、合规审核和教学培训的基础参考资料。资源包仅含1个PDF文件大小2.13MB下载后可直接阅读。目前已有174人学习下载是软件工程、系统工程与项目管理领域具有较高参考价值的专业文档。1. 这份 24748-3 的 PDF 到底在讲什么软件过程落地的地图不是又一本 12207手里同时摆着 ISO/IEC/IEEE 12207 和 ISO/IEC/IEEE 24748-3:2020 两份文档的人通常是被同一件事逼到这一步的公司要建立软件生命周期过程体系翻开 12207每个过程名目都认得却不知道在自己的项目里这些过程由谁触发、按什么顺序走、产物该长什么样。24748-3 这份 75 页的指南任务就是把「怎么用」讲清楚——它不新增过程不重写条款而是把 12207 的 software life cycle processes 框架翻译成能直接指导排计划、分角色、设评审点的落地指引。适合三类人要起草体系文件的工程师、要规划项目里程碑的软件项目经理还有做供方审核时想减少拉扯的质量负责人。2. 从 12207 到 24748-375 页指南里藏着过程落地的三块路标要读懂 24748-3先得知道 12207 本身长什么样。因为这份指南不是替代品而是「解释器」。我第一次翻 24748-3 时最大的感受是它默认你已经看过 12207 的正文然后才告诉你那些条款在实际项目里该怎么操作。所以这一章先拆 12207 的骨架再讲指南到底补了什么最后给一个拿到 PDF 之后立刻能做的动作。2.1 12207 的过程全景协议、使能与技术三层结构里先找到你所在的位置ISO/IEC/IEEE 12207 把软件生命周期过程按职责分成三大类。第一类是协议过程Agreement Processes管的是需方与供方之间的获取和供应说白了就是合同层面的分工谁出钱、谁交付、交什么。第二类是组织项目使能过程Organizational Project-Enabling Processes管的是项目启动前组织层面的准备包括生命周期模型管理、基础设施管理、组合管理、人力资源管理和质量管理——这些过程不直接写代码但没有它们项目连开发环境、人员和验收标准都没有。第三类是技术过程Technical Processes这才是绝大多数工程师每天接触的部分从业务分析、利益相关方需求定义到软件需求分析、架构设计、实现、集成、验证、确认、运行和维护一整条技术工作流。这三层结构是理解 24748-3 的第一块路标。原因很实际不同角色的读者只关心其中一段。项目经理和体系工程师关心组织项目使能过程如何与现有管理制度对接开发团队关心技术过程里每一项活动怎么落地采购和质量人员关心协议过程里的验收与交付条件。指南的内容编排基本也按这个逻辑展开所以读的时候先定位自己在哪一层不要从头到尾平均用力。技术过程内部还分了系统上下文和软件特定两类对纯软件团队来说系统上下文部分可以快速略读重点放在软件特定的需求、设计、实现和验证活动上。这里要特别提一句12207 的过程命名偏抽象比如「利益相关方需求定义」在中小企业里其实就是「需求调研和 PRD 评审」。读指南时建议手里拿一支笔每读一个过程就在旁边写下对应自己公司的实际岗位或现有文档不然很容易读完全文觉得「有道理但不知道怎么做」。2.2 指南补的不是条款而是三类「怎么用」的信息12207 正文的写法是标准式的每个过程给出目的、活动和任务条目清晰但很干。24748-3 补的是另外三类内容这是第二块路标。第一类是过程之间的衔接关系。12207 里每个过程单独成章但实际项目里过程是串起来的需求定义的结果要喂给架构设计验证活动又依赖实现阶段的产物。指南会用较大篇幅解释这些接口告诉你一个过程的输出是另一个过程的输入以及交接时应该有哪些信息。做项目计划的人最需要这部分因为里程碑之间的依赖往往就藏在这些衔接关系里。第二类是生命周期阶段与过程的映射。阶段是时间视角概念、开发、生产、使用、保障、退役六个阶段解决的是「项目走到哪了」过程是逻辑视角解决的是「现在该做什么事」。指南会把这两张表叠在一起说明每个阶段里哪些过程会被激活、哪些过程虽然不在本阶段主导但仍在并行运行。这个映射关系直接决定了评审点怎么设阶段评审不是看日历而是看该阶段应完成的过程活动和输出物是否齐备。第三类是实施与裁剪建议。12207 是为广泛场景设计的大型系统和小工具项目用同一套过程显然不现实。指南会给出裁剪的原则比如哪些过程可以根据项目规模简化、哪些是底线必须保留。24748 系列里还有专门讲裁剪的 24748-2但 24748-3 里已经给了足够启动裁剪的参考思路。提醒一句指南类文件通常用建议性语气措辞核心作用是帮你做决策而不是规定你「必须」怎么做。这一条到第 4 章还会展开但它决定了你读这份文档的心态——它是顾问不是法官。2.3 拿到这份 PDF 的第一步先建索引别从第 1 页硬读到第 75 页很多人拿到标准 PDF 的习惯是从第 1 页翻到最后这不是好习惯。75 页对一个应用指南来说算克制但里面大量内容是解释性文字逐页读效率很低而且容易迷失在段落里。我拿到 24748-3 这种文档时第一件事永远是导出目录书签先建立一套自己的索引再按角色定位跳着读。# 用 PyMuPDF 导出 PDF 目录快速建立 24748-3 的阅读索引 import fitz # PyMuPDFpip install PyMuPDF doc fitz.open(ISO_IEC_IEEE_24748-3_2020.pdf) toc doc.get_toc() # 返回 [(层级, 标题, 页码), ...]层级 1 为一级目录 with open(toc_24748_3.txt, w, encodingutf-8) as f: for level, title, page in toc: f.write(f{ * (level - 1)}{title} :: p.{page}\n) print(f共导出 {len(toc)} 条目录)这段代码的逻辑很简单open 打开 PDFget_toc 读出内嵌书签按层级缩进写入文本文件。关键参数是 level 和 pagelevel 控制缩进层级让你一眼看出章节的从属关系page 是 PDF 内部页码注意它和正文印刷页码通常有偏移最好对照文档前几页的目录修正一次。如果电子版本身没带书签get_toc 返回空列表那就退回到文档自带的目录页配合文本提取工具把关键词定位页码抄下来。导出索引之后我会再做一个过滤把 tailoring、application、mapping、life cycle 这些关键词出现的页码圈出来。75 页的文档里对当前工作真正有用的可能只有十几页。先圈出这些页后面的阅读和团队培训都会快很多。3. 参照 24748-3 落地裁剪五步、过程映射表与项目生命周期计划的最小骨架标准背熟了不代表过程建起来了。这一章讲实际操作怎么从 12207 的全量过程裁剪出适合自己项目的过程集怎么把过程和组织的实际工作对应起来以及最后怎么输出一份能被评审的项目生命周期计划。3.1 动手前的三个判断组织有什么、项目是什么、合同要求什么我一般会阻止团队直接进入裁剪环节因为裁剪的前置条件没想清楚后面的决定全是拍脑袋。动手前先回答三个问题。第一个问题是组织已经有了什么。如果公司已经跑着 ISO 9001 质量体系或者过了 CMMI 评估那组织项目使能过程里的质量管理、人力资源管理等大概率已经有对应制度不需要照着 12207 重新建一套。这时候的任务是映射不是新建。第二个问题是项目是什么类型。全新产品开发、老系统维护、外包交付、内部工具研发这四类项目的技术过程取舍完全不同。全新产品要把需求、架构、验证全跑一遍内部小工具可能只需要需求、实现和确认三个过程其他全部简化。第三个问题是合同和法规要求了什么比如汽车行业的功能安全、医疗软件的验证要求这些是裁剪的底线合同写了就必须保留对应过程不能因为项目小就砍掉。这三个判断的结论要写下来作为裁剪记录的引言部分。将来做外部审核或者换项目成员时这段说明就是「为什么这么简化」的答案。不要嫌麻烦没写下来的裁剪决策在审计员眼里等于没做。3.2 从全量过程到项目适用过程五步裁剪与一张映射表裁剪不是凭感觉删过程我常用的是一张映射表加五步走这里直接给出模板。第一步按组织类型圈定候选过程。软件产品公司重点看技术过程和部分组织项目使能过程外包公司还要把协议过程完整纳入。第二步与现有体系比对把已经在跑的过程标成「已覆盖」避免重复建设。第三步按项目的生命周期阶段圈出要实际运行的过程比如做迭代开发的项目维护阶段相关过程可以暂缓定义。第四步逐条决定保留、简化还是合并并写理由。第五步拉上过程所有者和项目负责人一起评审签字裁剪决定必须有人认账。12207 过程组织现状适用阶段裁剪决定主要输出物责任角色利益相关方需求定义已有 PRD 流程开发保留需求规格说明书产品经理架构定义未建开发简化合并至设计架构设计文档技术负责人组合管理已有项目清单全阶段简化项目登记表项目经理获取过程合同模板已有全阶段保留采购合同、验收单采购部这张表的核心不在一列一列填得多全而在于每个「简化」和「合并」都必须有理由。比如「架构定义简化合并至设计」的理由是「项目为单模块工具类软件无多系统集成需求」这个理由将来可以拿出来解释没有人会质疑。表格每个阶段要重新审视一遍因为项目从开发转入维护后适用的过程集合会变。这张表是动态文档不是一次定死的。3.3 起草项目生命周期计划让指南落到一份能被评审的文档上裁剪表解决「用哪些过程」生命周期计划解决「过程什么时候跑、谁负责、产出什么」。很多团队项目计划只写阶段和里程碑评审时拿不出对应产物问题就出在这阶段是空壳没有过程活动填进去。一份参照 24748-3 思路写出的项目生命周期计划最小骨架应该包含七个部分。一是项目目标与范围界定做什么和不做什么二是选定的生命周期阶段及选型理由这一步要解释为什么用迭代而不是瀑布或者为什么用增量交付三是每个阶段的进入和退出准则用可验证的条件描述四是裁剪记录直接引用 3.2 那张映射表五是角色与职责至少做到 RACI 级别——谁负责执行、谁批准、谁被咨询、谁被知会六是评审点与评审标准明确每个评审点要检查哪些过程输出物七是工具与存储位置需求和缺陷记录放在哪套系统里、文档库在哪里。角色需求管理变更管理阶段评审项目经理AAA/R需求工程师RCC测试负责人CCI客户代表IIR写计划时要把指南里的过程活动翻译成具体执行任务。指南说「执行验证以确认实现满足需求」计划里就要写成「第三轮迭代结束后由测试负责人执行系统测试输出测试报告供评审评审」。第一次做不要追求覆盖率挑一个正在进行的项目做试点比铺开全组织更有效。4. 落地 12207 的常见坑与排查五个翻车场景和对应的止血办法这一章写给所有在过程建设路上踩过坑的人。以下五个场景都是团队落地 12207 时反复遇到的问题每条按「现象、原因、解决」展开可以直接对照自己团队的情况排查。4.1 把全部过程制度化体系越来越厚项目越来越慢现象团队照着 12207 把三十多个过程全部写成程序文件每个过程配月度模板和表单成员填表的时间快赶上写代码的时间项目交付周期明显变长。原因把标准全文当成了制度清单没有做裁剪。12207 定义的是全场景过程集不是每个组织每个项目都必须全量运行。另一个原因是担心审核觉得过程越多越安全结果体系变成了负担。解决回到 3.2 的裁剪表按项目类型重新决定保留和简化。每个保留下来的过程必须有明确的输出物和评审点没有输出物的过程先砍掉。裁剪记录要归档审核时对方问起来拿出裁剪理由比拿出一摞没人看的文件有说服力得多。止血动作是先砍掉文档层重复的记录保留输出物再逐步优化。4.2 标准术语不翻译员工看不懂「组织项目使能过程」现象过程文件发布后开发团队私下抱怨「这份文件每句话都认识连起来不知道让我干嘛」执行率极低。原因12207 的过程命名是高度抽象的比如「组织项目使能过程」对应的是招人、买设备、定流程这一类日常事务标准术语直接落到制度里业务人员不愿意看也看不懂。解决建一张术语对照表左边标准术语右边组织里的人话加实际部门。基础设施管理对应「研发环境与 IT 资产保障」组合管理对应「项目立项与优先级排序」。制度正文用业务语言写标准术语只出现在开篇的术语引用处。培训时先教术语对照表让成员对得上号再讲细节。4.3 把 24748-3 当审核准则指南的建议被当成条款审计越做越别扭现象外部审核员拿着 24748-3 里的描述逐条检查要求组织提供一堆指南根本没有要求的文档和记录双方在现场僵持。原因审核员或体系负责人混淆了「规范性标准」和「指南」的边界。24748-3 的性质是 guidelines作用是辅助理解和应用 12207而不是 12207 的替代品也不构成额外的合规要求。解决体系文件的引用基线明确写成 ISO/IEC/IEEE 12207 本身24748-3 只在内部培训计划和解读文档里出现并在文件头部标注「指引级参考」。审核前内部先做一次清单梳理区分哪些条款是 must哪些是 guidance现场有争议时能拿出依据而不是被对方带着走。4.4 阶段与过程脱节定了六个阶段评审点没有过程输出可以看现象项目计划写了概念、开发、使用等阶段里程碑评审时却拿不出对应的过程输出物评审会开成聊天会最后拍脑袋通过。原因计划里只有阶段命名没有把阶段和过程映射起来。评审点应该对应过程的完成状态比如阶段评审必须看到需求定义过程的产物、设计过程的产物否则评审就没有依据。解决做一张阶段乘过程矩阵行是阶段列是过程组交叉格里填输出物和责任人。评审会前先对照矩阵清点输出缺项的直接改期。这张矩阵做完项目计划里每个评审点的输入输出都清清楚楚评审效率会明显提升。4.5 文件有了工具没跟上过程只是纸面流程现象体系文件已经发布但需求还是散在邮件里变更靠口头沟通缺陷记录在个人 Excel 中过程执行情况完全无法追溯。原因过程落地只做了文档化没有把关键活动绑定到工具。标准里写的过程活动如果没有工具承载就只存在于文档里实际执行全靠自觉。解决从技术过程里优先挑需求管理、变更管理、配置管理三个过程绑定工具设置状态流转和审批链让过程记录在工具里自动产生不用人工补录。其他过程可以后续逐步接入但这三个必须先跑起来因为它们是技术过程里最容易被审计追踪的部分。工具选型不用追求复杂能记录状态和责任人即可。5. 把 75 页指南变成团队自检工具三张表跑通一轮过程体检指南的最后一个用法是当镜子定期照一照团队的过程健康度。不用请外部审核自己用三张表就能跑一轮完整的过程体检我把这个做法固化了下来。第一张是过程覆盖率检查表在 3.2 裁剪表的基础上核对组织已定义的过程覆盖了 12207 三大类中的哪些、漏了哪些。做过一次体系建设的团队最常见的盲区是协议过程没人管因为公司内部开发几乎不触发获取和供应。如果哪天接了个外包项目这个盲区就会立刻爆雷。覆盖率检查一年做一次即可。第二张是输出物追溯表。把项目最近一个里程碑实际产生的所有工作产物列出来比如 PRD、设计文档、测试报告、变更申请单逐项反向标注来自哪个 12207 过程。这张表能暴露两类问题一类是有活动没产物某个过程在计划和会议里存在但落地时没有形成任何可查的记录另一类是有产物没过程认领比如测试报告写了但测试过程没有定义职责和标准报告质量全靠个人水平。这两类问题都是过程失效的前兆。第三张是角色 RACI 核对表。抽出需求管理、变更管理、阶段评审三个过程让每个参与角色自己填「实际做这件事吗」再把结果和体系文件里的 RACI 对比。偏差大的位置要么是文件定义脱离实际要么是执行走样。这个过程不需要开会填表加访谈半天就能完成。这三张表按季度轮换做一张每张控制在两小时评审会就能收口。我早年做体系时翻车就是因为只写了文件从不回头看等审计发现问题才补救。后来固定了这三张表的节奏过程体系才真正从文档库里活了起来。希望帮到你。本文还有配套的精品资源点击获取
返回列表