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

MSF企業(yè)總體結構
MSF企業(yè)總體結構模型提供了一系列指南,用于規劃企業(yè)的基礎技術(shù)設施,流程化商業(yè)的運作過(guò)程,并鼓勵重用性。這種模型是描繪構建于用戶(hù)服務(wù)、事務(wù)服務(wù)和數據服務(wù)基礎上的,多層應用開(kāi)發(fā)的MSF應用模型的基礎。
圖 2:企業(yè)總體結構模型

圖 3:MSF應用模型

MSF組隊模型
MSF組隊模型展示了如何組織項目隊伍,在時(shí)間控制和連續不斷發(fā)展計劃的要求下,有效的交付系統的解決方案。它描述了六種基本的角色(程序管理、產(chǎn)品管理、開(kāi)發(fā)、測試、系統實(shí)現和用戶(hù)教育)。
圖 4: MSF組隊模型

MSF過(guò)程模型 MSF過(guò)程模型解釋了如何基于:范圍、進(jìn)度和資源,規劃和控制面向結果的項目。它是基于四個(gè)可見(jiàn)里程碑交互的、允許修改的過(guò)程模型。過(guò)程模型中的“設計”階段在面向商業(yè)解決方案內容,結合過(guò)程模型、組隊模型和應用模型的組件方案設計過(guò)程(Designing Component Solutions Process)中,進(jìn)行了詳細的介紹。
圖 5:MSF過(guò)程模型

圖 6:組件方案設計過(guò)程

七、MSF的組成元素
規劃
企業(yè)總體結構規劃
應用三個(gè)基本模型可以幫助整體的理解企業(yè)。企業(yè)總體結構規劃提供了分析企業(yè)組織機構運作和商業(yè)應用集成和處理的基準。
企業(yè)總體結構是包含四個(gè)方面的框架:事務(wù)、應用、信息和技術(shù)。
這些模型不僅僅描繪了企業(yè)總體結構的組成部分,還通過(guò)以上各個(gè)方面在集成系統中的應用,幫助企業(yè)有效地實(shí)現每一個(gè)方面。企業(yè)總體結構規劃的過(guò)程,提供、揭示了商業(yè)運作的標準和所受的局限,使商業(yè)運作過(guò)程更易管理、費用更有效。
MSF的方法以“邊規劃、邊設計”為基礎,這意味著(zhù)企業(yè)總體結構規劃過(guò)程,一直伴隨著(zhù)商業(yè)需求變化和技術(shù)發(fā)展的連續過(guò)程。企業(yè)總體結構規劃使用了MSF的一些基本原則,如:風(fēng)險控制的時(shí)間安排、固定的產(chǎn)品發(fā)布時(shí)間、基于活動(dòng)的設計、外部可見(jiàn)的里程碑、小組模型、并行的結構設計、最大的限制、連續的方案開(kāi)發(fā)和結果實(shí)現。對比以往的自上而下的方法,現在項目不僅由企業(yè)模型所控制,它們還將直接受企業(yè)總體結構發(fā)展的影響。
構建
方案開(kāi)發(fā)準則--Solutions Development Discipline (SDD)
軟件開(kāi)發(fā)是一種復雜的、有創(chuàng )造力的過(guò)程。在較大的開(kāi)發(fā)隊伍中,采用自上而下的方法,將會(huì )抑制創(chuàng )造力、有效的交流和真正的方案開(kāi)發(fā)。SDD通過(guò)在軟件開(kāi)發(fā)過(guò)程中應用MSF基本模型,幫助軟件組織克服這些障礙。
組件方案設計--Designing Component Solutions (DCS)
DCS詳細解釋了MSF過(guò)程模型中“設計”階段的內容。DCS基于方案設計過(guò)程,覆蓋了為給出滿(mǎn)足商業(yè)需求的功能設計,所必需進(jìn)行的設計活動(dòng)。DCS的概念幫助理解和融合使用者和商業(yè)的需求(在項目層次上)。它強化應用程序的邏輯結構,以達到簡(jiǎn)化復雜性的目標。
這種設計過(guò)程允許有效地分派各種具備專(zhuān)業(yè)技能的人,以使特定的需求得到滿(mǎn)足。這種技術(shù)同樣保證在設計過(guò)程中維護應用程序的一致性。整個(gè)設計體系使用場(chǎng)景分析描繪概念設計,使用對象和服務(wù)描繪邏輯設計,使用組件描繪物理設計。
重用性設計--Designing for Usability (DFU)
DFU提供了大量簡(jiǎn)明的概念和實(shí)際的經(jīng)驗,進(jìn)行以用戶(hù)為中心的基于Windows的程序設計。它側重Windows應用程序的物理設計,強調用戶(hù)界面和操作銜接等原型技術(shù)。
維護
基礎設施實(shí)現和維護
MSF建立起對三個(gè)基本MSF模型中的角色、關(guān)系和應用的一致理解,解決實(shí)現、管理和維護技術(shù)基本結構的問(wèn)題。
MSF包含IT基礎結構實(shí)現要求的、有效的組隊模型和過(guò)程模型,確定了關(guān)鍵的項目構成因素和最終交付的成果,強調一致的規劃和管理模型給系統帶來(lái)的好處和費用的降低。
八、實(shí)施MSF
在項目實(shí)施的過(guò)程中運用MSF,其效果將是顯著(zhù)的,它能夠將技術(shù)變成產(chǎn)品,由產(chǎn)品變成效益;它能夠幫助用戶(hù)少走或不走彎路,從而更快地達到自己的商業(yè)目標。
MSF在微軟的許多大客戶(hù)中得以大顯身手,比如:瀛海威、中國投資銀行、香港跑馬場(chǎng)、香港匯豐銀行等。目前,在全國幾個(gè)大城市舉辦的MSF巡回講座,其目的 在于幫助更多的國內公司的領(lǐng)導,尤其是大公司的領(lǐng)導,認識MSF這一思想和原理,并能夠在 實(shí)際中運用這一思想。微軟正計劃或已經(jīng)開(kāi)始和一些大客戶(hù)共同實(shí)施MSF架構,如方正、用等。張彤川先生笑著(zhù)對記者說(shuō),盡管每一位實(shí)施MSF項目的微軟顧問(wèn)的收費比較高,但MSF來(lái)效益足可以使這筆費用微不足道。
由于我國舊的體制往往并不以商業(yè)化為主要目標或商業(yè)化目的不明確,致使現在仍抱有舊體思想的企業(yè)在進(jìn)行項目實(shí)施時(shí)常常陷入死循環(huán)。比如,當一個(gè)開(kāi)發(fā)項目即將結束時(shí),由于技的發(fā)展或業(yè)務(wù)的發(fā)展,客戶(hù)的需求有所變化(往往是提高了),和最初簽定項目實(shí)施協(xié)議時(shí)不同。抱有舊體制思想的客戶(hù)通常是拒絕在項目結束協(xié)議上簽字,而是要求開(kāi)發(fā)商按照變化了需求繼續進(jìn)行開(kāi)發(fā)。但是,當按照變化了需求所進(jìn)行的開(kāi)發(fā)結束時(shí),需求可能又發(fā)生了變。于是又繼續進(jìn)行開(kāi)發(fā),如此死循環(huán)。而MSF卻可以解開(kāi)這一死循環(huán)。當開(kāi)發(fā)項目結束時(shí), 即使需求發(fā)生了變化,但仍然可以將已開(kāi)發(fā)出的部分變成產(chǎn)品,把該產(chǎn)品投入商業(yè)應用,使它生商業(yè)效益。至于變化了的需求,則可以開(kāi)發(fā)出下一個(gè)版本來(lái)滿(mǎn)足,甚至不斷地開(kāi)發(fā)新版本, 以滿(mǎn)足不斷變化的需求。
MSF思想正是要解開(kāi)這一舊體制造成的死循環(huán),從而更好地利用投資,幫助客戶(hù)實(shí)現自己的業(yè)利益。這也是微軟進(jìn)行MSF巡回講座、和大公司共同實(shí)施MSF思想的主要原因之一。 張彤川先生告訴記者,微軟是一個(gè)產(chǎn)品提供商和技術(shù)提供商,提供平臺、產(chǎn)品和技術(shù)。而真正滿(mǎn)足用戶(hù)實(shí)際需求的成千上萬(wàn)的應用要靠合作伙伴來(lái)完成。微軟提供解決方案架構 (Solution Framework),而不提供具體的解決方案(Solution)。解決方案架構是一種準則或規則, 各個(gè)領(lǐng)域內的合作伙伴按照這一準則,以工業(yè)化模式制定出具體的解決方案。所謂工業(yè)化模,是指產(chǎn)品幾乎只需要裝配一下即可。就像蓋房子一樣,建筑者只需要把滿(mǎn)足一定標準的各各樣的預制板組裝起來(lái),即可建出符合標準的房子。這種模式可以大大提高代碼的利用率, 使開(kāi)發(fā)商不必一切從頭做起,從而提高開(kāi)發(fā)效率。而MSF是這一切的協(xié)調準則。
可喜的是,現在在國內已經(jīng)有很多MSF應用或MSF思想得到認可的實(shí)例。比如,用友公司是內最著(zhù)名的財務(wù)軟件公司,以往大多是最終使用客戶(hù)購買(mǎi)用友軟件,而現在有很多系統集商來(lái)購買(mǎi)用友財務(wù)軟件。這些集成商在用友軟件的基礎上開(kāi)發(fā)出更能滿(mǎn)足不同客戶(hù)的千萬(wàn)別的需求的產(chǎn)品,幫助它們達到自己的商業(yè)目的。而用友只需提供財務(wù)軟件核心,讓其它集成商在此基礎上進(jìn)行再開(kāi)發(fā)。這對用友、集成商和客戶(hù)都是有利的。此外,其它領(lǐng)域的公司也有類(lèi)似情形。MSF將結出越來(lái)越多的燦爛的果實(shí)。
聯(lián)系客服