第8章 需求分析
知识点:软件需求的类型、利益相关者、获取用户需求的常用方法和步骤、竞争性需求分析的框架NABCD、四象限方法、KANO图、项目计划和估计的技术、任务划分的技术WBS
软件需求的类型
- 对产品功能性的需求:要求产品必须实现某些功能
- 对产品开发过程的需求:要求软件开发过程必须满足某些约束条件,如开发过程产生的文档、代码规范等等
- 非功能性需求:“服务质量需求”,能满足实时性、经受得住压力测试等等
- 综合需求:不仅仅一个软件模块即可以解决,例如,”淘宝“,不仅需要APP、还需物流等等之类的配合
利益相关者
- 用户:用软件
- 顾客:买软件
- 市场分析师:”大牌顾客“,整合大量用户的需求
- 监管机构:软件不能做出格的事情
- 系统/应用集成商
- 软件团队:开发软件
- 软件工程师:软件团队子成员
获取用户需求的常用方法和步骤
- 焦点小组(Focus Group)
找寻目标用户代表,加上项目利益相关者讨论用户想要什么,对软件的评价。
缺点:容易各执一词,需要有一位厉害的主持人,让各方各抒己见。
- 深入面谈
通过深入的面谈,了解用户的背景、心理、需求等。通常是一对一,比较耗时耗力,一般用在特定领域,例如了解软件的用户可用性和用户界面等等。
- 卡片分类
把各种需求做成便于规整的”小卡片“,并反复进行讨论->明晰定义->归类->排序,让小组对软件需求有更统一的认识。
用户调查问卷
用户日志研究
用户记录自己日常工作或生活中所用软件相关的行为,供软件团队分析。
- 人类学调查
于用户一起“同吃同住同劳动”,了解用户的生活环境,进而了解用户需求。
眼动跟踪研究
快速原型调研
A/B测试
NABCD框架
1)N(Need,需求)
创意解决了用户的什么需求。
2)A(Approach,做法)
有什么具体技能,可以解决该方案。
3)B(Benifit,好处)
产品解决方案可以为客户带来何种好处。
4)C(Competitors,竞争)
与竞争对手之间的分析,了解我方优势及弱势。
5)D(Delivery,推广)
一段经典的话,回答NABCD框架:
各位领导/投资人/合作伙伴: 我们的产品 <foo> 是为了解决 <目标用户> 的痛苦, 他们需要 <Need>, 但是现有的方案并没有很好地解决这些需求,我们有独特的办法 <Approach>, 它能给用户带来好处 <Benefit>, 远远超过竞争对手 <Competitor>. 同时,我们有高效率的 <Delivery> 方法,能很快地让大部分用户知道我们的产品,并进一步传播。
四象限方法
- 杀手功能:功能性功能
- 外围功能:类似界面设计,多平台运行
- 必要需求:基本功能保证准确
- 辅助需求:比方说为软件做各种皮肤
Work Breakdown Structure(WBS)
从最终的产品开始,一层一层往下,把大型交付件分割为小型、具体的交付件。每个节点需要有相应交付的产品以及文档。