软件工程之美学习笔记十八 17 | 需求分析到底要分析什么?怎么分析?

《软件工程之美》材料地址:https://time.geekbang.org/column/article/88833

需求分析示意图(秋千图)

软件工程之美学习笔记十八 17 | 需求分析到底要分析什么?怎么分析?

什么是需求?

  • 用户需求:
    项目经理对产品经理说:用户给我们提了一个需求,想要一个给三个孩子玩的秋千,你分析一下;
  • 产品需求 :产品经理对架构师说:我们现在有一个需求,在树上栓两绳子,再吊一块板子,你做一下设计。

需求分析是要分析什么?

需求分析,就是对用户需求进行提炼分析,最终形成产品需求的过程。
第一步:挖掘真实需求

  • 目标用户:用户不同,诉求也不一样;
  • 使用场景:使用场景不一样,解决方案也会有所不同;
  • 想要解决的问题:用户背后想要解决的问题是什么。

第二步:提出解决方案
第三步:筛选和验证方案
在传统瀑布模型中,选定方案后,会写成产品设计文档,走相应的评审流程,评审完成后再进行设计、开发和测试,测试完成后会让客户再进行验收。
而敏捷开发,在整个开发过程中,每个迭代或者关键的里程碑,也一样需要客户进行验收。

怎样做需求分析?

软件工程之美学习笔记十八 17 | 需求分析到底要分析什么?怎么分析?

  • 收集需求:对用户需求进行收集整理;
  1. 头脑风暴:就是大家一起开会头脑风暴讨论;
  2. 用户调研:通过调查问卷或者访谈,通过问用户一些问题收集反馈;
  3. 竞品分析:通过分析其他同类产品的功能获得需求;
  4. 快速原型:通过原型来收集反馈,收集确认需求。
  • 分析需求:对需求进行分析挖掘用户真实需求;
    要结合“目标用户”和“使用场景”,进行三个层次的需求分析
  1. 表层需求:用户对解决问题的期望
  2. 深层需求:用户的深层次动机,诉求产生的原因
  3. 底层需求:人性本能的需求
  • 需求评估:筛选过滤掉不可行的需求;
  1. 可行性:技术能否实现;
  2. 成本:人力成本、时间成本;
  3. 商业风险和收益:有没有商业上的风险,收益是否合理;
  4. 紧急性与重要性:是不是用户迫切的需求。
    软件工程之美学习笔记十八 17 | 需求分析到底要分析什么?怎么分析?
    软件工程之美学习笔记十八 17 | 需求分析到底要分析什么?怎么分析?
    红色曲线,是用户认为必须要有的功能;
    绿色曲线,就是用户明确提出的需求;
    黄色曲线,属于兴奋型需求,就是用户自己没想到,超出预期的功能。
  • 需求设计:针对用户需求提出解决方案,设计成产品方案;
    在需求设计的时候,可以用草图、原型设计工具、界面设计工具进行设计。
  • 验证需求:验证方案是否可行。(同前述评审验收,补充A/B测试)