《軟件開發過程與案例》是由微軟公司的資深技術人員編寫的一本書,書中詳細介紹了微軟解決方案框架(MSF)這一套「根據自身實踐經驗爲企業設計的一套有關軟件開發的模型、準則和成功經驗」。html
應該說,每一個公司都有本身的一套企業文化、行爲方式,微軟做爲當今軟件界的巨頭,在軟件開發領域實踐多年,天然對於軟件開發有着獨到的看法。當今軟件行業的一大特色就是「變化」,可否適應這樣快速的變化是決定企業競爭力的重要因素。對於一個小企業,甚至是工做室這樣的開發體系,天然能夠經過一些我的能力跟上變化,隨時修改,隨時調整。而對於微軟這樣會把上成千上萬發人員集合起來,花多年的時間共同工做的企業,一套可行、高效而又靈活的「方法」就是必不可少的了。MSF就表明了微軟對於這個問題的視角。瀏覽器
解決方案框架認爲,技術並非成功與否的惟一決定因素,開發人員、開發過程及風險管理等因素都起着相當重要的做用。而解決方案框架要達到的具體目標就是:架構
1.將企業的商業目標同技術目標有機地結合起來。框架
2.確立明確的項目目標和完善的項目職責體系。post
3.積極、有效地管理項目進程。測試
4.實施以里程碑爲主導的漸進項目管理過程。url
5.管理和控制項目的需求變化。設計
爲了達到這些目標,處理好企業在實際中遇到的關鍵問題,解決方案框架專門針對這些方面設計了相應模型:企業架構模型、解決方案設計模型、風險管理模型、組隊模型、過程模型、應用模型等。htm
解決方案框架的開發準則就是影響項目成敗的三個關鍵因素——資源、進度、功能——組成一個三角形。這三個方面相互關聯和依賴,任何一方面的變更都回迫使其餘兩方面做出調整,如何在三者之間找到最佳平衡就是項目管理的重中之重。blog
本書比較有意思的是程序經理(Program Manager,PM)的章節,微軟的程序經理是其一大特點。「在開發過程當中,程序經理對按時、保質地向客戶提交正確的產品負有所有責任」。粗看起來,這相似項目中領導的職位,可是程序經理並無什麼賦予的權力。在項目組中,PM和開發、測試人員是平級的,PM須要經過本身的努力贏得其餘成員的承認,進而完成組織、協調及決策的任務。這樣的方式實際上保證了項目組自身的靈活性,決定是經過內部成員之間的承認達成的,而不是上級的指定。
本書在其餘章節中着重介紹了組隊模型和過程模型,分別對應着三角中的資源和進度兩方面,這些章節加深了對於均衡三角形的理解。而後還有IE瀏覽器的開發、
XML Web Service實例、面向天然用界面的語音技術的實例,能夠幫助理解上述理論的實際應用過程,同時瞭解一下微軟這些方法是如何產生於開發過程的。
最後,MSF給我影響深入的一點就是,它不是一種嚴格的、可度量的理論體系,而是儘可能保持了框架的靈活性和適應性。這樣一種設計能夠更容易知足不斷變化的需求。