- 軟件研發行業創新實戰案例解析
- 茹炳晟主編
- 568字
- 2023-11-17 17:09:57
1.7 失控的軟件復雜度
軟件復雜度失控的原因是多方面的,下面羅列了其中最重要的幾條。
(1)軟件復雜度失控是商業上成功的企業必然面對的“幸福的煩惱”。
隨著企業業務的發展,軟件也在不斷“生長”,在這個過程中軟件需要加入越來越多的新功能,這些新功能必然會引入更多的本質復雜度。而且,因為每次加入新功能都是在原有功能的基礎上進行的,所以必然又會引入更多新的隨機復雜度。
(2)隨機復雜度會隨著時間不斷積累,如果不進行有針對性的治理,積累的速度會越來越快。
一款軟件在商業上的成功意味著其軟件生命周期就會比較長,那么,除了考慮當前研發團隊的復雜度,還得考慮軟件系統歷史上的所有復雜度。
(3)軟件系統在業務上的成功,必然會帶來研發團隊的擴大,這更容易帶來隨機復雜度的急劇上升。當所有人以不同的風格、不同的理解、不同的長短期目標往軟件系統中提交代碼時,工程一致性的缺失就會使軟件的復雜度急劇上升。
(4)重復“造輪子”也是造成復雜度失控的“罪魁禍首”之一。別人的“輪子”不好用、跨部門溝通成本高、績效考核需要“輪子”作為“道具”,不同部門重復“造輪子”,同部門的不同團隊重復“造輪子”,同組的不同成員也在重復“造輪子”,這些“輪子”除淪落為獲得高績效評價而定向“演戲”的工具外,還為軟件系統注入了大量的隨機復雜度。
那么,我們應該怎么辦?我們要避免“有急亂投醫”。