软件研发的 QSS 悖论

三要素只能取其中两个,不可能同时取三个。

  • high Quality 交付质量高
  • large Scale 研发人员的规模大
  • fast Speed 研发速度快

研发是一个多人协作的过程,同时技术水平越高的人交付质量和速度越高。基于以下公理推断而来:

  • 协作成本定律。人跟人之间的沟通成本是一直存在且同参与沟通的人数呈正相关。如果在两人之间达成共识的概率是 Pr(2),则在三人之间达成共识的概率是每两个人之间互相达成共识的概率: Pr(2) X Pr(2) X Pr(2)。
  • 高水平的研发人员有高交付质量和高研发速度。低水平的研发人员有较低的交付质量,较低的研发速度。

理论推导如下:

  • 假设交付质量高且研发速度快,那么必然是共识达成的概率大,那么沟通效率高,参与沟通的人很少。这跟“研发人员规模大” 矛盾。
  • 假设研发人员多,研发速度快。因为人多,必然沟通成本高,沟通需要的是时间,交付速度快的情况下只能有一种解释,上线的产品中隐藏了大量沟通不充分造成的问题,因此交付质量必然差。
  • 依次类推即可得出 CAP 理论类似的定理。

你可能感兴趣的:(程序员,软件工程)