https://yqfile.alicdn.com/a749a8a2bed4e303acc9b98c853713f2b374aa1b.png" >

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

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

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

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

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

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

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

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

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

2, 带来娱乐和放松

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

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

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

4, 专业软件

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

5, 试验性质的软件

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

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

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

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

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

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

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

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

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

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

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

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

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

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

程序员里面总会出来一个老大,长相大多比较像 23 岁的詹姆斯。

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


https://yqfile.alicdn.com/72e0b9b294118188e109dbe3462326edf9e53446.png" >

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

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

用例开始

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

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

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

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

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

用例结束

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

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

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

文章转载自 开源中国社区 [http://www.oschina.net]

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

  1. 软件开发和产品经理是怎么回事

    过年的时候,经常有七大姑八大茄子们问道,你的工作是做什么的?电视上天天报道的黑客什么的,你们在外面可别干什么违法的事啊.每到这时候,我都想直接说,我就是一个修电脑的,可是真要这么说了,七大姑八大茄子们 ...

  2. 20-40K| 梅卡曼德视觉算法工程师、机器人软件、相机产品经理招聘

    3D视觉工坊致力于推荐最棒的工作机会,精准地为其找到最佳求职者,做连接优质企业和优质人才的桥梁.如果你需要我们帮助你发布实习或全职岗位,请添加微信号「dddvision」. 公司介绍 梅卡曼德机器人由 ...

  3. 【zhailu】国外产品经理到底在做些什么?【转载内容】

    产品经理在国内可以算是比较新兴的行业.起步晚.环境不同,自然有所需.有所缺. 一开始接触,就感觉,这是要把product从无到有培育起来,--这个product的PM似乎与project的PM雷同只是 ...

  4. 有这样的开发,产品经理跪着帮你擦汗!

    女主宣言 自从知道了,我们的产品GG,抽屉里放了一把刀.我想是时候讲讲程序员和产品之间的故事了. 其实和产品经理相处还是很民主文明和谐友善的,研发和产品共同的目的就是为了项目的完美,只要逻辑说的通的, ...

  5. 未明学院:产品经理到底在职场中过得怎么样?

    听说,产品做得不好,产品经理会被"祭天". 听说,开会.撕逼占据了产品经理工作内容的大头? 在行业中,产品经理(即 Product Manager )是负责产品从策划到运营的全过程 ...

  6. 产品经理到底是做什么的?|️ 什么是产品经理?

    产品经理(Product Manager)是企业中专门负责产品管理的职位.产品经理负责市场调查并根据产品.市场及用户等的需求,确定开发何种产品,选择何种业务模式.商业模式等.他还要根据产品生命周期,协 ...

  7. SNF软件开发机器人产品白皮书

    软件开发机器人 产品白皮书 使用说明书 模块名称:软件开发机器人 模块编号:12 项目负责人:王金斗 所属部门:技术中心 文档编制: 编制日期:2018-02-02 文档审核:王金斗 审核日期: 文档 ...

  8. 北京赞同科技发展有限公司产品开发部招聘高级软件工程师及产品经理

    北京赞同科技发展有限公司是一家金融软件行业的专业公司,目前公司已经形成包括前端(柜台)系统.大前置(中间业务)系统.通讯前置(通讯中间件)系统.业务集中监控管理系统等多条产品线,公司客户主要有中国工商 ...

  9. 做好软件项目,产品经理该具备哪些优秀特质?

    产品经理作为软件项目的重要角色,其能力特质如何对软件项目的成功与否有着重要影响.我们经常听到这样的玩笑话,"毕业了却什么都不会,那就去做产品经理吧",貌似「产品经理」是一件门槛很低 ...

最新文章

  1. 【Netty】Netty 核心组件 ( Pipeline | ChannelPipeline )
  2. try catch异常后会执行后面的代码吗_JVM异常处理最强讲解
  3. poj 2346(DP)
  4. js如何把ajax获取的值返回到上层函数里?
  5. 九度OJ 题目1011:最大连续子序列
  6. PowerDesigner 中的name与comment转换(转)
  7. Python《第一次爬虫遭遇反盗链(上)》
  8. Git 命令 checkout、reset、revert、reflog 、merge 使用介绍
  9. 线下商店销量预测挑战赛
  10. Java容器---List
  11. 一台计算机安装了fortran语言,win10系统fortran怎么安装_win10系统fortran安装教程
  12. excel表格打印每页都有表头_Excel怎么能让每一页都打印上相同的顶端和底端标题?...
  13. dnw linux 内核,linux环境下安装dnw(for mini2440)
  14. 【TS】1303- TypeScript 4.7 beta 发布,几个重要的更新
  15. CF1385 D. a-Good String (分治+递归)
  16. SQLite管理软件 - SQLiteSpy
  17. 【C语言实现井字棋及电脑落子优化】
  18. 机器学习1-线性模型及多分类
  19. python依据出生日期判断星座(少量代码)
  20. IE、MIcrosoft Edge无法上网,但其他浏览器可以上网 —— 解决方案

热门文章

  1. 2013河北省职称计算机应用能力考试操作题答案,2013河北省职称计算机应用能力考试操作题步骤详解(部分).doc...
  2. 图书借阅系统java_基于JAVAWEB的图书借阅系统
  3. python3 matlabplot 和numpy 简单绘图
  4. Rust linux 系统接口使用
  5. php 查看mysql连接数据库_php基础之连接mysql数据库和查询数据
  6. xcode怎么打flutter的release包啊_“打工人”梗刚刚爆红网络,“早安打工人”等已被注册商标...
  7. 杭电oj2035c语言答案,杭电oj 2035
  8. matlab 将矩阵A写入文件
  9. FPGA中如何实现双边沿采样?
  10. Java基础-序列化与反序列化