MSF,Microsoft Solution Framework,微軟解決方案框架是一個(gè)在預(yù)算范圍內(nèi)按期創(chuàng)建一個(gè)業(yè)務(wù)解決方案需要一種經(jīng)過檢驗(yàn)的方法。
本文將結(jié)合MSF在
項(xiàng)目管理中的實(shí)際應(yīng)用進(jìn)行講解,如果您是軟件項(xiàng)目的參與者,如項(xiàng)目經(jīng)理、開發(fā)工程師、系統(tǒng)架構(gòu)師、顧問、質(zhì)量管理人員等,想找到項(xiàng)目管理中遇到問題的解決方案,相信本文會(huì)給您一定的幫助。
MSF為成功地規(guī)劃、設(shè)計(jì)、開發(fā)和部署IT解決方案提供了一套成熟的方法論。與具有固定框架的方法相反,MSF提供了一個(gè)可以伸縮的靈活框架,以滿足任何規(guī)模的組織或者項(xiàng)目開發(fā)團(tuán)隊(duì)的需要。MSF指導(dǎo)由原理、模型和用來管理人員、項(xiàng)目和技術(shù)元素的準(zhǔn)則(大多數(shù)項(xiàng)目都會(huì)碰到)組成。MSF模型本身來源于微軟公司在大規(guī)模軟件開發(fā)和服務(wù)操作項(xiàng)目上的寶貴經(jīng)驗(yàn)積累,來自于微軟公司的顧問在為企業(yè)客戶實(shí)施項(xiàng)目時(shí)所獲得的經(jīng)驗(yàn),以及融合了來自于全球IT行業(yè)的先進(jìn)理念,最終形成的一套方法論。
MSF為軟件開發(fā)團(tuán)隊(duì)提供了一套可自定義、具有良好擴(kuò)展的軟件開發(fā)指導(dǎo)原則。MSF包括既靈活又具有邏輯的方法,允許軟件開發(fā)團(tuán)隊(duì)中的成員使用這些方法選擇最適合的方式完成個(gè)體的任務(wù)。采用MSF靈活的框架可以滿足任何軟件開發(fā)項(xiàng)目的需求,同時(shí)不必考慮項(xiàng)目的大小與復(fù)雜性。根據(jù)MSF的實(shí)現(xiàn)理念,沒有一個(gè)單獨(dú)結(jié)構(gòu)或流程可以非常好地適用于所有項(xiàng)目的需求和環(huán)境。
MSF框架于1994年被首次提出,最初被提出來是因?yàn)槲④涱檰栕稍儾块T為了微軟公司的一個(gè)
產(chǎn)品開發(fā)項(xiàng)目提供項(xiàng)目管理咨詢服務(wù)而產(chǎn)生的一套理論。從那時(shí)起,MSF開始逐步發(fā)展,這來自微軟公司的產(chǎn)品組、微軟服務(wù)中心、微軟公司的內(nèi)部操作和技術(shù)組(OTG)、微軟公司合作伙伴和客戶那里成功的和實(shí)踐的最佳做法。MSF是基于一整套成熟的軟件管理方法論,并融合了微軟公司在IT行業(yè)內(nèi)超過25年的項(xiàng)目周期管理經(jīng)驗(yàn)。MSF框架中提供的方法論被設(shè)計(jì)幫助Microsoft的顧問、合作伙伴和客戶來解決技術(shù)生命周期過程中碰到重大挑戰(zhàn)。
MSF使用這套經(jīng)過內(nèi)部和外部檢驗(yàn)的真實(shí)最佳做法,并對(duì)這些其中部分方法進(jìn)行簡(jiǎn)化、整理和檢查,使得MSF具有更廣泛的通用性,以便更多的合作伙伴和客戶理解和采用。MSF由Microsoft里一個(gè)專門的產(chǎn)品小組在管理和開發(fā),它同時(shí)還得到了國(guó)際顧問理事會(huì)該方面專家的指導(dǎo)和評(píng)論。MSF目前還在繼續(xù)吸收微軟公司當(dāng)前的經(jīng)驗(yàn)。同時(shí)微軟公司在其發(fā)布的開發(fā)平臺(tái)Visual Studio 2005中提供了實(shí)現(xiàn)MSF的基礎(chǔ)工具支持,Visual Studio 2005已經(jīng)不僅僅是一個(gè)開發(fā)的平臺(tái),更是強(qiáng)大一個(gè)軟件項(xiàng)目團(tuán)隊(duì)管理和軟件生命周期管理的工具。
MSF的核心有八個(gè)基礎(chǔ)原理,本文中將對(duì)幾個(gè)和團(tuán)隊(duì)管理結(jié)合比較緊密的原理進(jìn)行分析。
推動(dòng)開放式溝通
在一些項(xiàng)目開發(fā)過程中經(jīng)常會(huì)遇到這樣的問題,項(xiàng)目開發(fā)周期較短工作量卻很大,開發(fā)人員開發(fā)出來的軟件和最終用戶的需求在功能上吻合度很高,但是最終用戶卻覺得這個(gè)不是他們想要的軟件。實(shí)際上這是交流與溝通的問題,項(xiàng)目的開發(fā)人員在時(shí)間緊迫的情況下,往往是只看到眼前的工作,而忽略了與團(tuán)隊(duì)成員及最終用戶的溝通,結(jié)果就是從功能上完成了工作,但是軟件產(chǎn)品或解決方案的易用性大打折扣,導(dǎo)致最終用戶覺得最終提交物與他們的預(yù)期相距甚遠(yuǎn)。
在一些國(guó)內(nèi)的大型軟件項(xiàng)目開發(fā)中,很多情況下是項(xiàng)目組成員可能根本都不在一個(gè)城市,他們有的來自于總部的研發(fā)中心,有的來源于測(cè)試中心,有的在遍及全國(guó)各地的各個(gè)實(shí)施地點(diǎn)負(fù)責(zé)具體實(shí)施,有的可能以顧問的角色參與到項(xiàng)目中來,這樣就要求整個(gè)團(tuán)隊(duì)有一個(gè)良好的溝通方式,保證項(xiàng)目的順利進(jìn)行。
軟件項(xiàng)目和信息類解決方案都是由人的活動(dòng)來構(gòu)建和交付的。
從事軟件項(xiàng)目的每個(gè)人都會(huì)給項(xiàng)目組帶來自己的智慧、能力和觀點(diǎn)。為了將開發(fā)團(tuán)隊(duì)中成員的個(gè)人效力最大化,同時(shí)優(yōu)化其工作效率,團(tuán)隊(duì)成員的交流和溝通就顯得尤為重要。
如果在客戶和開發(fā)團(tuán)隊(duì)之間或團(tuán)隊(duì)成員之間沒有一種很好的溝通形式,那么團(tuán)隊(duì)成員就無法有效地完成其任務(wù),或是不能找到最正確的方法來完成任務(wù)。
隨著項(xiàng)目規(guī)模和復(fù)雜性的增加,對(duì)開放式溝通的需要就變得更加緊迫。完全基于開發(fā)團(tuán)隊(duì)內(nèi)部個(gè)人意志的工作成果可能導(dǎo)致軟件產(chǎn)品的缺陷,以至于削弱軟件產(chǎn)品的可用性,甚至?xí)a(chǎn)生軟件產(chǎn)品本身的缺陷。
MSF框架中最重要的一個(gè)基礎(chǔ)的原理就是倡導(dǎo)團(tuán)隊(duì)內(nèi)部和最終客戶之間的溝通,團(tuán)隊(duì)成員之間的協(xié)作是項(xiàng)目進(jìn)程中最重要的環(huán)節(jié),MSF推出了一種開方式和包容式的溝通方式,既最大限度了團(tuán)隊(duì)成員的智慧和創(chuàng)造性,同時(shí)也在宏觀上保證項(xiàng)目朝著正確的目標(biāo)前進(jìn),并且能夠符合諸如時(shí)間約束和特殊環(huán)境等條件的限制。
很多可能在最終提交產(chǎn)品時(shí)候發(fā)現(xiàn)的問題,可能都會(huì)因?yàn)樵鰪?qiáng)團(tuán)隊(duì)成員的溝通而及時(shí)發(fā)現(xiàn)和改進(jìn),這樣不僅最大程度上降低了項(xiàng)目的風(fēng)險(xiǎn),同時(shí)也提高了團(tuán)隊(duì)的協(xié)作能力。
為共同的前景而工作
在國(guó)內(nèi)的軟件行業(yè)中,多數(shù)的一線技術(shù)人員往往都是技術(shù)領(lǐng)域的專家,但是同時(shí)也缺乏對(duì)項(xiàng)目大局觀的把握。
他們知道如何正確的使用技術(shù)來完成自己當(dāng)前的工作,卻對(duì)項(xiàng)目的共同目標(biāo)缺乏認(rèn)識(shí)。這往往會(huì)導(dǎo)致軟件項(xiàng)目在一致性上的不足,也會(huì)影響團(tuán)隊(duì)的協(xié)作。而項(xiàng)目的領(lǐng)導(dǎo)者通常是對(duì)團(tuán)隊(duì)成員的具體工作進(jìn)行了布置和安排,但是忽略了對(duì)團(tuán)隊(duì)成員大局觀的培養(yǎng)。
項(xiàng)目經(jīng)理在對(duì)開發(fā)人員布置任務(wù)的時(shí)候,通常要講“你只要把某某功能實(shí)現(xiàn)就可以”,“你的程序要達(dá)到一個(gè)很高的穩(wěn)定性和效率”,但是至于實(shí)現(xiàn)該項(xiàng)功能在整個(gè)項(xiàng)目中的作用,程序的穩(wěn)定性直接關(guān)系到項(xiàng)目的哪些模塊的穩(wěn)定程度,都是沒有最終傳達(dá)給開發(fā)人員。
這些都導(dǎo)致了團(tuán)隊(duì)成員缺乏對(duì)項(xiàng)目共同前景的了解。
共同的前景是MSF小組和過程模型里的一個(gè)關(guān)鍵組件,它強(qiáng)調(diào)團(tuán)隊(duì)成員理解項(xiàng)目目標(biāo)的重要性。
當(dāng)所有的參與者都理解了共同的前景并為之而工作的時(shí)候,他們才能清楚的認(rèn)識(shí)到自己所做的工作在項(xiàng)目整個(gè)生命周期中的作用,進(jìn)而調(diào)整自己的決定和工作重點(diǎn)。
SF過程模型中特別強(qiáng)調(diào)要求有一個(gè)共同的前景存在,以便指導(dǎo)解決方案朝著最終的業(yè)務(wù)結(jié)果前進(jìn)。
保持靈巧,預(yù)測(cè)變化
很多項(xiàng)目經(jīng)理或是團(tuán)隊(duì)的領(lǐng)導(dǎo)者經(jīng)常犯的一個(gè)錯(cuò)誤就是過于理想化。
例如在做計(jì)劃的時(shí)候?qū)⒐ぷ髁抗烙?jì)的太過保守,殊不知團(tuán)隊(duì)中的成員有可能因?yàn)楦鞣N各樣的其他原因不能在計(jì)劃的時(shí)間中全部投入到項(xiàng)目中,或是最終用戶的需求臨時(shí)發(fā)生更改,所做的項(xiàng)目計(jì)劃缺乏足夠的靈活度,導(dǎo)致的結(jié)果就是項(xiàng)目計(jì)劃抵御不了突然的外部條件變化,當(dāng)這種變化真正發(fā)生時(shí)一切都已為時(shí)過晚。
傳統(tǒng)的項(xiàng)目管理方法和“瀑布”式的解決方案交付過程模型會(huì)假定某一層次或項(xiàng)目的某一個(gè)進(jìn)程的可預(yù)測(cè)性,在軟件項(xiàng)目中這樣的假設(shè)是不可行的。
常見的情況是,很多項(xiàng)目因?yàn)閷?shí)現(xiàn)的預(yù)測(cè)沒有成為現(xiàn)實(shí)而導(dǎo)致項(xiàng)目的進(jìn)程受阻。軟件開發(fā)項(xiàng)目本身就是一個(gè)創(chuàng)新的過程。
在這個(gè)過程中有很多的未知因素是不可預(yù)測(cè)的,解決方案必須順應(yīng)新的變化。在面對(duì)這種不確定性的時(shí)候要假裝或者要求確定性(至少)將會(huì)是不現(xiàn)實(shí)的,或者(至多)是不正常的。
MSF主張軟件項(xiàng)目的混亂有序的本質(zhì)。它的一個(gè)基本假設(shè)是,連續(xù)的變化應(yīng)該能夠被預(yù)計(jì)到,而軟件項(xiàng)目本身就是與這些變化分不開的。
例如,它認(rèn)為項(xiàng)目的一些計(jì)劃可能從一開始就很難說清,而且會(huì)隨著項(xiàng)目進(jìn)展會(huì)越來越難以預(yù)測(cè)。
MSF已經(jīng)將其小組和過程模型設(shè)計(jì)成能夠預(yù)計(jì)和管理變化的形式。MSF小組模型通過在關(guān)鍵決策中實(shí)現(xiàn)所有小組角色的參與從而加強(qiáng)了處理新挑戰(zhàn)的靈巧性,因此確保了從所有重要的角度去探索和審查這些問題。
近幾年來,產(chǎn)生了一些開發(fā)軟件的專門方法,這些方法致力于將靈巧性的原理和為變化而做好準(zhǔn)備的原理最大化。有了這一理念,MSF會(huì)鼓勵(lì)在合適的地方應(yīng)用這些方法。
質(zhì)量投資
在國(guó)內(nèi)一些規(guī)模不是很大的開發(fā)團(tuán)隊(duì)中,質(zhì)量管理投資往往是沒有被重視起來,原因可能是多方面的,項(xiàng)目時(shí)間緊張,人員緊張,調(diào)配不出更多的人員來進(jìn)行專門的質(zhì)量保證工作,但是其中最重要一條是團(tuán)隊(duì)的領(lǐng)導(dǎo)者對(duì)質(zhì)量管理投資的重視程度不夠。必要的質(zhì)量投資會(huì)為項(xiàng)目的實(shí)施與正式上線之后節(jié)省很多成本,而且質(zhì)量投資是隨著項(xiàng)目的進(jìn)展一直進(jìn)行的。
MSF團(tuán)隊(duì)模型要求團(tuán)隊(duì)里的每一個(gè)人都要對(duì)質(zhì)量負(fù)起職責(zé),同時(shí)承擔(dān)起測(cè)試過程管理的角色。測(cè)試角色會(huì)鼓勵(lì)團(tuán)隊(duì)在項(xiàng)目期間進(jìn)行必要的投資,以確保最終交付的軟件產(chǎn)品或解決方案質(zhì)量水平能夠滿足期望。在MSF過程模型里,由于項(xiàng)目交付內(nèi)容是逐步生產(chǎn)和審查的,所以測(cè)試就成為了質(zhì)量的一部分。該模型定義了關(guān)鍵里程碑,并提出了中間里程碑,供測(cè)試角色和相關(guān)角色使用團(tuán)隊(duì)建立的質(zhì)量標(biāo)準(zhǔn)對(duì)解決方案進(jìn)行量化的測(cè)試。在軟件項(xiàng)目進(jìn)行的過程總,不斷的對(duì)這些里程碑進(jìn)行檢查可以確保對(duì)質(zhì)量的不斷關(guān)注,并為在必要的時(shí)候進(jìn)行中途的修正提供機(jī)會(huì),避免風(fēng)險(xiǎn),提高項(xiàng)目最終成功率。
技術(shù)的提高讓一個(gè)團(tuán)隊(duì)獲得了更大的發(fā)展?jié)摿Α4蠖鄶?shù)團(tuán)隊(duì)都依靠技術(shù)本身來實(shí)現(xiàn)提高,而一個(gè)真正優(yōu)秀的團(tuán)隊(duì)的閃光點(diǎn)不僅僅在于技術(shù)的領(lǐng)先,還在于怎么樣將優(yōu)秀的技術(shù)轉(zhuǎn)化為生產(chǎn)力。
MSF框架有助于指導(dǎo)團(tuán)隊(duì)來實(shí)現(xiàn)這種轉(zhuǎn)換,完成自我提高。通過使用MSF框架對(duì)軟件項(xiàng)目管理進(jìn)行重新定位和規(guī)劃,軟件開發(fā)團(tuán)隊(duì)不僅僅獲得是生產(chǎn)力的提升,同樣可以獲得團(tuán)隊(duì)整體水平的提升,團(tuán)隊(duì)成員之間形成一種良性的協(xié)作習(xí)慣,在項(xiàng)目周期管理上獲得共同的價(jià)值觀,保障項(xiàng)目開發(fā)的順利進(jìn)行。這一切都會(huì)形成一種良性循環(huán),周而復(fù)始,軟件開發(fā)團(tuán)隊(duì)的整體水平積累了從量變到質(zhì)變所需要的資本。
但是,在項(xiàng)目團(tuán)隊(duì)里使用MSF是一項(xiàng)要求相當(dāng)高的計(jì)劃,它需要團(tuán)隊(duì)領(lǐng)導(dǎo)的大局觀和周密的規(guī)劃,同樣需要團(tuán)隊(duì)成員對(duì)MSF理論的深刻認(rèn)識(shí),同樣需要一種機(jī)制來保證新的團(tuán)隊(duì)管理方式的推行順暢。而MSF框架的使用也會(huì)為團(tuán)隊(duì)帶來活力與戰(zhàn)斗力,有利于團(tuán)隊(duì)精神的發(fā)揚(yáng)和延續(xù),不僅僅是項(xiàng)目管理水平的提升,更有利于團(tuán)隊(duì)知識(shí)管理框架的建立,積累寶貴的項(xiàng)目管理經(jīng)驗(yàn)。
實(shí)際上,軟件開發(fā)項(xiàng)目不僅僅是為了給最終用戶交付一個(gè)可以運(yùn)行的軟件產(chǎn)品或是解決方案,更深層次的成功則是通過一個(gè)有一個(gè)項(xiàng)目的開發(fā),團(tuán)隊(duì)能夠得到知識(shí)積累和成熟工作模式的形成,這已經(jīng)超出了項(xiàng)目管理的范疇,提升到軟件企業(yè)管理的層次,只有企業(yè)內(nèi)部的所有軟件開發(fā)團(tuán)隊(duì)都朝這個(gè)方向努力,才能真正為企業(yè)帶來知識(shí)積淀和持久的生命力。
MSF經(jīng)驗(yàn)知識(shí)庫主要內(nèi)容
企業(yè)結(jié)構(gòu)設(shè)計(jì)方案—采用交互的方式,側(cè)重于制定長(zhǎng)期規(guī)劃,同時(shí)也能完成短期目標(biāo)。
項(xiàng)目開發(fā)準(zhǔn)則—包含組隊(duì)模型和過程模型,用于建立高效的項(xiàng)目組,管理項(xiàng)目的生命周期。
項(xiàng)目設(shè)計(jì)過程和多層結(jié)構(gòu)的應(yīng)用程序模型—用于支持設(shè)計(jì)復(fù)雜的分布式企業(yè)應(yīng)用。
企業(yè)信息基礎(chǔ)設(shè)施的實(shí)施方法—使用組隊(duì)模型和過程模型支持實(shí)現(xiàn)、操作和技術(shù)上的方案。
MSF三個(gè)關(guān)鍵的成功因素
一種幫助提供技術(shù)決策指南的觀點(diǎn)。
一組反復(fù)跟蹤、監(jiān)控和管理項(xiàng)目及其進(jìn)展的參考方法。
一致的重用性保證在靈活的計(jì)算環(huán)境中有效的利用已有的知識(shí)和技能。