软件研发行业创新实战案例解析
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.2 软件研发永远的痛:规模与复杂度

如果你认真思考一下,就会发现软件研发本质上属于“手工业”。虽然“个人英雄主义”的石器时代已经结束,目前人们处于群体协作时代,但本质上依然没有摆脱“手工业”的基本属性。因此,软件研发在很大程度上还是依赖于个人的能力。当软件规模较小时,依赖“手工业”可以解决问题,但是当软件规模大了之后再依赖“手工业”就不行了。

当软件研发团队规模较小时,一个想法从产生到上线,一个人可能就花半天时间。而当软件研发团队发展到数百人时,执行类似的事情往往需要跨多个团队,花费几周时间才能完成。

由此可见,随着时间的推移和团队的发展壮大,软件研发的效率大幅降低,其中一个核心因素就是软件研发规模的扩大和复杂度指数的上升。

软件规模与软件复杂度的关系类似于人的身高与体重的关系。身高为90cm的孩子的体重大概是15kg,180cm时的体重大概是75kg,身高增加了1倍,体重却增加了5倍。我们可以将软件规模类比成身高,将复杂度类比成体重,那么软件规模的扩大必然伴随着软件复杂度更快的提升,如图1-2所示。

图1-2 软件复杂度提升示意图