91baebad7311c2f342fda2c1c0efc9f3
内部分享会:产品架构

这是在公司的一次内部分享会,领导给的课题,让我针对公司的一个数据分析软件,做一次产品架构的分享。

拿到这个任务的时候,其实我是比较为难的,对于产品架构,如果没有对具体业务有深入的了解,也很难做出建设性的规划。

不过领导说,介绍一些方向性的东西,可能是未来几年要做的事情,不需要特别具体。

这么说的话,我信以为真的放心了。

背景

公司是一个立足于国家研究所的第三方软件公司,前几年的业务方向,基本上是外包项目制的,根据客户的需求,驻厂做定制化开发。

从今年开始,公司创始人觉得这不是长久之计,于是,想要把这些零散的项目,凝聚成一些产品,向客户提供服务。

但是,做产品的效果似乎不是很好,因为公司大都是技术开发人员,产品相关工作一直是项目经理担着,而项目经理也是技术出身,同时身上也有对应的开发任务,他们疲于应付客户的需求,很难跳脱出来,从宏观的角度,去考虑一些规划性的东西。

于是,公司决定要招聘产品经理这个岗位,而我,机缘巧合的成为了公司招聘的第一个产品经理,目前也是唯一的一个。

我的工作目前没有特别明确的边界,也没有给我具体安排到某一个项目组里,现在除了分担一些项目经理手头上有关需求类的工作,就是做一些产品规划。

产品

接触的第一个产品,是公司的一个数据分析软件。

这是前些年给客户做定制化开发,项目团队留下来的一个软件版本,后来在此基础上,又做了一些整合开发,形成了一个初步的产品。

该产品目前比较混乱,一共有 3 家客户在使用,但是,每一个客户使用的软件版本又不一样。

而实际上,该产品解决的是同一类业务需求,只是针对不同的客户,交付了不同的软件版本,而且,不同版本之间差异性还挺大,猜测应该是 copy 了一份核心代码,针对不同的客户,再重新开发交付。

所以,开发团队需要在 3 个不同的版本上面,分别根据对应客户的需求,做版本迭代以及交付,这里的交付依旧指的是项目合同制。

这样的结果就是,开发团队苦不堪言,需要维护 3 份不同的软件版本,同时,也会导致产品越来越分裂。

出现这样的结果,主要原因是客户方比较强势,且定制化的需求很多,而公司前期基本上都是开发团队驻厂开发,中间除了 CEO 进行商务的对接,剩下就是开发人员的事了。

结果自然是,客户方说做成什么样,开发人员就做成什么样,没有人去做需求的统筹分析,没有人去做产品的规划。

产品架构

背景说完了,该干活了,产品架构这种东西,我也是第一次搞,以前写规划报告,都是特别虚的东西,动不动就未来 5 年要做成什么样。

这次面对一堆技术开发人员,这种特别虚的东西,想来也不会受人待见。

但是,谈到「架构」这个词,本来就比较虚,实际不了,只能是谈一谈,产品未来几年的发展方向。

想清楚之后,就开始做呗。

top Created with Sketch.