微效劳拆分到甚么粒度适宜——康威定律

来源:原创作者:编辑:admin2020-03-08 03:05

  微效劳这个概念不时很火,现在ServiceMesh概念更火,比来我经手的多个项目也都采取微效劳的方法开辟。但实际发明,当一个RD同时开辟超越2个微效劳的时分,出现bug或缺点的概率会晋升。

  我现在看项目标时分会不自觉的存眷工程效劳拆分个数和研发人数的比值。固然这么做,我却说不出来个所以然,也没有找到一个实际依据。

  1、引子

  比来读到Spring Cloud Alibaba成员姬望(彭文杰)的一篇采访稿,解开了我的一些困惑。原文在这里

  https://mp.weixin.qq.com/s/jArp9LUnLv9jveh9qTndfA

  我摘录了比拟关键的一段

  微效劳处理的实质后果是团队分工

  SOA 也好、微效劳也好,处理的基本后果是团队分工后果,详见康威定律,这是大年夜型软件开展的肯定,不因为人的喜好而修改。当你读懂康威定律,就会发明“效劳拆分粒度难以准确控制”基本不是实质后果。

  你有几个 2 pizza 团队,最好就拆成几个微效劳。举一个抱负的例子:只要一个开辟人员时,尽可能就做单体应用,不要没事找抚慰拆成 10 个微效劳,终究这个开辟人员还会把他分化一个。微效劳请求纵向的 2 pizza 团队(有数个小团队,包罗开辟、测试、运维),固然我们也实施过一些传统大年夜型企业,但团队照样处在横向结构的场景下(开辟、运维、测试各是一个团队),拆分微效劳让他们很痛苦,特别是运维团队。

  这段话里有两个概念2 pizza团队和康威定律

  2 pizza团队

  两个披萨准绳是指与会人数不能多到两个披萨饼还不够他们吃的境地。亚马逊CEO杰夫·贝索斯(JeffBezos)认为抱负并不是公司休会参与人数越多越好,他认为人数越多的会议将晦气于决定计划的构成,而是会招致与会人员的随声赞成,称之为两个披萨准绳。2 pizza团队可以复杂了解为做某件工作的小团队。

  康威定律

  出乎很多人预料,微效劳很多中间思念在半个世纪前(1968年)的《How Do Committees Invent?》一文中就被论述过了,这篇文章中的很多论点在软件开辟飞速开展的这半个世纪中居然几次再三被验证,这就是康威定律(Conway's Law)

  成心思的是该论点在提出多年后不时默默无名,后来Brooks Law有名的人月神话援用这个论点,“康威定律” 从此进入大众视野。

  2、康威定律

  wikipedia显示,康威定律(http://www.melconway.com/Home/Committees_Paper.html)最有名的一句话这如许的

  

  “organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations.”