产品经理做什么?

简介: 开篇 开发一个产品(本文“产品”特指移动端软件产品,但是移动端产品的设计流程和方法与PC端的产品并无本质区别), 可以是一项很简单的事情: 打开IDE,拖几个控件,写几行代码,做一个简单的测试,提交到app store上, 一个下午搞定一个产品;  也可以是一项很复杂的事情: 他可能...

开篇

开发一个产品(本文“产品”特指移动端软件产品,但是移动端产品的设计流程和方法与PC端的产品并无本质区别),

可以是一项很简单的事情:

打开IDE,拖几个控件,写几行代码,做一个简单的测试,提交到app store上,

一个下午搞定一个产品; 

也可以是一项很复杂的事情:

他可能会包含严格的前期设计、

可用性测试、验收测试(在数千种不同的环境和终端上进行的测试)、

一个完整的生命周期管理方案、

并且规划出不同的实现方案; 

本文将详细介绍一下产品的开发过程,也就是软件开发生命周期:

(SDLC:Software Development Lifecycle)

我们将针对产品生命周期的各个阶段进行详细的讨论,

包括:灵感、设计、开发、测试、分发、维护等内容;

另外我们也会讨论,在产品开发的各个阶段存在的各种各样的权衡和取舍; 

这篇文章试图回答一系列关于产品研发生命周期的基本问题

文章所涉及的内容对新手和有经验的开发者都很有用

当你需要开发一个产品的时候,这篇文章所讨论的内容,对于你将有一定的指导意义;

 

产品研发生命周期

移动应用产品研发的生命周期与PC端产品或者WEB端产品本质上没什么不同

它主要由5个部分组成

  • 启动阶段

    每个产品都来源于一个想法,这个想法就是这个产品最底层的支撑基础

  • 设计阶段

    设计阶段包括:用户体验设计(总体布局是什么样,基本的操作是什么样),用户界面设计(由用户体验设计衍生而来)

  • 开发阶段

    开发阶段是资源投入最多的阶段,这是实实在在的产品建设阶段;

  • 测试阶段

    当开发工作进行的差不多了,QA就会介入进来测试产品,最终产品会进入beta阶段,这时会有更多的用户来使用你的产品,并收集他们的反馈意见

  • 发布阶段 

很多时候这几个阶段都是由重叠交叉的现象的,

比如好多时候,UI设计工作已经完成了,已经进入开发阶段了,又有一些东西需要重新设计;

另外,产品到了稳定阶段,仍旧会由一些新的特性会被引入进来;

有很多方法论支撑完成这几个阶段的工作,比如敏捷开发,螺旋开发,瀑布开发等

下面我们就详细介绍一下这几个阶段的具体内容

 

启动阶段

几乎接触互联网的每个人,都想成为一个互联网的产品经理;

现在互联网设备已经成为人民生活的基础设施了;

产品的启动阶段主要是关于产品想法的定义和细化工作的;

为了打造一个成功的产品,

有必要问自己一些基本的问题

竞争优势

    市场上是否有了类似的产品,如果是,那么你想做的产品与市场上的产品有什么区别?

价值

    你的产品将带给用户什么价值?你的用户将怎么使用你的产品

集成工作

    如果你开发的是一个企业应用,那么这个产品将会与什么系统集成,或者将被什么系统集成? 

为了设计一个产品的功能

有必要为这个产品定义角色和用例

角色是这个产品不同身份的用户

用例是不同身份的用户的行为和意图 

举个例子

一个活动分享类产品,可能会有两个角色的用户:

用户和好友

一个用户可能创建一个活动

然后给他的好友分享这个活动

创建和分享这两个动作就是两个不同的用例

有了角色和用例

你就知道自己要创建什么画面了

甚至你会知道自己需要创建哪些实体,撰写哪些业务代码 

一旦你挖掘、定义了足够多的角色和用例

设计一个产品就会变得非常简单

开发工作就可以只关注怎么创建这个产品

而不是这个产品应该具备哪些功能

 

设计阶段

一旦定义好了产品的功能和特性,第二步要做的工作就是解决用户体验的问题

用户体验设计(UX Design 即 User Experience Design)

用户体验设计工作经常是通过线框图或者实物模型来完成的

很多类似的工具都可以完成这项工作,比如:Balsamiq, Mockingbird, Visio

或者就是简单的使用一张纸和一支笔

用户体验设计工作开展的时候,不必担心任何界面美观的问题

工作产物可能就想下面这样

当你完成用户体验设计工作之后

你需要考虑你的产品要在哪些平台上被使用

对于移动应用来说,各个平台都有各自的用户体验设计规范和约束:

苹果设计规范:https://developer.apple.com/ios/human-interface-guidelines/overview/themes/

安卓设计规范:http://developer.android.com/design/index.html

windows phone设计规范:http://msdn.microsoft.com/en-US/library/windowsphone/design/fa00461b-abe1-41d1-be87-0b0fe3d3389d(v=vs.105).aspx

举个例子

每个移动应用系统,在切换画面的时候,都有自己的一套设计理念

IOS系统用一个在屏幕底部的tab条

安卓系统用一个在屏幕顶部的tab条

而windows phone用的是全景视图模式

另外,硬件本身也会影响用户体验设计工作

比如苹果设备就没有物理返回键

所以你要在你的画面上设计一个返回键

更进一步,不同分辨率的屏幕也会影响用户体验设计

一个平板电脑有更多的空间供你使用

一个移动电话你就需要设计多个画面来完成一项复杂的功能

因为市面上有多种不同分辨率的移动设备

有可能他们是介于平板电脑和移动电话之间的设备

这些你也是需要考虑的

用户界面设计(UI Design 即 User Interface Design)

一旦用户体验设计工作完成之后,

接下来就要设计用户界面了;

用户体验设计工作的产物一般是黑白的线框图(草图),

用户界面设计工作就要把颜色、图形等内容设计好了,

花大量的时间用在UI设计工作上是值得的,

因为一个好的产品,通常具备一个非常专业的用户界面设计;

和用户体验设计一样

每个移动应用平台都有各自的用户界面设计语言

所以一个好的应用

在不同的平台上,看起来也往往会不一样

 

推荐如下几个设计网站给大家

IOS:http://pttrns.com/

Android:http://androidpttrns.com/

三个平台:http://lovelyui.com/  、 http://mobiledesignpatterngallery.com/

另外,你可以在下面几个站点,看到全世界设计师的工作产物

http://behance.com/ 、http://dribbble.com/

也可以在这些平台找设计师帮你们工作

 

开发阶段

很多时候,产品原型设计(黑白线框图)工作结束之后,就会进入开发阶段;

因为产品原型设计可以很具体的描述产品的功能

如何完成一个产品的开发工作,有非常多的内容需要讨论

因为会偏离文章的主题

这里不做详细描述

 

测试阶段

测试阶段主要工作就是找出你产品的问题

比如:当我点这个按钮的时候,你的APP崩溃了;

当然,产品的问题不单单是功能性的问题

还有可用性的问题和性能的问题

产品稳定性测试最好在产品技术架构开发完成之后就马上开展

因为越是开展的完,发现了问题之后,修复问题的成本就越是高

随着测试的深入,

你的产品可能会进入如下几个阶段:

Prototype、Alapha、Beta、Release Candidate

不同的产品经理可能会为自己的产品定义不同的阶段

但是他们往往会遵循如下的原则:

  • Prototype

    这个产品仍处于概念验证的阶段,而且只具备核心的功能,只有产品的核心部件可以争产运行,可能会存在严重的BUG

  • Alapha

    这个产品的核心功能已经开发完成,但可能未经全面测试,仍旧可能存在严重的BUG,外围的一些功能还未提供

  • Beta

    绝大多数功能已经开发完成,而且做了最基准的功能测试,并且完成了BUG修复工作,仍然可能存在一些缺陷(issues)

  • Release Candidate

    所有的功能都已经完成并且通过了测试,这个产品对外发布已经提上日程,但在这个阶段本身仍有可能会发现新的BUG;

测试工作应该尽可能早的开展

比如,你在产品的Prototype阶段发现了一个致命的问题,

用户体验设计产物(UX设计阶段的产物)还可以被修改,用来解决或者掩盖这个问题,

如果一个在Alapha阶段发现了一个性能问题,

你还可以及时修改你的技术架构,

等到在错误的技术架构上开发了很多业务代码,再想改架构就麻烦多了;

原则上,

随着产品开发和测试工作的不断深入,

应该逐步把产品推给更多的用户使用,

收集他们的意见。

举个例子:

Prototype版本的产品可以推送给利益相关者使用

Release Candidate就可以给那些愿意体验新功能的最终用户使用

另外,无论是开发还是测试所使用的设备的数量是有限的

然而产品投放到市场之后,所面对的设备数量是无限的

各种不同的软硬件环境都有可能碰到,

所以应该尽早的让社会上的自由职业者来帮你测试软件

让他们用自己的设备测试你的产品

你给他们提供遍历的工具让他们反馈他们发现的问题;

目前市场上有很多平台提供这项服务

比如:

Testflight

这是一个苹果的产品,他可以收集苹果APP的使用情况和崩溃记录

你如果是苹果企业应用开发者是不能用这个产品的

LaunchPad

这个产品跟Testflight非常相似,只不过是安卓平台上的产品而已

Vessel

他们的产品允许你自定义用户的使用场景和方式

跟踪用户的行为,甚至可以做A/B测试

(A/B 测试就是把用户分为两群,一群访问A方案,一群访问B方案。最后用统计数据说明那个方案更好)

hockeyapp

可以提供安卓、苹果和windows phone三个平台的测试服务

 

发布阶段

一旦产品通过了测试阶段的各种测试,

那么就要把产品发布给最终客户了

目前市场上有非常多的产品发布办法

IOS应用

那么一般情况下你会发布到Apple app store

安卓应用

大部分用户都会发布到google play上

然而国内用户用不了google play

但你还是可以选国内的一些应用平台的

windows phone应用

会发布到windows phone dev center

这里提供两个参考链接:

http://msdn.microsoft.com/en-us/library/windowsphone/develop/ff402565(v=vs.105).aspx

http://dev.windowsphone.com/en-us/publish

 

后记

文章参考了:https://developer.xamarin.com/guides/cross-platform/getting_started/introduction_to_mobile_sdlc/

在决定写本文之前,以为本文会有很多有用的干货

后来写着写着发现大部分都是基础知识

但我仍旧还是把他写完了

希望能给刚入门的朋友提供一些帮助

 

本文国庆节的时候开始想写

2017-10-23:开始写第一部分

2017-10-27:完成大部分内容

2017-10-28:完成全部内容

 

 

目录
相关文章
|
程序员
如何知道自己是否适合做产品经理?
大部分产品经理都是从其他岗位转型过来的。程序员、项目、运营、设计等岗位都是非常适合转型产品经理的。那么怎么知道自己是否适合做产品经理的工作呢?
72 0
如何知道自己是否适合做产品经理?
研发转岗产品经理,有什么需要注意的呢?
在职场里,换岗是一件需要勇气的事情。尤其是拿着高薪的时候,你可以有各种理由,但不一定能说服身边的人。像研发岗产品岗还好,不至于是从头再来。我身边也有一些成功转型的案例。
226 0
研发转岗产品经理,有什么需要注意的呢?
|
敏捷开发 数据挖掘 程序员
聊聊产品经理那点事
本期移动精英开发俱乐部,我们就邀请了很多程序员和产品经理一起来聊聊“产品经理的那点事!”,有吐槽,还有调侃,当然还有怎么解决存在的那些矛盾。希望越来越多的程序员同学和产品经理,都能够“冰释前嫌”,一起努力做出更好的产品,让世界变得更美好。文章系国内ITOM管理平台OneAPM审校整理。
2323 0
|
SQL 安全 项目管理
这是一篇工程师对产品经理的吐槽
优秀的产品负责人拥有塑造产品愿景的天赋,但如果负责人在产品的初始构想阶段就没能与工程师有效沟通,结果只会浪费时间、机会和人才,这样下去最后可能会毁掉一个项目。
|
UED
[转载]产品经理第四年
这是一篇前同事的博客,觉得写得不错,转载在这里,只为日后阅读的方便,原文在这里 很快,进入了产品经理工作的第四年,作为四年级的PM,对产品的理解和刚入行时截然不同,对产品的控制方法也比刚开始产品工作时丰富了很多,懂得了什么时候要静如钟:潜心研究用户心理和数据,什么时候要迅如风:控制开发进度和质量,知道什么事情会干扰产品开发,知道如何去规避风险和干扰。
1121 0
|
机器学习/深度学习 新零售 大数据
关于人人都是产品经理的思考【产品经理的反思】
其实我们人人都是产品经理,人人都是自己的CEO,一个好的产品经理应该具备一家完善的公司能力;人能给人的只有信息,人能做的就是更好的协调周边资源或信息的运作方式,从中推进人生向更高处发展。我们都需要一双眼睛,是发现痛点、找到**破局**点的敏锐之眼,二需要一双手,是动手优化、着手改变的行动之手;三是需要一颗心,是洞察人性的同理心,懂得自己与用户,懂得产品上每个细节给到人的满足感、确认感和依赖感。
5038 0
|
SEO
不懂营销的产品经理不是好的产品经理
好的产品经理不仅是懂营销的营销者,还是懂用户的分析师,懂技术的工程师,懂界面的设计师!
1763 0