ISO/IEC IEEE 29148 — 需求工程

系统生命周期中需求开发、管理和验证的综合框架

ISO/IEC IEEE 29148 标准概述

ISO/IEC IEEE 29148是需求工程的国际标准,为整个系统和软件生命周期中的需求开发、管理和验证提供了统一框架。它整合了ISO、IEC和IEEE的最佳实践,形成了一个涵盖整个需求工程学科的综合性标准——从需求获取和分析到规格说明、验证和维护。不良需求一直被列为50-70%项目失败的根本原因,使得该标准成为工程师、分析师和项目经理的重要参考资料。

修复需求缺陷的成本在项目生命周期中呈指数级增长:在获取阶段发现的100美元错误,如果在部署后发现,将花费10,000美元以上。29148提供了早期发现缺陷的实践方法。

该标准在ISO/IEC 15288(系统生命周期)和ISO/IEC 12207(软件生命周期)的背景下定义了需求工程过程。它涵盖四个主要过程领域:需求获取(发现利益相关方需求)、需求分析(完善和建模需求)、需求规格说明(记录需求)和需求管理(控制变更和维护可追溯性)。每个过程领域包括具体的活动、任务和工作产品,并提供详细的执行指南。

需求规格说明与质量特性

29148的一个重要贡献是其对需求质量特性及其评估方法的详细规定。每个需求应是必要的、实现独立的、无歧义的、一致的、完整的、单一的、可行的、可追溯的、可验证的和可理解的。该标准为评估每个特性提供了具体标准,使得评审客观而非主观。需求规格说明本身则基于完整性、一致性、可修改性和可追溯性进行评估。

质量特性 描述 评估标准
必要性 需求代表一项基本能力或约束 移除该需求是否影响系统目标?
无歧义性 需求只有一种解释 两个不同的读者会得出相同的理解吗?
可验证性 需求可通过检查、分析、演示或测试验证 是否有定义的通过/失败标准和评估方法?
可追溯性 需求链接到来源和下游工件 是否知道来源?能否映射到设计和测试工件?
可行性 需求在成本、进度和技术约束内可实现 是否已针对技术可行性研究进行验证?
实施29148需求实践的组织报告与需求相关的缺陷减少40-60%,项目返工减少25%,利益相关方满意度评分有可衡量的提升。

需求管理工程最佳实践

有效的需求管理(如29148所定义)依赖于建立需求管理计划,该计划定义了过程、工具、可追溯性策略和变更控制程序。该标准强调双向可追溯性:每个需求必须追溯到利益相关方需求,并正向链接到设计元素、实现工件和测试用例。这种追溯链能够在需求变更时进行严格的影响分析——这是在复杂系统中的关键能力,单个需求变更可能波及许多子系统。

需求工程中一种普遍的反模式是”需求倾倒”——交付一份庞大的规格说明文档,但没有层次化地组织信息,也没有在需求之间建立清晰的关系。29148明确要求结构化的需求组织,具有清晰的分区和依赖映射。

对于在现代开发环境中实施29148的工程团队,该标准的原则很好地适用于敏捷和DevOps场景。用户故事是一种可以使用29148质量特性进行评估的需求规格说明形式。验收条件对应于可验证性要求。产品待办列表作为需求仓库,每个条目可追溯到代表利益相关方需求的史诗和主题。标准对验证的强调——确保捕获了正确的需求——与敏捷原则中持续利益相关方反馈的理念直接一致。

任何工程项目中最大的风险不是技术复杂性——而是构建了错误的东西。不良的需求工程比任何其他因素导致更多的项目失败。ISO/IEC IEEE 29148提供了缓解这一风险的纪律严明的框架,但需要组织承诺才能有效实施。

常见问题

问:29148适用于敏捷项目吗?
答:是的,完全适用。该标准对需求质量特性、利益相关方需求和验证的关注点不论方法论如何都适用。用户故事和验收条件可以使用29148标准进行评估。
问:29148是否需要特定工具?
答:不。它是工具无关的。需求可以在电子表格、专业需求管理工具(DOORS、Jama、Codebeamer)或敏捷项目管理平台(Jira、Azure DevOps)中进行管理。
问:29148与INCOSE需求指南有何关系?
答:29148与INCOSE指南密切一致。该标准吸收了INCOSE最佳实践,并将其正式化到ISO/IEC过程框架中。
问:利益相关方需求和系统需求有什么区别?
答:利益相关方需求以问题领域的语言从用户角度描述需求。系统需求以技术术语描述系统必须做什么,构成设计和验证的基础。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注