反精益创业第七章:平台架构(2)——分区和整合
作者Dr.2,珍立拍股份公司董事长
二、生态系统架构的两个功能
一个平台生态系统的架构应该有两个非常重要的功能:分区和系统整合。
平台生态系统最大的优势,以及最大的劣势都是他们的多样性。多样性可体现在构成平台的众多APP以及开发这些APP的开发商。如果平台主选择的架构打压了APP开发商的自主权则有可能扼杀创新,从另一方面来说,它选择的架构可能不能将这种多样性结合成一个整体,形成毫无拘束的混乱。平台生态系统必须控制这种“协作”和“自主”之间微妙的平衡。架构就是一个工具,这个工具用来平衡APP开发商自主权的诉求,但又不会失去将他们的工作整合成一体的能力。十分可惜的是,大多数战略思维并没有将架构作为重点,我相信这主要是因为架构一直被看做是一个技术决策流程里的一个结果,这的确是个盲点。
平台架构产生两种成本:
1) 交易成本:这是APP开发商和平台主发生交易产生的成本。
2) 协调成本:APP开发商用来控制APP和平台之间依赖性的成本。
如果app开发商和平台主是同一主体,就像传统的软件开发商那样,那么这些成本会较低。然而,如果APP开发商和平台主是两个不同的、独立的主体。这些成本可能会高到难以置信,甚至抹掉他们之间有效协作所带来的美好前景。在平台主与APP开发商之间的交易成本和协调成本决定了一个多主体的生态系统是否可行。一个设计精良的平台生态系统能够减低这两种成本。
1、分区
分区是指对生态系统的分解,这样生态系统里的每个子系统都会相对自治。一个分区良好的结构可以将平台和APP们分解成一个个相对独立的子系统。那你是选A还是选B呢?
架构首要的功能就是提供一个框架,来将一个复杂的生态系统分解成相对独立的子系统。当你设计一个复杂的系统,正是由于他的复杂性,你会很快到达一个认知的极限。有一个可以减低这个复杂性,并且认知上可控的办法就是将复杂的系统分解成更小的平台和APP,这些小部合作起来可以提供所需的功能。也就是说,一个复杂的系统可以被划分成一批黑盒子。这样的分解可以无休止地进行,将一个复杂的系统分解成更小更小的子系统。然而,当进一步的分解到了对理解和自主权的增加没有任何帮助的时候,那么分解就应该适可而止了。当继续分解没有任何意义的时候,我们说它达到分解的原子层面。
一个有着明确分区的架构告诉我们这些小黑盒子之间怎么行为和沟通,但不告诉你这些小黑盒子是怎么工作的。小黑盒子是怎么运作的,是小黑盒子自己的事。每个小盒子都独立设计和运作,当最终他们整合在一起的时候,一个更大更复杂的系统出现了。
一个好的架构一定是这种“黑盒子”的概念,因为这样做好处很多:理想状态下,每个黑盒子都由完全独立的机构来实施,他们有不同的动机,不同的技术来驱动。
理论上,平台思维的核心就是:成千上万不同的机构来创造黑盒子,而不是由一家公司来实施所有这些黑盒子。IOS和Android 就是这样,完全市场化,在竞争激烈的黑盒子市场,有价值的黑盒子活下来,其他死去。成者为王,败者为寇。
在平台生态系统里,这些黑盒子就是由不同开发商开发的APP。这些开发商从平台主手里接管了创新的角色,并将规模扩大到平台主不可能再自主开发的程度。明确分区的架构允许大量的外部APP开发商来开发一个具有大型生态系统的APP,同时,又要保证这些APP们能团结在一起。
分区影响平台主和APP开发商的工作。
(1) 对平台主来说,有效的分区形成可行的平台组织结构。有效的分区很大程度上决定了互补APP是由平台主自主开发(就像传统的软件开发那样)还是通过分散的,多机构的生态系统。
一个分区的平台架构允许APP的多样性。一个平台对最终用户的需求越不确定,这种多样化就越有价值。越多样性的满足最终用户的需求,对某些APP来说就是机会。
分区也减低了生态系统的复杂性。如果一个复杂的生态系统可以分解成多个部分,每个部分由不同的人来开发的话,那么复杂也变得不复杂了。
(2)对APP开发商来说,我们做个假设,如果一个APP和生态系统的其他子系统并不是那么独立,见下图。那么,就形成了牵一发而动全身的状态,我们对一个APP做任何变动,都会造成平台甚至其他APP的变动。
随着平台生态系统越来越复杂,平台和APP们之间的相互依赖变得非常庞大。这样,集成开发的可能性变得越来越低。这样的平台变得无比复杂,纠缠不清,每个APP和其他APP都有依赖关系。APP开发商在开发之前就要知道这些纠结在一起的联系。当平台变得更大,更复杂的时候,理解和跟踪就会变得过于困难。
所以,即使一个小小的变动都会对生态系统的其他部分产生无法预测的连锁反应。当需要改动其中一个APP时,其他子系统也需要作出相应的调整,那么APP开发商的协调成本就越高。如果这些APP都是机构外开发商开发的,这些成本更是逃不掉。不同平台有不同的架构,这可以解释为什么同样的APP在不同的平台,其创新成本,创新频率都有着明显的不同。
架构的分区影响着APP开发商需要理解平台的程度以及需要理解平台上其他APP的程度,这是因为APP开发商自己的APP可能需要和这些子系统互动。
一个分区良好的架构能给予APP开发商“无知”的好处:在APP开发商开发的时候,他们不需要知道平台在干什么,不需要了解平台那些错综复杂的功能。这种“无知”是有价值的,因为它让APP开发商全心全意在自己的开发上,它让开发商将焦点集中在他们的知识和能力来创造与实施新的创意。一个分区良好的架构能减低APP开发商和平台主之间的协调成本。
2、系统整合
架构的第二个功能就是系统整合。系统整合是指平台主和APP开发商就开发活动的协调。一个平台系统整合的能力是这个平台将不同APP开发商和平台自己的能力捆绑在一起的本事。虽然APP和平台的分区允许APP开发商积累自己的力量来开发自己的项目,但这些APP最终还是要和平台相互操作,给最终用户带来价值。最终用户混搭的APP们必须要协调工作。
APP开发商在他们开发过程中面对两大类成本:APP创新成本和系统整合成本。APP创新成本是APP开发商在整个APP生命周期设计、实施的成本。比如说,珍立拍想添加一个功能,那么构思、设计,在迭代更新的APP中实施这个功能的成本。而系统整合成本就是指珍立拍的开发者(医库)保证这个更新的APP在IOS或Android系统里能运行顺畅所产生的成本。
我们知道,系统整合的成本在于控制生态系统APP们和平台之间的依赖性。如果这个成本过高的话,大型生态系统带来的种种好处就会被彻底抹去。APP开发商直接面对两种系统整合成本:
1) 平台-APP整合成本:将APP和平台整合的成本
2) 跨APP整合成本:将一个APP和其他潜在互动APP的整合成本
跨APP整合成本可以通过平台架构来缩减,但是平台-APP整合成本的缩减就比较困难了。这是因为不同的APP进化的速度是不同的,这就是说,APP和平台的整合不见得顺利;平台自身的变化可以要求一个APP跟着变化来保持它的完整性和相互操作性。过高的系统整合成本会阻碍APP开发商去创新。
在软件行业,最普遍的系统整合就是各方之间公开地沟通,双方将各自的工作交流、互动以及协作来确保他们的子系统都能一起运行。在平台,这种平台主和一个APP开发商之间不间断的互动是确保系统整合成功的一个机制。但是,这种方式在包含着大量APP开发商的复杂生态系统里就变得力不从心,不太现实。更不用说,在生态系统里面,不同的APP按照不同的节奏进化。一个可替代的解决方案就是减少沟通的需要,注意,不是最大化的沟通,而是最小化沟通的必要。
平台架构可能重新配置平台和APP之间的依赖结构。在传统的沟通协调机制不现实的情况下,平台架构可以提供一个将APP和平台连接在一起的蓝图。这时,架构就变成一个看不见的协调机制,发挥着无形的威力!
下一章我们讨论app系统架构的理论模型。
(欢迎转载,注明作者和来源即可,愿意与Dr.2交流的请加微信号:2823095726)
浏览次数:3553次