簡介
MSF揭示出為成功設計、構建和管理技術基礎結構或商業解決方案,所需了解的重要風險、重要的設計基礎假設和關鍵的依賴關係。它包括明確的知識庫(KB Knowledge Base)、套用指南和實踐經驗,如:
企業結構設計方案—採用互動的方式,側重於制定長期規劃,同時也能完成短期目標。
項目開發準則—包含組隊模型和過程模型,用於建立高效的項目組,管理項目的生命周期。
項目設計過程和多層結構的應用程式模型—用於支持設計複雜的分散式企業套用。
企業信息基礎設施的實施方法—使用組隊模型和過程模型支持實現、操作和技術上的方案。
概述
MSF是一個經驗知識庫,它包括以下方面的內容:
* 企業結構設計方案—採用互動的方式,側重於制定長期規劃,同時也能完成短期目標。
* 項目開發準則—包含組隊模型和過程模型,用於建立高效的項目組,管理項目的生命周期。
* 項目設計過程和多層結構的應用程式模型—用於支持設計複雜的分散式企業套用。
* 企業信息基礎設施的實施方法—使用組隊模型和過程模型支持實現、操作和技術上的方案。
它是一種框架結構
框架結構重點解決一個基本的問題:它提供解決總體問題和作出有效決策的輪廓。
框架結構可以增強分析和開發大型項目的能力。MSF 能夠確定項目最大的風險在何處,強調製定計畫和確定進度,確保成功發布一個產品所必備的條件。
MSF基於一組工作模型,這組模型是由微軟公司及其合作夥伴,在與客戶成功開發分散式計算和客戶伺服器應用程式的經驗得來的。
框架結構不是一種預先決定工作結構、工作任務和發布產品具體方法的方法論,而是提供了靈活的方式、套用有創造力的方法去解決實際存在問題的思想。
象任何明確定義的工作模型一樣,MSF積累了三個關鍵的成功因素:
* 一種幫助提供技術決策指南的觀點。
* 一組反覆跟蹤、監控和管理項目及其進展的參考方法。
* 一致的重用性保證在靈活的計算環境中有效的利用已有的知識和技能。
一個資源的集合
MSF收集了一組集成的資源和準則來指導項目組走向成功。它包括明確的概念、詳細的工作指南和微軟最好的實踐經驗,保證您能立即開始工作。
這些資料可由以下途徑得到:
* 在線上資料
* 教學課程
* 完整的參考手冊
因為CD光碟中的內容是由HTML文檔組成,所以要使用Microsoft Internet Explorer閱讀這些資料。此外,CD光碟中還有更詳盡的指南討論在參考手冊中提出的概念。
您如何得到它
MSF在世界範圍內由微軟顧問諮詢部及
微軟認證的培訓中心提供培訓。
它在不斷發展
MSF是一個框架結構,它不是一成不變的。相反,MSF會隨我們從
微軟的客戶和合作夥伴那裡的學習而不斷的發展和完善,新的思想和準則會不斷地被引進MSF。這些發展將適應技術的更新、商業需求的變化,並支持構建更好的軟體解決方案。
技術上的變化會導致MSF作出相應的變化。我們會不斷地在參考資料上增加更多的指南、介紹和更新的概念,根據當前的思維增進我們的教學課程。例如:我們認識到Internet強大的生命力和影響力,我們就在我們的資料上很快的作了針對Internet的更新, 補充介紹我們的概念如何套用於開發基於Internet/Intranet基礎和結構的應用程式。
MSF將一個項目中不同階段的工作人員分為六個角色,通過這六個角色,項目可以得以迅速、完善地實施。這也體現了項目開發的六個重要質量指標,它們在全球是一致的。這六個角色分別是:
·產品經理。他了解用戶特徵,尤其是商業特徵,明確用戶的需求以及需求的期望值。之所以強調用戶需求的期望值,是因為用戶的商業化特徵比較強,需求無盡,無法界定到底如何才算需求得到了滿足。而確定了需求期望值後,用戶的商業目的就非常明確,實施起來也比較順暢。
·程式管理員。他負責制定計畫,每天找出完成該計畫的風險所在,排除風險,每天交付應該完成的內容,確保計畫按質、按量實施。
·用戶教育。設計友好的用戶界面,對用戶進行培訓,確保用戶能夠並且願意和喜歡使用開發出的產品。
·開發。開發者在開發前期就參與用戶需求分析和項目計畫制定,他最清楚具體的開發過程。在開發期開始後,他負責進行代碼開發,在每一個階段,交付每一項內容的代碼。
·測試。負責開發出的代碼的測試。測試者並不是要找到每一個開發者的每一段代碼的每一個錯誤(bug),而是要找到代碼錯誤之間的關係,解決最根本的錯誤,掌握錯誤的狀態,從而迅速排除錯誤。
·後勤。後勤人員負責將實驗室的產品商品化,變成實際可以運行的產品,達到最初制定的商業目的,取得商業效益。這項工作在以往的項目中可能比較簡單,因為實驗室的環境可能和實際環境幾乎一致或差別不大。而現在卻不同了,實驗室環境可能十分簡單,而實際環境可能非常複雜,比如分散式環境、Internet/Intranet環境等,尤其是大企業,實際環境比實驗室環境複雜得多,因而將實驗室產品運用到實際環境中是一項非常重要的工作。這項工作沒有完成好,往往使整個項目前功盡棄,功虧一簣。
簡史
1994年,基於微軟產品開發的經驗和教訓以及微軟微軟諮詢服務的業務經驗,微軟推出了Microsoft? 解決方案框架 Microsoft Solution Framework (MSF)。當時的MSF只是這些經驗教訓的鬆散集合。在以後的幾年中,MSF 進一步吸收了微軟各個部門和微軟的合作夥伴在實際項目中的經驗,在2002年,隨著Visual Studio.Net 的發布,微軟發布了一系列關於MSF 3.0的白皮書,針對MSF 3.0 的大規模培訓也在中國開始。
2006年,MSF 4.0 隨著Visual Studio Team Foundation 2005 發布。它增加了不少敏捷開發的內容,並且明確刻畫了團隊典型的流程和在新的團隊協作軟體包VSTS 中的套用。
我們可以不用管MSF 演化的細節,要記住所有模式都不是一成不變的,關鍵是要掌握變化的原因。
三、MSF的基本原則
MSF的核心有八個基本原則:
·推動開放的溝通
·為共同的前景而工作
·充分授權和信任
·各司其職,對項目共同負責
·重視商業價值
·保持敏捷,預期變化
·質量投資
·學習所有的經驗
四、MSF的一些特點
MSF是微軟在總結自身多年項目管理經驗的基礎上提出的一套項目管理界方案,主要特點是實用性和可操作性強,有許多方面值得我們借鑑。現對其要點作一描述。需要注意的是,微軟有國內企業不能比擬的優勢:如人力資源優勢等,所以並不一定完全適合國內的軟體行業,但我們可以發現,他們的很多做法是我們已經意識到並有所改進,有些做法我們可能已經體會到但還沒有有上升到一個管理原則的高度。
1、Code Review 原則
是指程式設計師定期向其他人講解自己源程式的活動,這個方法被眾多公司採用並被認為是一個行之有效的方法。主要優點有:
因為要向大家講解自己的程式,程式設計師會更重視自己的工作進度、代碼質量。
可以互相學習,共同提高,及時發現問題。
程式設計師可掌握他人的
程式設計思想和方法,利於維護他人程式
2、版本管理方法,採用統一的版本管理
伺服器管理項目源程式,每個人的程式,必須經另外一個程式設計師檢查後才能Check in, 每天晚上都有build所有程式,如果build不能通過,程式設計師必須立即修改自己的程式。每隔一段時間配合進度里程碑release一個內部版本。主要優點:
從開始程式就是一個整體,而不是到最後才整合在一起。
互相檢查才能Check in可以減少錯誤的發生。
里程碑的設定,對大項目的管理尤其有益,既不會因為計畫時間較長而有鬆懈,也能做到有張有弛。
3、
文檔管理,MSF的文檔崇尚實用簡潔,儘量避免事後沒人看得文檔,資料的積累和經驗的繼承通過加強程式設計師的交流來解決(如Code Review, Check in 前的互相檢查)。微軟認為,一個項目的存在是和項目組的存在相關聯的,如果項目組整個離開了團隊,那么有再多的文檔也沒用。在不同的開發階段,微軟也有不同的文檔要求,但應該注意到,微軟開大的是辦事系統軟體,和一般的
套用軟體開發相比會有所不同。
4、人員招聘培訓,人員招聘首先注重人格因素,其次是技術因素。人員的培訓最有效最方便的手段是利用網路以
多媒體、
電子文檔的方式提供。
5、項目角色的組成:
程式管理、產品管理、開發、測試、部署、用戶培訓,但微軟並不是每個項目都配全了這些角色,尤其是小的項目角色會有重疊。強調最好由用戶來充當產品管理角色。
6、項目測試人員和開發人員的比例為1:1,微軟通常是2:1,微軟通常會雇用大量的學生等臨時人員來進行開發和測試。
7、強調進行風險管理,對項目風險進行確認並全程跟蹤。
8、項目開發過程進行里程碑的建立和管理。
9、項目總結制度。每個項目完成後,對其失敗和成功的地方進行總結
五、為什麼套用MSF?
商業問題
商業策劃者在面對世界上不斷變化的複雜技術時,必須確定自身企業總體技術策略的方向。最大的挑戰來自於保證商業目標和技術目標間的一致。
當前,信息技術的投資較以往越來越高。投資以不僅僅局限在數據中心方面,更多的傾向於
分散式網路的增值、群組工作軟體和提高使用者的生產力,保證信息技術投資得到有效的控制。
即便完全不考慮這些投資,錯誤的使用技術給商業帶來的負向費用的影響,也是不容質疑的。所以新技術的成功實現將給企業帶來重要的機會:
今天的技術也通過訊息傳遞、事務處理協調、複製、
數據倉庫、多層結構的設計和魯棒性的客戶機/伺服器開發工具包提供對商業處理過程和活動的支持。
基於組件的技術提供了一種在商業方案中集成組件行業最好產品的能力。組件同樣也允許隨企業結構和商業處理過程的變化,更快地重新配置套用系統。
今天的技術能夠在不瓦解企業的基礎結構設施的情況下,不斷的適應發展變化中的商業需求。多層結構的應用程式允許分離用戶、事務和數據服務,保證新版本的組件在不影響整個系統的情況下加以實現。
降低費用
客戶機/伺服器技術可以降低系統整體費用。但是企業必須重新評估它們的基礎結構設施和商業運作過程,來保證多餘的費用真正被消除(例如:傳統的功能轉移到更低廉的平台,舊系統停止使用,新的商務處理過程最大的提供了增值能力等等。)