产品思想之原子化

1,190 阅读4分钟

       在《产品思想之抽象化》中提到了将客户需求揉碎成不可分割的最小颗粒然后再去组合,这个地方我简称为”产品原子化“。其实不管工作还是生活,原子化后一切便一目了然,所以想专门总结下。

      首先想聊聊泛泛的”原子化“。我们知道一切物质的最小组成单元是原子,不论生物还是非生物,不同的排列组合形成了地球上的千变万化的物质;

      学习数据结构时,数据最小的组成单元叫做“数据项“,数据项组成了数据元素,数据元素又组成了数据对象,数据对象又通过不同的逻辑关系、存储结构组成了不同的数据;

      学习项目管理,发现如果要完成一项庞大的项目,其实也是通过WBS切割成一个个最小的不能再分割的事项原子,叫WBS元素或节点,再组合成工作包。

      后来陪孩子玩乐高,几种颗粒不同的排列组合形成了不同的形状,会跟孩子解释像原子组成不同的物质一样;学英语,分为拼写和朗读,会解释26个字母也像拼写的最小原子,不同的排列组合形成了可拼写的千变万化的英语单词,而音素就像我们发音的最小原子,不同的组合形成了不同的文字发音;同样的道理适用于汉语及一切语言。

......

     这像不像老子所说的:道生一,一生二,二生三,三生万物?

     现在简单总结下这几年物联网平台用到的原子思想及能解决什么样的问题。

     首先我们做的物联网云平台是承接不同硬件及不同行业的软件,需要兼具普适性、及行业定制性,这样才能用最小的工作量接入硬件、研发软件,帮助企业智能化。

1)普适性。

物联网平台向下承接的是智能硬件,做的首要任务是接入,智能硬件不同种类的特性千差万别,怎么做到接入方式的普适性呢?(当然目前市面上大多数的物联网平台已实现,我这边主要从0-1建设物联网平台的过程中做下总结)我认为从2个角度建立标准:数据项原子化、逻辑关系原子化。

数据项原子化前变万化的硬件设备归咎到原子,无非就是采集的数据点。数据点又有不同的特征。设备不同,只需要用不同的特征值去描述,特征是固定的。

逻辑关系原子化。不同品类硬件产品与云平台的交互逻辑,无非以下几点:

当然可以定义json/二进制格式的,不同的设备只是传输的内容不同而已。

目前通过这两点至少我们的物联网平台在硬件接入方面实现了简单配置支持多种硬件设备,具有普适性。

物联网平台向上支撑各行各业的软件,不同行业的需求及流程千差万别,怎么做到软件的普适性呢?我认为也有2个角度可以去做:建立产品模块库、定制功能可配置化。

建立产品模块库。总体来说,就是将软件功能原子化。我主要从3个维度将软件功能-行业-企业需求灵活组合

    a)将所有软件功能颗粒化,形成软件功能库    b)根据不同的行业,配置不同的行业功能集

    c)不同的企业根据所属行业 ,默认分配行业功能集,也可根据企业调整个别功能②定制功能可配置化。总体来说,就是找到此类功能的通用最小原子,尽量通过产品化的方式去满足。这是做技术给我的启发,不管是表结构设计,还是代码设计/重构,把通用的部分抽离,才能设计出精简、优雅的程序。这个地方不再赘述,可参见《论产品思想之抽象化》查看分析过程。       以上普适性的好处是解耦硬件产品线 与 软件产品,各自可按照各自产品线迭代。2)行业定制性。

       基本上在介绍普适性的过程中,也将行业定制性如何处理带出来了,有些定制开发不可避免,但纳入产品库后会发现有一天也适用于其他企业,就像我们目前很多客户选用的集中管控,开始是为某一个客户设计的。

       有句话说:不变的是规律,变化的是现象,变化其实蕴含在不变之中。你觉得呢?