目前在企業在線考試系統行業內圍繞軟件開發實踐和方法論,總有很多教條式的口水仗。階段式方法能夠有效管理軟件開發過程的風險,還是說風險管理中能夠促生出高品質軟件?
我認為,我們最終還是得倚重軟件開發人員的能力,這才是個更重要的考量因素,而非選擇哪門語言或糾結于方法論間的細微差別。我們都清楚這點,但看起來好像過度糾結于開發能力是關鍵因素這事兒上。
問題是怎樣才能找到有(合適)技能的軟件開發人員?為什么軟件開發行業的技能很難被掌握和度量?這些因素造成了軟件開發人員很難掌握引導產品和服務走向成功所需的能力。然而,軟件開發人員掌握能幫助他們更高效地達到目標的技巧,將使他們更有動力 – 通常稱之為“開發完成”,盡可能快的、不考慮是否功能被集成以及生產就緒。
實際的軟件開發項目是復雜的,沒有規律可循,這會導致另一個問題 – 為了證明某種技術、實踐和方法論是實際有效而收集相關數據是極度困難的,幾乎不可能在脫離收集環境的情況下歸納出這些數據。
細想一下為什么軟件開發無章可循?為什么在這個環境里很難進行一些試驗以及獲取技能?什么實踐和決定會導致成功或失敗?其中的根原因就是:環境是無規律的,做出變更與理解變更帶來的結果之間的反饋過程太長了。這里的“變更”一詞是指廣義上的需求變更、方法變更、開發實踐變更、商業計劃變更、代碼或配置變更等等。
企業在線考試系統認為如果你想如愿以償地縮短軟件開發周期,即使雇用一群軟件開發技術牛人其結果往往也是糟糕的,這樣的軟件開發成功與否只能看老天的份了。