死于2.0版:失控的复杂性增长

无序增长的复杂性压垮了它的创造者。

  • 软件是类似植物那样培植出来的,而不是一次性制造出来的。
  • 在软件的演化过程中,复杂性不可避免地增长
  • 失控的复杂性增长压垮产品和团队,成本激增而生产力剧减

Clean Architecture一书中举例的一家真实公司的统计图表(横轴代表版本升级):

工程师团队的增长趋势

图1 工程师团队的增长趋势。需要越来越多的人

d2-kloc

图2 代码行数的增长。代码行数增长放缓,显示添加新功能举步维艰

d3-cost-of-line

图3 每行代码的变更成本。第8代产品的构建成本是第1代的40倍

d4-productivity

图4 工程师的生产力。工程师生产力急剧趋于0

d5-cost-monthly

图5 员工成本支出。利润被吞噬直至亏本。最初的十几万美元实现了很多新功能,而最后的两千万美元几乎打了水漂

results matching ""

    No results matching ""