需求分析
1、对需求的基本认识
1.1、什么是需求
这个不是哲学问题啦,在工程中,需求按提出者分为两种:
用户需求:由用户提出。原始的用户需求通常是不能直接做成产品的,需要对其进行分析提炼,最终形成产品需求。
产品需求:产品经理针对用户需求提出的解决方案。
1.2、需求分析内容
需求分析不是一个动作,而是一个过程,需要经历三个步骤:
挖掘真实需求提出解决方案:直到目标用户,其使用场景和想要解决的问题,就可以结合产品定位,提出相应的解决方案。
筛选和验证方案:对方案进行筛选,去掉不合适的方案,选定方案后,需要对方案进行验证,确保能解决用户需求。
挖掘用户的真实需求,可以从三个角度入手:
目标用户使用场景要解决的问题:用户背后想要解决的问题是什么
1.3、怎么做需求分析
软件项目的需求从来不是单一的,是一系列需求,需求分析的整个过程是迭代进行的:
收集需求:对用户需求进行收集整理
分析需求:对需求进行分析,挖掘用户真实需求
需求评估:筛选过滤掉不可行的需求
需求设计:针对用户需求提出解决方案,设计成产品方案验证需求:验证方案是否可行
收集需求 收集用户需求有很多方法,可以参考:
头脑风暴:头脑风暴会议
用户调研:通过调查问卷或访谈,收集问题反馈
竞品分析:通过分析同类产品的功能获得需求
快速原型:通过原型来收集反馈,确认需求
分析需求 用户的真实需求有三个层次:
表层需求:用户对解决问题的期望
深层需求:用户的深层次动机,诉求产生的原因
底层需求:人性本能的需求
需求评估 需求评估需要考虑的因素有:
可行性:技术能否实现
成本:人力成本、时间成本
商业风险和收益:有没有商业风险,收益是否合理
紧急性与重要性:是不是用户迫切的需求
确定可行后,需要评估优先级,简单的可以使用四象限法,复杂的有KANO模型
需求设计 在需求设计的时候,可以用草图、原型设计工具、界面设计工具进行设计。同时,设计阶段可以参考其他成熟的产品。
验证需求 对需求的验证方式其实是贯穿整个软件项目生命周期的,在需求分析阶段,会反复验证,确认设计好的需求是否满足用户的真
实需求,比如各种设计评审。 产品开发完成后,需要有需求的验收,来确保开发出的需求满足用户的真实需求,比如可以使用 A/B测试。
2、原型设计
明确用户需求是一件至关重要的事,想要低成本地确认用户需求,可以借助原型工具来实现。
瀑布模型的衍生模型中有一个叫:快速原型模型。可以低成本、快速地确认好请求。但也有一个问题,需要开发人员配合才能完成。
快速原型模型可以简单分为三个阶段,原型设计对应这三个阶段要达到的效果进行分类:
低保真原型设计:通过线框图来展示界面上有什么,布局是什么样的。
中等保真原型设计:不仅反映界面上的布局和内容,还可以展示网站的整体结构和交互。在真实度、色彩上要比最终的产品差一些。
高保真原型设计:在界面的美观和交互的炫酷上要求真高。学习和制作成本都比较高,一般和低保真原型设计配合使用,先用低保真原型
设计快速确认清楚需求,再用高保真原型确认最终的交互和UI设计。
2.1、如何做好原型设计
参考工程方法,将原型设计的过程分成四个部分。
step1 分析:搞清楚用户需求,原型设计目标
step2 设计:划分好产品的信息架构,设计好产品操作的流程 在设计阶段主要从两个维度
来考虑:
信息框架:考虑清楚整个产品的信息框架,划分出模块。比较好的实践:画产品的信息结构图。使用流程:考虑清楚界面之间的流程。好
的实践:画产品使用流程图。
宝玉老师给出了极客时间APP的产品信息结构图和使用流程图的示例。
step3 实施:按照设计的结果,对每个界面制作原型,并做好界面之间的链接 。
step4 验证:和项目成员、客户进行确认,收集意见反馈,根据反馈进行修改。
2.2、原型设计工具
原型设计工具很多,选择的时候可以从这几个维度去考虑:
面向的平台:web、桌面、移动端保真度功能成本
具体工具推荐:
工具 | 介绍 |
---|---|
Axure RP | 历史悠久功能强大,专业度较高,价格高 |
墨刀 | 国产上手较为容易,模板很多,价格便宜 |
Adobe XD | 可制作高保真模型,设计师较容易上手 |
ProtoPie | 高保真原型设计工具 |
Framer X | 高保真原型设计工具,需要一定的编程基础 |
3、需求变更
在需求变更这个事情上,没有赢家,每个人都是受害者。
目前有很多管理需求变更的解决方案。比如:
增强需求变成流程,让需求变更规范起来。通过严格的流程来过滤没有意义的变更快速迭代,缩短版本周期。
比解决方案更重要的是,追本溯源,分析原因,做到即使场景变换,也可以对症下药。
3.1、需要变更的原因
对比建筑行业的需求变更,软件行业的变更可以说是非常频繁了,究其原因,主要是两个方面:
需求的确定性:软件工程的需求经常是抽象的、模糊的、不精确的。
需求变更的成本:软件行业中,很多老板对软件项目需求变更导致的成本缺少系统认识。
3.2、如何解决需求变更问题
在软件项目开发中,需求变更其实不可避免的,一味地址需求变更也是不可取的。我们能做的就是利用软件工程的知识,理解需求变更背
后深层次的原因,找到合适的方案来改善,积极拥抱合理的需求变化,减少不必要的需求变更。
从源头出发,针对需求变更发生的原因来给出解决方案:
提升需求确定性,把需求分析做好,减少需求变更提高需求变更的成本,让客户或者产品经理不能太容易变更需求,这样就可以达到减少
需求变更的目的。降低响应需求变更的成本,可以方便快捷地响应需求变更。