项目经理初长成——明确认知



对本文有任何问题,可加我的个人微信询问:kymjs666

作为项目经理,尤其是移动开发项目经理,有时候不得不去思考一些非技术上的东西,例如用户体验。
在《参与感》一书中有这样一句话,是作为小米设计总监黎万强在回答小米首次融资的投资商时说的:用户体验就是“好用,好看”,翻译成设计语言就是“UI,UE”的话题,但是,“为谁设计”是最重要的先决条件。在软件开发中,开发人员最希望,但也是最难实现的是不会改变的需求。那么如何做到明确认知,保证最大程度上需求不会变更呢?答案就是明确为谁设计。当明确了为谁设计,我们才能去讨论如何设计。

为谁设计

要明确为谁设计,可以把用户分为三种类型。
专家型用户愿意探索你的产品或服务,并且会给你提出各种改进建议。他们希望看到的是为他们量身定做的的技术,他们愿意在新产品上花时间研究,探索新功能。
第二类是恋旧型用户。在《简约至上,交互式设计策略》中,也叫他们随意型用户,不过我更愿意叫他们恋旧型用户。这类用户可能当前已经在使用类似的产品,他们有兴趣使用更高级更复杂的新功能,但却不愿意接触全新的东西。如果想让这部分用户放弃他们当前的产品而去使用新的类似产品,除非新产品足够简单。
第三类是主流用户。这是最大的用户群体,他们使用你的产品可能至上为了完成某些任务。他们会掌握一些功能,但绝不会想学会全部功能。
举例说明:在LOL游戏的S4赛季以前,玩LOL最著名的辅助工具是英雄联盟盒子。它有很多功能,例如野怪计时,一键喊话,战绩查询,论坛,视频等。那么主流用户使用这个软件,可能只使用野怪计时,一键喊话等功能;而专家型用户则会深入研究盒子的一切功能,比如在论坛中交友,用盒子看视频等,甚至还会反馈给开发者自己需要的功能。但是在S5赛季后,官方出了一款类似的辅助叫TGP助手,同时也拉拢了一批用户。
此时,我来分析一下我的身份,大家也可以找一款类似软件设身处地的想一下。首先对于盒子软件,我是典型的大众型主流用户,我只使用他的一部分游戏相关功能,而不想也不愿意去用其他的一些功能。而对于TGP,我则是恋旧型用户,即便他们有着相同的功能,但是因为我已经习惯了盒子,要想再去用一个新的,除非它们的操作一模一样,可以消去我的陌生感。

设计原则

经过上面的分析,其实很容易反应过来,没有任何一款软件能够保证所有用户群面面俱到。那么我们所需要的就是抓住最大的用户群,让最大的用户群觉得好用,也就是围绕我们的主流用户来设计软件。
用户有了,接下来就是认知:主流用户想要什么?
在明确自己的认知时,要时刻吧主流用户放在心坎上,这样才不至于无意间切换到专家视角,从而避免一些难以察觉的设计问题。

  • 主流用户最感兴趣的是立即吧工作做完,专家则喜欢首先设置自己的偏爱。
  • 主流用户任务容易操作才最有价值,专家则在乎操控的是否精确。
  • 主流用户想得到靠谱的结果,专家则想看到完美的结果。
  • 主流用户想看到示例和故事,专家则想看到的是实现原理。

定义需求

有了以上的认知,最后就是需求的确立。
很多人会分不清需求、功能特性、开发文档,这三者的关系。
首先我们来看一下wiki百科给出的定义:
需求是描述一个产品的特性如何解决现有的或潜在的问题。
功能被添加到产品中用以处理哪些重要的问题
开发文档具体描述了将怎样解决问题和满足需求。
再来举个例子:
“我们想要在国外也推出这款软件”,这就是一个需求。相对应的功能应该是”我们需要提供你国际化支持”。这类文章一般是由项目经理来负责一个项目的定义与确立。而对应的开发文档是:”我们讲把所有的显示字符串放置到value资源包中供引用调用”。开发文档应当是交由系统架构师来书写。
网上经常会有博客说,开发人员与负责人之间的矛盾,其实这只是由于项目负责人没有分清需求与开发文档之间的界限,最终造成要么是软件开发人员来决定什么功能对可以重要,要么是项目经理来告知开发人员如何编码。

再次举例

好像举的例子有点多了,不过我一直认为举例是描述一个空乏定义的最好方式。
我曾深入思考过开源中国客户端的市场需求与定位。首先客户端面向的是程序员群体,当然这里忽略那些想要深入研究oschina客户端源码的Android程序员,他们可以归类到专家型用户中。还是那句,主流用户并不在乎你有多少功能,他们只在乎他们想要的。oschina客户端真正能抓住用户的是首页资讯,动弹,博客所以oschina在浏览这些内容的时候是不需要账号的。但在最初的版本中,夹杂了开源软件列表、技术问答等一系列额外的模块,造成首页视图混乱,用户难以分辨主次。于是做了一次改版,把不需要的功能隐藏到不是那么显眼的侧滑菜单中。

以上内容只是我个人的一些见解,如果你有更好的想法,也欢迎告诉我。你可以在这里找到我的资料http://www.kymjs.com/about