产品与项目的不同,产品是不断进化的产物,所以要迭代;项目是交付的产物,所以有开始结束时间;产品适合用敏捷,项目适合用瀑布
背景:
项目的由来:最开始软件是服务于企业的,在上个世纪七八十年代,企业追求效率的提升,本身利益的驱动(当然也是因为有钱,个人可是买不起电脑的),自然而然就有了为企业定制化服务的软件,也就有了项目一说。
产品的由来:到了后来个人计算机、个人手机、移动互联网的发展,大众化的需求越来越多,市场上也越来越尊重个人的用户需求,产生了服务于C端的产品;对于B端的产品,一种是做通用型的,一种还是沿用原先的定制化服务;
目的/要求:
项目:以交付为目的,并且是在单位时间内利用有限的资源去完成规定的任务(客户的需求),也就是常说的范围、时间、成本;
产品:以满足用户需求为目的,从而提高其市场占有量;
生命周期:
项目:一般需经过立项、签订合同、开发、交付验收、结项,一旦结项之后,项目正式结束;有明确的时间节点、里程碑等,项目是一次性的;
产品:一般经过需求调研、规划、设计、开发、上线、推广,并且不断迭代、优化、升级,没有明确的结束时间;
需求内容:
项目:相对明确,签订合同时会明确需求范围,如果出现需求范围变动,会第一时间与用户沟通,重新签订需求变更,明确责任;
产品:一般在0-1阶段需求相对明确,完成MVP版本后,因市场环境不断变化,不断验证用户需求,得到市场、用户的不同反馈,需要迅速做出调整;
团队成员:
项目:开发人员可能来自不同部门、甚至可能是公司,技术水平参差不齐,开发思想不统一,大家的目标是写出能运行的代码就可以了,项目结束,团队解散。
产品:因为是同类产品竞争或者是抢占市场,那么就必须有好的PM,好的Developer,好的Tester,一套科学高效的开发流程,让大家紧密的结合在一起;
开发方式:
项目:由项目经理进行主导、需求分析师分析需求,同时因为范围相对固定,那么采用瀑布或者是小瀑布的开发方式更合适;
产品:由产品经理负责需求的调研、设计,确保方向性,项目经理负责效率、协调资源,同时因为市场、业务、用户等各种情况不断变化,那么采用敏捷的方式更合适;
盈利增长:
项目:项目做完了,用收入减去成本,即是最后的利润,做完了这一个做下一个,做的好的话最多也就是线性增长;
产品:满足用户需求、占领市场,产品在不断迭代、升级、进化的过程当中,思考如何去变现,因为有很大的用户基础,变现就有很大的可能性,一旦变现就是指数级别的增长(这是C端产品,例如京东);做B端产品在每一次为企业服务中积累经验,不断调整、优化,最终做出通用性产品(比如老牌的金蝶,近期的钉钉);
总结:
在产品的0-1的过程当中,由于需求相对确定,可以采用项目的方式,去完成里程碑等时间节点,但是在后续的发展过程当中,则是不断的调优过程,需要不断的采用pdca循环的模式去优化;
当然了项目是一次性的,就像我们知道开发商要建房子,前期要勘测、设计图纸、施工、然后验收交付,不能盖到一半了改图纸,出现边勘测、边设计、边施工这种情况更是不允许的,但是这是由于行业的特殊性,采用项目的形式去做,而我们做软件开发,面对的是变幻莫测的市场环境和不同人群的用户需求,需要不断的验证、调整,才能拿出最懂得用户的需求的产品,产品是进化出来的(对于C端产品来说);
对于B端的产品
未成熟的产品,到达一定阶段,进行市场投放,一般都需要在现有基础上进行定制或者是二次开发,收集此类二次开发的用户需求数据,将此类需求进行抽象,为形成通用性需求做准备,通过不同的项目数据不断的“喂养”产品,使产品成熟;
对于成熟的产品,通常会将用户的个性化信息进行封装,提供定制功能,满足不同用户的不同要求。比如说流程定制、表单定制、功能菜单定制以及其他一些业务功能的配置功能。这样的话,产品相关的项目就是一个个实施项目,只需要实施人员到现场给用户进行一定程度的定制,就可以交付用户使用。不过,要想达到这种状态的产品,从技术和业务两方面都需要很多的积累,通常需要经过漫长的周期。