理解问题



典型的软件开发流程遵循以下步骤:

  • 需求收集
  • 问题定义
  • 系统设计
  • 实现
  • 测试
  • 文档编写
  • 培训和支持
  • 维护

前两个步骤帮助团队理解问题,这是获得解决方案最关键的第一步。负责收集需求、定义问题和设计系统的人员称为系统分析师

需求收集

通常,客户或用户无法清晰地定义他们的问题或需求。他们对想要什么只有一个模糊的概念。因此,系统开发人员需要收集客户需求以了解需要解决的问题,或者需要交付什么。只有首先了解正在开发解决方案的业务领域,才能对问题有详细的了解。一些有助于了解业务的关键问题包括:

  • 正在做什么?
  • 它是如何完成的?
  • 任务的频率是多少?
  • 决策或交易的量是多少?
  • 遇到了哪些问题?

一些有助于收集这些信息的技巧包括:

  • 访谈
  • 问卷调查
  • 研究现有系统文档
  • 分析业务数据

系统分析师需要创建清晰、简洁但全面的需求文档,以便识别SMART需求——具体、可衡量、已商定、现实和基于时间的。未能做到这一点会导致:

  • 问题定义不完整
  • 程序目标不正确
  • 返工以向客户交付所需结果
  • 成本增加
  • 交付延迟

由于需要深入的信息,需求收集也被称为详细调查

问题定义

收集并分析需求后,必须明确地陈述问题陈述。问题定义应明确说明需要解决哪些问题。拥有清晰的问题陈述对于:

  • 定义项目范围
  • 保持团队专注
  • 使项目保持正轨
  • 验证在项目结束时是否实现了预期的结果
广告