上篇:架构漫谈(三):如何作好架构之识别问题安全
前一篇已经讲了如何识别问题。在识别出是谁的问题以后,会发现,在大部分状况下,问题都迎刃而解,不须要作额外的动做。不少时候问题的产生都是由于沟通的误解,或者主观上有不少没必要要的利益诉求致使的。可是总还有一部分确实是有问题的,须要作调整,那么就必需要有所动做,作相应的调整。这个调整就是架构的切分。架构
切分就是利益的调整blog
咱们要很是的清楚,全部的切分调整,都是对相关人的利益的调整。为何这么说呢,由于维护本身的利益,是每一个人的本性,是在骨子里面的,咱们不能逃避这一点。咱们以第一篇文章里面的例子为例来作解释。事务
咱们已经知道,随着社会的发展,分工是必然的,为何呢? 这个背后的动力就是每一个人本身的利益。每一个人都但愿可以把本身的利益最大化,好比:生活的更温馨,更轻松,更安全,占用并享有更多的东西。可是每一个人的能力和时间都很是的有限,不可能什么都懂,因此天然须要舍掉一些本身不擅长的东西,用本身擅长的东西去换取别人擅长的东西。资源
对比一我的干全部的事情,结果就是你们都可以获得更多,固然也产生了一个互相依赖的社会,互相谁都离不开谁。这就是天然而然而产生的架构切分,背后的原动力就是人们对本身利益的渴望。人们对本身利益的渴望也是推进社会物质发展的原动力。get
在这个模式下,比较有意思的是,每一个人必需要舍掉本身的东西,才可以获得更多的东西。有些人不肯意和别人进行交换,不想去依赖于别人,这些人的生活就很明显的差不少,也辛苦不少,天然而然的就被社会淘汰了。若是须要在这个社会上立足,判断标准就变成了:如何给这个社会提供更好更有质量的服务。提供的更好更多的服务,天然就可以换取更多更好的生活必需品。实际上这就是咱们作人的道理。数学
为何须要切分?效率
当人们认识到要主动的去切分一个系统的时候,毫无疑问,咱们不能忘掉利益这个原动力。全部的切分决策都不可以违背这一点,这是大方向。结合前一篇“识别问题”,一旦肯定了问题的主体,那么系统的利益相关人(用现代管理学语言叫:stakeholder)就肯定了下来。所发现的问题,会有几种状况:扩展
切分的原则软件
状况1是切分的缘由,状况2是切分不合理而致使的新的问题,最终仍是要回到状况1。对于状况1,本质上都是时间上的负载。由于每一个人的时间是有限的,怎么在有限的时间内作出更多的事情?那么只有把时间上连续的动做,切分红时间上能够并行的动做,在空间上横向扩展。因此切分就要有几个原则:
必须在连续时间内发生的一个活动,不能切分。好比孕妇怀孕,必需要10月怀胎,不可以切成10我的一个月完成。
切分出来的部分的负责人,对这个部分的权利和义务必须是对等的。比方说妈妈10月怀胎,妈妈有权利处置小孩的出生和抚养,一样也对小孩的出生和抚养负责。为何必须是这样呢? 由于若是权利和义务是不对等的话,会伤害每一个个体的利益,分出来执行的效率会比没有分出来还要低,实际上也损害了总体的利益,这违背了提高总体利益的初衷。
切分出来的部分,不该该超出一个天然人的负载。固然对于每一个人的能力不一样,负载能力也不同,须要不断的根据实际状况调整,这实际上就是运营。
切分是内部活动,内部无任怎么切,对整个系统的外部应该是透明的。若是由于切分致使整个系统解决的问题发生了变化,那么这个变化不属于架构的活动。固然不少时候当咱们把问题分析的比较清楚的时候,整个系统的边界会进一步的完善,这就会造成螺旋式的进化。但这不属于架构所应该解决的问题。进化的发生,也会致使新的架构的切分。
原则2是确保咱们不能违反人性,由于维护本身的利益,是每一个人的本性。只有权利和义务对等才能作到这一点。从原则2的也能够推理,全部的架构分拆,都应该是造成树状的结果,不该该变成有向图,更不该该是无向图。不少人一谈架构,必谈分层,可是基本上都没意识到,是由于把一个总体分拆为了一棵树,由于有了树,才有层。
从某种意义上来讲,谈架构就是谈分层,彷佛也没有错,可是仍是知道为何比较好。从根节点下来,深度相同的是同一层。这个是数学概念,我就不展开了,感兴趣能够去复习一下数学。
一样咱们看一个组织架构,也能够作一个粗略的判断,若是一个企业的组织架构出现了“图”,比方说多线汇报,必定是对stakeholder的利益分析出现了问题,这就会致使问题2的发生。问题2一旦出现,咱们必须立刻要意识到,若是这个问题持续时间长,会极大的下降企业的运做效率,对相关stakeholder的利益都是很是不利的,一样对于企业的利益也是不利的。必须快速调整相关stakeholder的职责,使得企业的组织架构成为一个完美的树状,而且使得树的层数达到尽量的低。只有平衡树能够比较好的达到这个效果。
固然若是某个节点的能力很强,也能够达到减少树的高度的结果。技术的提高,也是能够提高每一个节点的能力,下降树的层数。不少管理学都在讨论如何下降组织架构的层数,使得管理可以扁平化,缘由就在于此,这里就不展开讨论了。从这里也基本能够得出一个结论,一个好的组织的领导,必定也是一个很好的架构师。
切分与建模
实际上切分的过程就是建模的过程,每次对大问题的切分都会生成不少小问题,每一个小问题就造成了不一样的概念。这也是系列第二篇文章尝试表达的。这些不一样的概念大部分时候人们自发的已经建好了,架构师更多的是要去理解这些概念,识别概念背后所表明的的人的利益。好比人类社会按照家庭进行延续,造成了家族,因为共享一片土地资源,慢慢造成了村庄,村庄联合体,不一样地域结合,造成了国家。因为利益分配的缘由,造成了政权。每次政权的更迭,都是利益从新分配的动力所决定的。
一样对于一个企业也是同样的,一开始一我的干全部的事情。当业务量逐渐变大,就超过了一我的可以处理的容量,这些内容就会被分解出来,开始招聘人进来,把他们组合在一块儿,帮助处理企业的事务。整个企业的事务,就按照原则2,分出来了不少新的概念:营销,售前,售中,售后,财务,HR等等。企业的创始人的工做就变成了如何组合这些不一样的概念完成企业的工做。若是业务再继续增大,这些分出来的部分还要继续分拆,仍然要按照原则2才可以让各方达到利益最大化。若是某个技术的提高,提升了某个角色的生产力,使得某个角色能够同时在承担更多的工做,就会致使职责的合并,下降树的层数。
切分的输出和组织架构
架构切分的输出实际上就是一个系统的模型,对于一个总体问题,有多少的相关方,每一个相关方须要承担哪些权利和义务,不一样的相关方是如何结合起来完成系统的总体任务的。有的时候是从上往下切(企业),有的时候是从下往上合并,有的时候二者皆有之(人类社会的发展)。而切分的结果最终都会体如今组织架构上,由于咱们切分的实际上就是人的利益。
从这方面也能够看出,任何架构调整都会涉及到组织架构,千万不可轻视。一样,若是对于stakeholder的利益分析不够透彻,也会致使架构没法落地,由于没有人愿意去损坏本身的利益。一旦强制去执行,人心就开始溃散。这个也不必定是坏事,只要知足原则2就可以很好的创建一个新的次序和新的利益关系,保持组织的良性发展,长久来看是对全部人的利益都有益的,虽然短时间内有对某些既得利益者会有损害。
总结一下