回顧上個世紀70年代,軟件開發很簡單,因此很容易規范。隨著軟件項目規模越來越大,軟件開發過程越來越復雜,涉及的人、財、物資源也越來越龐大。復雜導致多變,多變帶來隨意,隨意容易使軟件開發誤入歧途,使開發過程難以規范。所以說規范軟件開發過程還必須簡化軟件開發過程!
說到簡化,也有企業走進了“隨意化”的誤區。自由主義、經驗主義隨心所欲地發揮,口頭協議滿天飛,時間緊、人手不足是他們拋棄規范、拒絕監督的最佳接口。其實,簡化絕不意味著隨意化。
如何簡化呢?我認為采用基于構件的軟件開發方法就是一種有效手段。通過對應用領域的研究(領域工程),提煉領域需求的共性和變化性,刻畫領域模型,設計面向領域的體系結構,開發各種構件,從而使應用軟件的開發過程更接近于工業化生產流水線,基于體系結構,用各種構件進行組裝。簡化了的軟件開發過程,變化因素更少,更容易規范管理。
第三,要“標準化”。
前面所說的固化、簡化都只是單個企業內部的實踐行為,而“標準化”則是整個社會范圍內的固化和簡化行為。技術標準化、管理過程標準化、度量標準化、應用領域內業務的標準化,都是推動整個軟件行業內、軟件產業鏈上各個企業規范軟件開發過程的前提基礎和有力保障。標準,凝聚著眾多企業、科研院所的智慧,同時,又大大簡化了標準所規范的領域內軟件開發過程。當然,標準化也是規范軟件開發過程的征途上最漫長、最困難而又最具意義的一步。