关于产品开发的两种方式

简介: 公司会议,研讨产品开发事项,有感而发: 关于产品开发的两种方式, 写于2008年9月18日。 写给公司领导的一封信节选

产品开发有两种方式:

  • 项目-产品-平台;
  • 平台-产品-项目。

两种方式各有个的特点,国内企业大多数都是从项目开始,逐渐积累摸索开始做产品,经历了几次的反复与阵痛后,逐渐发展成为平台。这种方式的特点是从项目中来,产品比较贴近项目,贴近特定用户的需求。缺点是产品往往缺少平台级别的整体构架,缺少广泛的适用性,在演化过程中往往要经历几次反复。

第二种方式从平台出发,其适用性就要广泛了很多,反复过程也会相对平稳,整体开发成本及失败的风险都会相对小一些。但是相对而言对于平台人员的能力、企业的技术积累等要求就要高了许多。这种方式往往是大部分有实力的公司采用的一种形式。

公司发展战略上明确提出要开发平台级产品。但是现阶段,公司的产品开发应该还是比较贴近前一种方式。我们现有的产品更加的贴近特定需求,相对而言就适用的广泛性上就会有所欠缺。当前我们在产品项目的协调与融合上面临的很多问题的根源是来自于此。项目需求的多样化,而产品更加贴近特定需求,缺少灵活的结构。为了满足当前项目需求,只能对原有代码进行入侵式的修改,项目需求逐渐侵食产品原有为特定需求而设计的构架,造成产品质量下降。而产品质量的下降使得实现新的项目需求变得更加困难。相信这也是公司领导提出“希望建立一种产品与项目融合协作机制”的原因之一。

其实不管是产品还是项目都存在着这样一个事实--开始是相当重要的,是以后良好发展的根基;是形成良性循环的根基。什么问题开始时纠正的成本是最低的,随着项目、产品的发展这个成本将2倍,3倍甚至5倍10倍的提高。现在我们面临着这样一个困难的局面:产品我们有了,但是项目需求的多样性是现在产品难以满足的。怎么办?在现在的构架基础上修改,只能满足一时之需,或者连这一时之需也难以满足。而且随着项目需求对现在的产品代码的入侵,产品将越来越难以维护,越来越难以往里添加新的功能;而项目的风险也随着时间的推移越来越大。我们已经进入了一个恶性循环的开始,这是可以预见的。然而,完全抛弃现有的东西,对当前产品,开发人员的影响又是巨大的。对于公司也是难以接受的。怎么办?我们已经陷入了一种两难的境地。

基于一般的认识,多数组织在这个时候都会惯性的采取一种“鸵鸟政策”或者说是“冰冻政策”。可预见的还未成为事实,况且不是每一个人的预见都是这样。现在能用就这样用着,等慢慢的问题暴露出来了,无法继续了,大家都已经看到了,这时,已经成为事实,我们实际上已经没有什么选择了,组织也只能选择接受。这样作的明显好处是对于组织中人员触动是最小的,而且最后往往也是没有人需要来承担这个责任。唯一的缺点是组织在经济上,项目上,进而是品牌上受到一定量的损失。

另一种方式,完全抛弃现有的东西,这对于当前的产品、开发人员的影响甚大。而且对于组织之前的一些工作也是一种否定,组织也是难以接受的。

那么有没有第三种方法呢?

让我们换个角度来看待这个问题:实际上基于组织现在实际采取的产品开发方式(即从项目-产品-平台),那么实际上这种反复是必然要经历的。只不过现在随着公司规模的扩大,人才的引进,我们人为的加快了这种反复。并且我们现在也有能力来加快这种反复,在反复的迭代过程中使产品快速成熟起来。很多公司在产品的开发过程中实际上都是这么做的:在一个版本即将发布时,下一个版本的规划和开发实际上早已开始。这一版本发现的问题,收集的新的需求,按照一定的方式加入下一版本,以保证产品对于市场的及时反馈与跟进。

现在,项目需求的多样性,使的当前产品难以满足,侵入式的修改到底能维系多久也是个疑问。或许这是我们启动平台产品新版本开发的一个时机--安排新平台的产品经理,新的设计人员,组建新的开发队伍,依据当前问题重新设计构架,适当重用已有代码。当前版本,由当前开发人员继续开发,维护,以期能满足一定的项目需求。这样,当当前产品无法适应之时,我们的新版产品也能够尽快的跟进,以尽量弥补可能的影响,将可能的风险与损失控制在一定范围。

相关文章
|
自然语言处理 JavaScript 前端开发
作用域的概念及作用?作用域的分类?.js 属于哪种作用域?
作用域的概念及作用?作用域的分类?.js 属于哪种作用域?
148 0
|
11月前
|
机器学习/深度学习 人工智能 自然语言处理
《解锁ArkTS模型封装与抽象:代码复用与维护的进阶之道》
在鸿蒙系统中使用ArkTS开发时,高效管理和运用AI模型至关重要。通过封装和抽象,隐藏模型实现细节并提供简洁接口,能提升代码复用性、稳定性和可扩展性。封装使模型内部变化不影响外部调用,降低耦合度;抽象提取共性操作,简化代码结构。这不仅提高开发效率,还增强代码可维护性和团队协作效率,为复杂智能应用奠定基础。
251 21
|
12月前
|
自然语言处理 搜索推荐 算法
如何利用电商API接口打造个性化购物体验
在数字化时代,电子商务竞争激烈,传统购物体验难以满足消费者的个性化需求。电商平台需通过创新提供定制化服务,而电商API接口作为系统连接的桥梁,提供了强大技术支持。本文探讨如何利用电商API打造个性化购物体验,涵盖其在个性化推荐、定制营销和智能客服等方面的应用,并提出实施策略与未来展望。通过数据收集与分析、算法设计及智能系统建设,电商平台可显著提升用户体验和满意度,推动业务增长。成功案例如亚马逊、淘宝和Zappos展示了个性化服务的巨大潜力,同时也指出了面临的挑战及应对措施。
796 9
|
编解码 算法 BI
SFNC —— 图像格式控制(三)(下)
SFNC —— 图像格式控制(三)
539 3
|
机器学习/深度学习 TensorFlow 算法框架/工具
《池化技术:深度学习热点背后的神秘力量,探寻最大池化与平均池化如何引领图像革命》
【8月更文挑战第21天】池化技术是深度学习中关键的特征提取手段,通过下采样减少数据维度和计算量,同时保持核心特征。主要分为最大池化和平均池化:前者选取局部区域的最大值,保留显著特征并具平移不变性;后者计算区域平均值,平滑噪声并稳定输出。两者依据任务需求选择,如图像分类偏好最大池化以突出关键特征,而去噪任务则倾向平均池化以平滑图像。
339 0
|
JavaScript Java 测试技术
基于微信小程序的民宿短租系统+ssm+vue.js附带文章和源代码设计说明文档ppt
基于微信小程序的民宿短租系统+ssm+vue.js附带文章和源代码设计说明文档ppt
282 3
|
Ubuntu Linux
Linux启动相关
Linux启动相关
73 0
|
存储 弹性计算 自然语言处理
|
SQL Oracle 关系型数据库
Oracle 11g安装使用、备份恢复并与SpringBoot集成
Oracle 11g安装使用、备份恢复并与SpringBoot集成
643 0