当前位置: 首页 > news >正文

开发人员如何了解用户和需求

很多前辈和书上都说开发人员,尤其是架构师和技术经理需要有商业感觉,我一直试图培养自己这方面的能力,可是常常不知所措,一说到感觉,就意味着要么是与生俱来的,要么就是在商业世界里一点一滴积累起来,而对于我们这些整天泡在技术细节里的人谈何容易。其实对我们来说,商业感觉这个词太大了,过于抽象,以至于我们不知如何做起,我觉得不如缩小范围,把我们要服务的用户和要实现的需求搞清楚倒是来得实在些。记得去年被收购的时候,新来的老板骂我们不懂用户不懂需求,做的东西别手蹩脚,磕磕跘跘。虽然感觉有些不爽,但审视自己确实没在用户和需求上下多大功夫。因此,开发人员要培养商业感觉应该从用户和需求开始。

读了下苏杰的《人人都是产品经理》,学习到了一些研究用户和需求的方法和观点,加上一些自己的理解整理如下:

体会真正的用户

都说开发人员要走向前台,去接触最真实的用户,但真正做到的没几个,要么就是象征性地参加一下公司组织的需求调研活动(少得可怜),要么就是把自己当用户,开发人员把自己当用户说到底就是YY,怎么可能是真实用户呢?自己是研发人员,面对是一行行代码,真实用户是网商,面对是拿不到订单就关门的商业环境。一个开发人员面对一个需求的时候,一般会这么来思考:界面流程是什么样的?这个流程中会涉及到哪些数据?如何用服务包装这个流程中的各个动作?会不会有性能问题?这样一路下来,有哪些东西是和真实用户有关系,又有哪些是在考量那个最原始的需求本质。因此,要体会真正的用户就是要打破这种思维定势,跳出开发人员所处的圈子,多和真实用户交流,多考虑一些与技术无关的问题。

试着描述用户

体会用户的一个很好的办法就是做描述用户的练习,当然描述和自己不搭嘎的用户群体比较困难,我们可以先从比较熟悉的用户群体开始,比如普通的网民,我们本身就是属于网民群体,我们会使用到各种各样的网络产品,比如email、 IM、RSS等等,我们可以从这些经常使用的产品开始,描述自己的需求和体验感受。为什么有些人(比如PD)对产品很有感觉,能说出很多自己的见解?其实他们也是因为会留心去考量产品,而不仅仅只是停留在使用的层面上。我相信这种练习虽然不能立竿见影,但简单可行,久而久之就能更多地站在用户的层面思考问题,对产品的理解也会有自己的一番见解。

用户研究的四个维度

《赢在用户Web人物角色创建和应用实践指南》这本书里讲到一个四个维度的用户研究方法,如下图所示:

在研究和实践过程中一般按照如下顺序:

1)听用户定性地说:用户访谈。助力产出需求列表

2)定量地说:调查问卷。助力给需求按优先级排序

3)定性地做:可用性测试。助力验证需求的可行性

4)定量地做:数据分析。助力持续改进产品

需求来源于用户,更要超越用户

这里说的需求实际上指的是需要实现的产品需求,而需求分析实际上是把用户需求转化为产品需求。技术人员喜欢采用的方式是“树干-树枝-树叶”总分的方式,而需求分析的合适方式是首先“树叶-树枝-树干”,然后“树干-树枝-树叶”,实际上是“分-总-分”的方式,因为只有这样我们的产品需求是忠于用户的,起源都是用户零散原始的需求,然后通过归纳和结构化才能看到需求背后的本质。最后,基于我们提炼的本质,再细化去做,转化为一个个可实现和实施的需求列表。

从生活中去体会产品的点点滴滴

对用户的研究和需求的把控实际与自己的生活态度和对周围细节的观察息息相关,这方面的能力不是可以像学技术那样看几本书,埋头搞几天就能提高的,需要做一个有心人。软件产品只是产品总集中非常小的一个子集,因此不用拘泥于此,可以放眼到生活中万物,比如店铺、电梯、餐馆的菜单等等,尝试留意这些平时被我们习惯或漠然的东西,分析它们的可用性和易用性,甚至可以思考改进方案。很难想象一个不关心生活,整天埋头于技术细节的工程师能在产品和需求上提出什么独到的见解。

一些值得参考的书和博文

产品经理值得读的12本书

产品经理值得看的16个博客

相关文章:

  • list 导出为excel
  • 软考--系统开发与软件工程
  • 分布式设计与开发(六)------让memcached分布式
  • poj 2421 Constructing Roads 解题报告
  • 发布一个基于 Reactor 模式的 C++ 网络库
  • 定长度结构体数组、不定长度结构体指针初始化
  • 软考--数据库SQL
  • C++默认参数不能是一个引用
  • 【转】一致性哈希算法
  • 面试时,我说谎了——Leo网上答疑44
  • 转载百度百科上的强回复,关于spring的IOC和DI
  • CakePHP 编程笔记
  • EPiServer 简单项目总结
  • 小修改,让mvc的验证锦上添点花(1)
  • linux根目录各文件夹的含义
  • [译]CSS 居中(Center)方法大合集
  • 《深入 React 技术栈》
  • C学习-枚举(九)
  • es6要点
  • FastReport在线报表设计器工作原理
  • JS专题之继承
  • Laravel 菜鸟晋级之路
  • Mysql数据库的条件查询语句
  • spark本地环境的搭建到运行第一个spark程序
  • vue学习系列(二)vue-cli
  • 从 Android Sample ApiDemos 中学习 android.animation API 的用法
  • 等保2.0 | 几维安全发布等保检测、等保加固专版 加速企业等保合规
  • 分类模型——Logistics Regression
  • 基于Volley网络库实现加载多种网络图片(包括GIF动态图片、圆形图片、普通图片)...
  • 记录:CentOS7.2配置LNMP环境记录
  • 类orAPI - 收藏集 - 掘金
  • 漂亮刷新控件-iOS
  • 你对linux中grep命令知道多少?
  • ​LeetCode解法汇总2583. 二叉树中的第 K 大层和
  • # 达梦数据库知识点
  • #AngularJS#$sce.trustAsResourceUrl
  • (翻译)Quartz官方教程——第一课:Quartz入门
  • (黑客游戏)HackTheGame1.21 过关攻略
  • (教学思路 C#之类三)方法参数类型(ref、out、parmas)
  • (三)uboot源码分析
  • (十八)SpringBoot之发送QQ邮件
  • (十三)Java springcloud B2B2C o2o多用户商城 springcloud架构 - SSO单点登录之OAuth2.0 根据token获取用户信息(4)...
  • (淘宝无限适配)手机端rem布局详解(转载非原创)
  • (已更新)关于Visual Studio 2019安装时VS installer无法下载文件,进度条为0,显示网络有问题的解决办法
  • (转) Face-Resources
  • .java 指数平滑_转载:二次指数平滑法求预测值的Java代码
  • .net core 6 集成和使用 mongodb
  • .NET Core 实现 Redis 批量查询指定格式的Key
  • .Net Core 中间件验签
  • .Net 路由处理厉害了
  • .NET 使用配置文件
  • .NET业务框架的构建
  • @Async注解的坑,小心
  • @serverendpoint注解_SpringBoot 使用WebSocket打造在线聊天室(基于注解)
  • @test注解_Spring 自定义注解你了解过吗?