官术网_书友最值得收藏!

1.3 軟件復雜度困局

針對傳統事務,復雜問題一般都是肉眼可見的,可以及時找到處理和應對的方法,也能分清相關的責任。但是,軟件研發是知識手工業者的大規模協作,隨著需求的演進和設計的迭代,各種由復雜度產生的風險只是從眼前分攤出去,再在看不見的地方集聚起來。在這個過程中,每一個具體環節都在做看似正確的事,每一個具體的人都在推動項目的完善。但是整體的結果是,不僅累積了巨大的復雜度風險,而且再也找不到具體的人、具體的環節來對整個軟件系統負責。因此,結果是不僅風險大,而且治理起來也特別困難。

軟件的復雜度包含兩個層面:軟件系統層面的復雜度和軟件研發流程層面的復雜度。

在軟件系統層面上,針對大型軟件,“when things work,nobody knows why”儼然已經是一種常態。隨著時間的推移,現在已經沒有人清楚系統到底是如何工作的,將來也不會有人清楚。

在軟件研發流程層面上,一個簡單的改動,哪怕只改動一行代碼也需要經歷一次完整的流程,涉及多個團隊和多個工具體系的相互協作。

可以說,對于大型軟件來講,復雜才是常態,不復雜才不正常。

那么,為什么要將大型軟件做得這么復雜?復雜度又從何而來?

主站蜘蛛池模板: 信宜市| 青铜峡市| 罗源县| 泰来县| 云阳县| 奈曼旗| 高安市| 文昌市| 九龙城区| 牡丹江市| 大埔区| 嘉义县| 阿图什市| 晋州市| 满洲里市| 岑巩县| 丹江口市| 余庆县| 泾阳县| 景谷| 桓台县| 汉中市| 浏阳市| 邯郸市| 宜章县| 伊春市| 达州市| 黎城县| 龙门县| 长治市| 太白县| 苏尼特右旗| 宜丰县| 奇台县| 尼勒克县| 鄂托克旗| 清远市| 清镇市| 贵定县| 芜湖市| 丹巴县|