软件开发和产品经理到底是怎么回事

oschina
 oschina
发布于 2015年03月27日
收藏 40

过年的时候,经常有七大姑八大茄子们问道,你的工作是做什么的?电视上天天报道的黑客什么的,你们在外面可别干什么违法的事啊。每到这时候,我都想 直接说,我就是一个修电脑的,可是真要这么说了,七大姑八大茄子们又要带着去各家转,一边转还要一边修电脑,说不定还要手机下载电影小说歌曲,对了,还要 贴膜。

为了能够把软件开发这回事说得更清楚,正好是周末,就花时间把内容写一写,让七大姑八大茄子们也能知道什么是软件开发,我们这伙人每天都在做些什么事。

首先,说一下什么叫软件。

软件,就是一切支撑电子设备的灵魂。你使用的电脑安装了 Windows 操作系统,那么 Windows 就是一个软件,你手机上安装了一个微信,那么微信就是软件,你去购买火车票,登录 12306 网站,那么 12306 就是一个软件,甚至你无聊了,想用陌陌找几个小伙伴,或者打开电驴在精神层次上与仓老师做一次沟通,那么这些都是软件,甚至你在百度网盘下载一个盗版电 影,百度网盘也是软件。

那么,为什么要开发软件?

开发软件的目的有很多,不过主要有这么几种目的:

1, 服务于商务运作和业务运营

比如电商,很多的电商为了能够比竞争对手更加了解市场,更高效率地处理货物,大多都会开发自己的进销存,销售管理,退货管理,客户管理或者热点营销软件,当然不依赖于第三方软件(比如淘宝)而独立开发电商软件的也不在少数。

再比如房产租赁,移动公司的业务办理,医院信息系统,当然也包括大量的办公流程审批,这一类的应用也属于商务运作及业务运营类的软件,其本质还是使用软件服务于当前的业务模式。

2, 带来娱乐和放松

这一类的软件太多太多了,游戏,电影,聊天全部属于这一类,无论是手机,平板,手表,汽车当然也包括电脑,这一类的软件数量巨大,质量各异,并且新奇软件层出不穷。

3, 提供阅读,工具和效率相关的软件

个人时间记录,手机微博,手机日历,天气,英汉词典,这一类的软件全部属于第三类,这一类的软件相对功能单一,目标明确,以提高效率为目的。

4, 专业软件

Photoshop 就属于一种典型的专业软件,还有 AutoCAD 也属于这一类,目前市场上有大量的专业软件存在,而今天有很多的软件需要移植到不同的平台,比如手机的 Android 和 iOS。对了,顺便说一句,Android 和 iOS 也是软件。

5, 试验性质的软件

这一类的软件,往往是一家企业或者一个组织,希望尝试一种新的工作模式,或者需要尝试一种新的产品形态,再或者为了进入某一个市场而专门开发的某一种软件,这种软件往往只有一个模糊的需求,开发人员很难拿到定义好的需求规范,在市场上只有少数人能够接触到这一类的软件。

当然,除此之外还有很多很多软件,是无法随便归类的,比如说一个游戏外挂,再比如一个政府单位需要对某些数据做一些筛选处理,不过总体来说,这些软件也可以称为应用软件,简单地说,能够想像到的各种服务于我们日常生活的产品,都属于软件。

那么软件是怎么来的呢?是那些长得像大猩猩的程序员们用一般人不认识的程序代码一行一行写出来的。可是,具体的流程是什么样的?

首先,需要有一个产品经理站出来,寻找需求并设计产品。先不用管什么是产品经理,反正知道是一个经理,就行了。在做一个产品之前,有两个人是少不了 的,第一个是客户,一个是产品经理。无论是客户出钱做软件,还是自己想做一个服务于别人的软件(比如做一个聊天软件给别人用),那你都需要寻找到客户,也 就是说客户是使用软件的人,如果一个软件没有人用,或者最初就不知道这个软件要给谁用,那就没啥意义了。

OK,现在我们知道产品经理要和客户打交道,从客户那里了解需求,也就是知道客户想要一个什么样的软件。不过最大的问题来了:客户以为自己知道什么 是需求,但其实客户只能提出当前的问题,并不能够了解当前的需求,他们误以为自己面临的问题就是需求,可是真正的需求是解决方案,也就是说产品经理需要引 导客户说出自己面临的问题是什么,并且帮助客户寻找解决方案,然后把这一套的东西转答给程序员。

也就是说,产品经理至少要做到:

  • 客户啊,你的问题是啥,我来给你记下

  • 客户啊,你的问题如何解决,咱们一起来商议

  • 客户啊,看,这是文档,这里面写了我们怎么解决你面临的问题,还有,还有,这东西要花不少钱啊,还有,你看这软件是不是这些人来用?这软件是不是分这么几个模块?

  • 客户啊,你的问题和解决方案全部已经交给程序员了,那帮长得像 NBA 里面的詹姆斯的背着双肩包的人会帮你把软件做好的

  • 你们这帮大猩猩,做的软件有 bug,来来来,让我告诉你,你的 Bug 在哪

  • 客户啊,你看,我天天在你身边,帮你解决问题,现在,你爽了吧?你还要什么软件,你说啊,你说啊。

当然啦,要服务于一个行业,首先需要的是了解这个行业的基础知识。比如要帮淘宝卖家做软件,那至少需要了解淘宝体系内的各种知识;再比如要为一个矿场开发软件,那当然需要了解矿场是如何运作的,这就是做一行,爱一行,干一行,通两行。

那这样软件就做出来了?没有,当然没有,因为程序员拿到这些调研的需求,做出一个简单的开发计划以后,还有很重要的活需要做:精细定义产品。

程序员里面总会出来一个老大,长相大多比较像 23 岁的詹姆斯,基本会长成这样:

Img273396544

他会做出一付冷酷无情的态度说:你描述的需求不完整啊,你看,我们现在把开发分成了这么几个阶段,第一步,我们要做一个用户体系;第二步,我们要作 一个消息系统,当然这个家伙还有可能会说:我们根本不打算做软件,我们喜欢看着编译的过程,就是一片黑色的屏蔽上有绿色的字不断滚动,就像这样:

55337871201010282212442755685340620_000

这时候,产品经理只需要知道,程序员已经进入了某种入定的状态,他们需要的是:你告诉他们,客户想要的一切细节,即使你不知道,你也要告诉程序员:乖,别担心,我去帮你问那伙长得不酷的家伙们。

这时候,产品经理需要去编写一些用户的用例说明,比如像这样:

  • 用例开始

  • 用户点击登录链接,打开登录界面

  • 用户输入自己的用户名和密码,同时输入正确的验证码

  • 如果输入正确,则让用户进入自己的个人控制中心,否则跳转回登录页面

  • 如果用户连续三次输入了错误的密码,请给出提示“对不起,您的人品已用光”

  • 当用户成功登录个人中心后,记录下用户的登录时间和登录 IP 地址

  • 用例结束

这些东西,就是程序员的精神鸦片,不用管为什么,只要知道程序员看到这些,就会很激动地主动去写代码了,其他的事,无论是什么,他们都不需要,唯一可能看到的是他们在这个用例下面加上评论:什么玩意,客户根本不需要这样的东西,他们不懂。

当然,对于产品经理,看到这样的评论,你只要回一句:”乖,别怕,我去和他们说“。

只要通过这样的一个简单的流程,大多数软件就是可以做出来的,能否做得好还不好说,可是起码能出来一个可以点来点去的东西,也是可以用眼睛看到的东 西。这就是软件开发的一个缩影,虽然软件开发比你想像得要复杂得多,可是产品经理总需要在这里做很多很多工作,这就是我们要干的活,也是我们的目标:做世 界上最会做软件的团队。

原文出处:blog.slacker.im

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:软件开发和产品经理到底是怎么回事
加载中

最新评论(18

梁选
梁选
就我没看懂?
泡不烂的凉粉
泡不烂的凉粉
跟大家说点事实。很多设计方面的东西, 要么是软件不了解业务,做的系统不切合业务需求,要么操作不了解需求。 制作优秀的界面被修改成 貌似“合理”的界面, 之后反复配合操作者得想法不断修改,最终的结果可能转了一圈又回到原地。

就拿图标来说吧, 我了解的少。说的不一定对, windows 3.x 的时候 16色平面图标。 貌似不错。 后来 到了256色图标。 设计的越来越又立体感。 再后来, 真彩色, 还设计动画图标。 整个界面风格也充满了立体感。凸起,凹陷,相当逼真, 再后来,整个界面都是3d的,软件都像再一个立体上呈现,图标不仅色彩丰富,动感十足,光效也相当震撼 。 可惜偶尔尝个鲜还行,大多数人桌面不用这些图标。 再后来,我想大家都比较熟悉, 平面无边框。 这些图标手机上用的比较多。 当然,电脑上也一样的。

平面无边框, 没动感。 于是乎。 转了一圈,各种效果都有。 最终常用的,无非是最早都被设计出来的平面版本而已。。
puzzlex
puzzlex

引用来自“爱迪生与钢弹战士”的评论

我大致了解到您的工作内容了:
“邮件经理”您好,你的邮箱里又有邮件了,请尽快转发。
“邮件经理”您好,你的邮箱里又有邮件了,请尽快转发。
“邮件经理”您好,你的邮箱里又有邮件了,请尽快转发。

引用来自“BuN_Ny”的评论

+1

引用来自“y61759h”的评论

精辟
+1
今秋
今秋
乖,起来搬砖了
jim19770812
jim19770812
一句在电脑公司打杂的就搞定了,和亲戚们解释太多他们也不明白
duty
duty
最后,你老舅问,啥意思?
许添翼
许添翼
产品经理表示,跟亲戚只要这么解释工作就行了:
程序员:做软件的,月薪20K,无不良嗜好
产品经理:策划软件的,月薪8K,无不良嗜好

按照文章里写的内容去说。。。。人家根本听不懂的
netkiller-
netkiller-
不懂设计的开发不是好产品经理,不懂开发的测试不是好运维,不懂运维的开发不是好测试。不懂需求的开发不是好设计。

全栈开发更有优势,更适合小企业。
巨型河马兽
你也只能在七大姑八大茄子面前装装B了 - -
netkiller-
netkiller-
“软件开发和产品经理” 标题表示不理解?
软件开发: 是指软件的一系列的生产过程。这个过程包括需求,设计,开发,测试,运维。等等 其中目前产品这个词替代了需求。

产品经理:是一个岗位。是管理 需求团队的头。
返回顶部
顶部