理解问题
典型的软件开发流程遵循以下步骤:
- 需求收集
- 问题定义
- 系统设计
- 实现
- 测试
- 文档编写
- 培训和支持
- 维护
前两个步骤帮助团队理解问题,这是获得解决方案最关键的第一步。负责收集需求、定义问题和设计系统的人员称为系统分析师。
需求收集
通常,客户或用户无法清晰地定义他们的问题或需求。他们对想要什么只有一个模糊的概念。因此,系统开发人员需要收集客户需求以了解需要解决的问题,或者需要交付什么。只有首先了解正在开发解决方案的业务领域,才能对问题有详细的了解。一些有助于了解业务的关键问题包括:
- 正在做什么?
- 它是如何完成的?
- 任务的频率是多少?
- 决策或交易的量是多少?
- 遇到了哪些问题?
一些有助于收集这些信息的技巧包括:
- 访谈
- 问卷调查
- 研究现有系统文档
- 分析业务数据
系统分析师需要创建清晰、简洁但全面的需求文档,以便识别SMART需求——具体、可衡量、已商定、现实和基于时间的。未能做到这一点会导致:
- 问题定义不完整
- 程序目标不正确
- 返工以向客户交付所需结果
- 成本增加
- 交付延迟
由于需要深入的信息,需求收集也被称为详细调查。
问题定义
收集并分析需求后,必须明确地陈述问题陈述。问题定义应明确说明需要解决哪些问题。拥有清晰的问题陈述对于:
- 定义项目范围
- 保持团队专注
- 使项目保持正轨
- 验证在项目结束时是否实现了预期的结果
广告