只接受发布货源信息,不可发布违法信息,一旦发现永久封号,欢迎向我们举报!
1064879863
16货源网 > 餐饮行业新闻资讯 > 软件开发 >  软件开发中,做产品与做项目有什么区别?


软件开发中,做产品与做项目有什么区别?

发布时间:2019-05-23 05:51:58  来源:网友自行发布(如侵权请联系本站立刻删除)  浏览:   【】【】【
你所指的产品应该是值公司自己研发的产品,项目是给客户做得合同类项目吧。1. 从利益相关者来看,内部产品代表是公司的利益,合同项目代表是客户的利益。2. 从需求范围来看,内部产品可以由公司内部的产品经理
软件开发中,做产品与做项目有什么区别?你所指的产品应该是值公司自己研发的产品,项目是给客户做得合同类项目吧。
1. 从利益相关者来看,内部产品代表是公司的利益,合同项目代表是客户的利益。
2. 从需求范围来看,内部产品可以由公司内部的产品经理负责,合同项目则由客户来确定。
3. 从时间来看,内部产品的交付时间可以内部决定,合同项目则往往有固定的时间期限。
4. 从最终的用户来看,内部产品有更广泛的用户,合同项目的直接用户则是客户一家。

但其实产品和项目也是有很多的关联的。产品也都是以项目的形式来进行开发的。1、用户群体不同,项目可能针对某些特定的用户,产品针对特定的群体;
2、需求获取不一样,项目需求从特定用户需求,产品,除了做需求调研外,还需要做策划;在一个软件工程中,金钱投入、时间、功能、质量,只能保证三项。

如果你的项目核心功能(must have)很少,nice-to-have 功能很多。要保证的是时间投入和质量,而非功能。那么你很可能在做一个产品。

如果你的产品质量投入不高,但是 must have 功能很多。那么你很可能在做一个项目。软件作为一种产品,它的生命周期有投入期、成长期、成熟期和衰退期四个阶段。

而作为项目来说,无论是什么类型的项目,都具有启动、计划、执行、收尾四个阶段。这四个阶段可以存在于产品生命周期的任何一个阶段。

具体针对软件来说,作为产品主要关注的软件的功能是否满足客户需要。而作为项目,软件功能满足客户需要只是项目管理中“范围、时间、成本、质量”四大因素中的一部分,而且只是属于”范围“和”质量“的一部分。作为项目还需要考虑项目进行时间,也就是进度的掌控,还有项目成本的把握。项目:各种功能叠加,强调项目交付,满足客户需求即可。(反正单子已经签了 做完就成
产品:抽象出来的功能组合,强调用户体验等等(做不好没人用啊。。。

产品就是自己发现市场需求,做好了拿出去卖,卖出去才有钱,也可能卖不出去;项目就是别人提出需求,你帮忙做,只要做出来就有人给钱。产品一般具有通用性,项目一般具有针对性。

产品应该是通过项目的执行产生的最终的deliverable, 它会给用户带来价值解决问题,至少是期望带来价值解决问题。
项目未必都能有最终的结果,没有统计但是感觉失败或终止的项目应该占多数。对于项目跟产品的区别我觉得 @王春生 已经说的非常清楚了,我想补充一点的是对于个体程序员对于产品与项目的选择性问题。
我始终不能避免的是程序员的最终归宿,人都有老的一天,也有很多人在讨论程序员的码代码的寿命,有的人说是35岁,有的人说60岁,有的人说退休了也能写个八皇后出来。不错,每个人的能量不一样,每个人的归宿也不一样。
在我看来程序员这个职业是体力跟脑力都消耗十分严重的职业,我不是研究人类肌体的所以归纳不出脑力严重消耗后对于体力的影响,但是现实是经过一天高强度的脑力活动后,你基本上吃饭都不会香,扫地都不太愿意去,各种体力的活动,运动都不会无意识的去触发;除非你给自己定了一个计划,每天跑五公里之类的运动环节。所以程序员在没有无意识的运动消耗的时候,说自己还有体力那纯粹是扯淡。
所以我的结论是大部分程序员的码代码的寿命取决于身体的素质。
回到主题上面来,项目跟产品的区别,我想归纳一些现象,首先是项目,项目的公司大的分为两种,小分类分为3种:
一种是在项目公司办公楼做日常的项目开发,需求都是产品经理从客户那边得到的,不用全国各地跑,不用在奔波中体会【快感】或者是【劳累感】,这样的项目少则半月,多则一年,在互联网时代超过一年的项目基本应该归纳为产品了。说说最常见的三个月的周期,如果你在一个项目公司做两年的话,按三个月算的话,你要经历过八个项目的周期,如果你码代码还算不错的话,项目中的技术也掌握的八九不离十,往多了说等于你通过两年时间学习了八项计算机技术,好一点的也许能做项目管理,项目架构,年轻的时候【通常是23-30岁】这样的经历足够让你在跳槽到下一家的时候涨一倍工资,甚至再多一点。
第二种是你签约的是一家人力外包公司,他们专门做人力外包,哪里有项目,就招人投放过去,这个也就不谈了,基本你就是一个工具,或者高级工具。
第三种是公司派往客户现场驻地开发,这个跟第一种的区别在于你需要奔波,你在奔波中要忍受无法见到妻子,家人,客户现场自己有陌生感,对方也会把你当做一个过来的苦工看待,没法在公司内部享受到同事的亲密,这样的工种需要人有很强的适应能力跟变化能力。
好,问题就来了
你的归宿信仰呢?
这样的工作,换了一个项目等于像换了一个工作一样的,有新鲜感?有刺激感?有强烈的征服欲?这些都可能短暂的存在在脑海中,但是对于做过的项目,你觉得哪一个最能代表你的成功?哦,那个技术用的最深的,耗了我两周的。这也许在我眼中算是影响你最深的,但不能代表你的成功,因为你的成功整体来概括就是:做了八个项目,经验不错,很多点都涉及到了。
然后呢?
然后就没有然后了。
难道一个程序员就不需要有信仰么?
难道是最越来最越多的项目,用最牛逼最牛逼的技术就是成功?就是你的终极目标么?
在我看来这样的想法只会拖累你在前进过程中步伐,而不会加快自己的成功,不成功便成仁不应该用在无休无止的路上,不要迷失,不要彷徨在pi的小数点上,因为没有人能做完全天下的项目,没有个体能在如此繁忙的项目中思考如何前进,因为你刚开始想的时候,产品的人就在旁边说,“你这个地方跟我的原型有点冲突需要修改一下”。
我概括一句,项目是没有灵魂的,产品是有灵魂的。
说说你的八个项目是不是真正的掌握了,是不是真正的进入到了你的程序员素质体系里面
我只能说人的记忆有衰退期
说说你最得意的一个项目,用了最复杂的技术,这个你认为最自以为豪的项目一直在你脑海中挥之不去。我想问一个问题,下一次有多大的几率你还会用到这么复杂的技术选型组合,这么变态的业务规则?我想应该是过了这家店没这个村了吧?这个只能会沉淀在你所谓的个人荣誉殿堂的最底层,时不时的用来慰藉自己的心灵,找一点还是个程序员的存在感,最终会在简历上面挥毫一笔。很多人招聘的人会注意到这个点,但是我想说,我不会。(有关筛选简历跟阅读个人经历的经验有时间再聊。)我想说的是你对于最得意的技术配套着最复杂的业务还有多少记忆?对于一个长期没有继续使用的技能到底还能在新环境中使用多少?这个对于新环境招一个技术能力差不多,没有熟悉这块业务的人替代你做的事情的成本有多高?我想如果你不自降身价的话,估计是拼不过人家的。因为你貌似经验十足,可是可替代性也十足。
对于自己做的东西没有归属感的人,自己内心其实是飘着的,只是等待,等待,等待下一个落脚的项目,或者是新环境。

最后说一说归宿
做技术的有很大一部分很多年轻人,被现实生活压迫的遍体鳞伤,在风雨中前行,很不容易!很少能有机会静下来想一想自己的归宿,自己的未来。
问一个问题:如果在医疗行业做某个产品做了5年的人,跟在医疗行业做项目做了5年的人走到了一起,他们如何竞争?
项目:我做过第一人民医院某某系统,用了java,redis,oracle……
产品:我做过用药助手
项目:我做过瑞金医院某某系统,用了c#,http://asp.net,nodejs……
产品:我做过用药助手
项目:我做过长海医院某某系统,用了django,twisted,beautifulsoap……
产品:我做过用药助手
项目:你能不能换一个啊,不要老说用药助手
产品:我做过家庭用药
项目:……
这个纯粹是一个笑话啊,严肃一点就是:做项目的人,你的核心竞争力在哪里?
你不觉得,做的东西不成体系么?假如有这么一个机会,大佬发话:给我找这个行业最牛逼的技术人才。我首先想到的是一直在坚持做产品的人主持工作,而你只会又一次作为高级工具出现在这个行业中。这也就是随着时间的推移,你的工作的价值曲线会远远被一直在这个行业做产品的人抛开。归宿感也是在一直做产品的人中有流传。想要回归,为时已晚。

可能在下说的有点偏颇,可是我能这么思考一下子,也算是对得起整体忙碌的自己。
我还是建议,能确定自己方向的码农,尽早能规划好自己的愿望跟理想,朝着一个方向奔去,在选择的道路上尽量能沉下去一直在精心打磨一个东西。

项目跟产品也没有我说的这么极端,有很大的共同性。如果没有选择,你就继续做下去,如果有选择还是选择一直做一个行业的项目,如果还有选择还是选择一直做一个行业的一个产品,把自己的最终归宿,归宿在为广大使用产品的人身上,不要归宿在自己做的八个项目的某个牛逼项目上,因为那是虚假的。做项目和做产品过程类似,都大致经理分析、设计、实现的过程。
但区别也很大:
1、做项目主要靠关系,市场拉到项目就赚到钱;但产品赚钱主要靠眼光定位,不好的产品没人用没人买。
2、做项目主要风险在拉项目和首尾,直接决定资金;做产品主要风险在产品和市场定位,直接决定产品有没有市场
3、做项目的企业多数是系统集成或者外包,频繁换行业换项目,只为多拉项目多挣钱,不利于员工的技能积累;做产品一般只专注一个行业,有利于员工的技能增长。项目成功了可能会变成产品,产品失败了就会变成项目。

项目经理关心的是按期保质上线,产品经理关心的是运营数据和结果。鄙视上面一个简单的问题长编大论的回答,答复如下:
一个是当作事业来做,另一个是当作工作来做。
所以做产品的往往做出了优秀的作品,而当作项目来应付,导致烂尾的项目也就必然多了。

码客帮 http://make8.com就像包工头跟建筑师的区别简单的说,好的产品可以变成N个项目,但是一个项目可能变不成产品做产品更多的是有一份激情在里面,而做外包就感觉做完这一个项目就往下一个项目走,虽然学的东西都不少

做产品与做项目之间的区别


1. 对质量要求

做项目的第一要求是在要求的时间内开发出满足客户需求的软件,它的第一准则是客户永远是对的,开发者必须按客户要求的做,但是因为客户提出的要求往 往是发散的、弱逻辑的、非系统的,所以开发出的软件需要很多硬编码,再加上时间紧迫,不能对已经开发出来的模块进行必要的重构,项目最终越来越难以维护, 性能越来越差。

而做产品则会很注重质量,第一准则是开发出比其他同类产品更好用,更快的系统,当发现某模块的架构不合理时,能够花人力和时间去重构它,最终使产品 越来越快,越来越好用。

2. 团队构成不同

做项目,特别是外包项目,开发人员可能来自不同公司,技术水平参差不齐,开发思想不统一,大家的目标是写出能运行的代码就可以了,而即使这一点,实 现起来难度也很大。

做产品的团队一般都是精兵强将型的,因为目标是跟同类产品竞争,这就要求必须有好的PM,好的Developer,好的Tester,一套科学高效 的开发流程被植入每个人的头脑,工作配合起来比较协调。

3. 驱动因素不同

做项目侧重于时间驱动,因为时间就是成本,要压缩成本就得压缩时间,而功能只要能用就行。

做产品侧重于功能驱动,时间比较充足,以开发出有竞争力的产品,功能不光能用,而且速度要快,操作要简便。

做产品与做项目之间的联系

产品和项目有时候是交织在一起的。一个产品可能在不同时期以项目的形式来进行开发,另外产品还有不同的版本,有时候需要同时维护几个版本,有的新功能以项目的形式设定截止时间开发完成,功能完成后进入运维进行持续改进。

同一个工作,可能对一些人是产品,而对另外的人是项目。例如,一个互联网公司,准备开发网站和移动应用,然后把这个产品分成几个小项目外包出去,对甲方是产品,包括拆分项目,讨论实现,验收和后续运维。对承接外包的乙方,就是一个个项目,按合同规定时间完成特定功能就行。后续运维可以甲方当产品自己持续做。

做产品与做项目对员工的影响

国内互联网公司,大一点的,BAT等,基本都是以产品为主导,需要自己运维,包括知乎。

以项目为主导的主要是外包公司。

所以,如果能进入以产品为主导的公司,员工是可以长时间很多年的学习改进。

如果进入以项目为主导的公司,一般项目周期比较短,经常会遇到有的时间段项目超多忙不过来,有的时间段项目少没事做,扩招和裁员比较常见,技术开发员工一般很难呆5年以上。

请记住:做项目本质上是委托开发合同,意思是业主单位给你钱,让你们公司来做,项目是谁的项目?是业主的项目,这个项目成功与否,最重要的角色是谁?——业主负责人,这就是很多做项目经理的没搞清楚自己定位,把项目搞糟糕的本质原因。

产品更多的公司自己针对基于市场分析后,自主后起的一种研发、生产制造的成果,产品的成败公司负责,其实这个和是不是软件开发没什么关系,制造业也一样。

项目的三要素:进度、质量、成本。

这三个要素是有制约关系的,不可能三个方面都达到完美,是需要平衡的。

也就是说成本和进度的限制,质量不可能达到完美的程度,否则成本不可控,乙方项目做失败了,那么甲方的商业目标也无法达成。


乙方做项目的时候,往往甲方对成本控制比较严,而且又希望更快地做好更多的活,而这样的话是不符合乙方利益的,毕竟更快地做好更多的活会导致成本上升。

一般来说乙方做项目的目标是盈利,如果是这样的目的,就会比较在意成本。除非因为某些战略目的,项目的目标不是盈利(比如占领市场),那么可能会不惜成本地去提交质量和进度。


实际上自己做产品,也是相当于做项目(只不过这个项目的首要目标不是项目盈利,而是项目完成以便占领市场,达到战略目的)。只不过对成本要求就会比对乙方要求要宽松,对于追加成本比乙方要容易的多。这就导致可以在进度和质量上投入更多资源。


如果对于乙方给与的资源像自己公司做产品一样,那么自己做产品和找乙方做项目,达到的成果差别可以足够小。当乙方目的不是盈利而是其他的战略目标,那么相同成本乙方做的应该是好于自己做产品的。


在我理解项目实际上也有一种控制风险控制成本的功能。

Atitit 软件开发中,做产品与做项目有什么区别?

目录

1.1. 高手眼中没有区别 1

2. 长久性模块,是个好的技术点。 1

3. 关注长久性技术优先于业务原则 具体业务点个人建议不要太关注你 1

4. 如何判断一个技术点的持久性 1

4.1. 通用性标准。。比如文件传输 压缩解压这类技术就是持久性的 1

4.2. Dsl dsl是持久性的h5 sql 2

4.3. 专用技术建议慎重,容易过时没有积累比如wpf 这一类私有h5技术 2

4.4. 趋势判断 永远走在趋势前边 2

5. 产品与项目的转化 2

5.1. 产品就是一个项目 2

5.2. 项目抽取公共模块即是一个产品,再抽象就是sdk了 2

1.1. 高手眼中没有区别

产品和项目拆分成一个个模块,实现的东西一样 的。。

就好像任何人和动物,拆分出分子级别是一样的。。人和桌子,拆分到原子级别,也是一样的。。

2. 长久性模块,是个好的技术点。

所需要做的主要是模块划分。判断模块的持久性年限。。。。

3. 关注长久性技术优先于业务原则 具体业务点个人建议不要太关注你

技术的特点广泛,你可以去做医院业务,可以做石油系统,可以做erp,电子商务。。

业务的优点是深入,收入可能更高,但是范围窄。

各有所长,没有哪个更好,你需要做的是看自己适合哪一种而已。。

4. 如何判断一个技术点的持久性

4.1. 通用性标准。。比如文件传输 压缩解压这类技术就是持久性的

数据库技术,任何时候度不会过时

界面技术 数据绑定 数据form收集 序列化

编码技术 转换 存储文件 数据库 传输通讯

4.2. Dsl dsl是持久性的h5 sql

4.3. 专用技术建议慎重,容易过时没有积累比如wpf 这一类私有h5技术

4.4. 趋势判断 永远走在趋势前边

5. 产品与项目的转化

5.1. 产品就是一个项目

5.2. 项目抽取公共模块即是一个产品,再抽象就是sdk了

核心区别是:ownership

  • 【产品】是公司/团队/个人的(也有一个人做产品的时候,像我)
  • 【项目】是别人(别的公司/团队/个人)的

所以 owner 不一样,后面的不一样就好解释了。

笼统一点说就是:

不管你是再尽责的保姆,你能像带自己亲生的娃一样带客户的娃吗?

这里好像说父母是孩子的 owner 有点政治不正确,只是举例,easy easy
责任编辑:
热门阅读排行
© 16货源网 1064879863