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、如何解决需求变更问题

在软件项目开发中,需求变更其实不可避免的,一味地址需求变更也是不可取的。我们能做的就是利用软件工程的知识,理解需求变更背

后深层次的原因,找到合适的方案来改善,积极拥抱合理的需求变化,减少不必要的需求变更。

从源头出发,针对需求变更发生的原因来给出解决方案:

提升需求确定性,把需求分析做好,减少需求变更提高需求变更的成本,让客户或者产品经理不能太容易变更需求,这样就可以达到减少

需求变更的目的。降低响应需求变更的成本,可以方便快捷地响应需求变更。