定义
软件需求是指用户对系统在功能、行为、性能、设计约束等方面的期望。
活动
- 需求开发:需求获取、需求分析、需求定义(需求文档化)、需求验证。
- 需求管理:变更控制、版本控制、需求追踪、需求状态追踪
分类
- 业务需求:整体全局的目标要求
- 用户需求:用户视角,产品使用
- 功能需求:开发认为有实现的软件功能(功能需求、性能需求、设计约束)
- 基本需求
- 期望需求(隐含)
- 兴奋需求(多余)
需求获取方法
- 用户面谈
- 需求专题讨论会
- 问卷调查
- 现场观察
- 原型化方法
- 头脑风暴法
需求变更管理
- 问题分析和变更描述
- 变更分析和成本计算
- 变更实现
需求跟踪
需求跟踪是项目管理中的一个重要环节,它确保从需求提出到最终交付的整个过程中,每个需求都能被明确、准确地实现,并且能够追溯其变化历程和实施状态。以下是如何实现需求跟踪的具体步骤:
- 建立需求基线
- 创建需求跟踪矩阵:
- 需求跟踪矩阵(Requirements Traceability Matrix, RTM)是一种用于记录和追踪需求与其后续工作项(如设计、代码、测试用例等)之间关系的工具。在RTM中,通常包含以下列:
- 需求ID:唯一标识每个需求。
- 需求描述:简洁明了地阐述需求内容。
- 相关工作项:如设计文档、代码模块、测试用例等的ID或名称,以及它们与对应需求的关系。
- 责任人:负责实现该需求的相关人员。
- 状态:记录需求及其关联工作项的完成情况,如“已设计”、“已编码”、“已测试”、“已验收”等。
- 变更历史:记录需求变更的时间、原因、影响及审批结果等信息。
- 实施需求变更管理
- 定期审查和报告:
- 定期(如每周、每月)召开需求状态会议,审查RTM,检查需求实现进度、问题和风险,调整工作计划。
- 使用项目管理工具辅助跟踪:
- 利用现代项目管理软件(如JIRA、Trello、Azure DevOps等)创建电子化的RTM,便于实时更新、查询、统计和共享。