天天看點

艾偉也談項目管理,項目管理利刃之MSF

  MSF,MicrosoftSolutionFramework,微軟解決方案架構是一個在預算範圍内按期建立一個業務解決方案需要一種經過檢驗的方法。

  本文将結合MSF在項目管理中的實際應用進行講解,如果您是軟體項目的參與者,如項目經理、開發工程師、系統架構師、顧問、品質管理人員等,想找到項目管理中遇到問題的解決方案,相信本文會給您一定的幫助。

  MSF為成功地規劃、設計、開發和部署IT解決方案提供了一套成熟的方法論。與具有固定架構的方法相反,MSF提供了一個可以伸縮的靈活架構,以滿足任何規模的組織或者項目開發團隊的需要。MSF指導由原理、模型和用來管理人員、項目和技術元素的準則(大多數項目都會碰到)組成。MSF模型本身來源于微軟公司在大規模軟體開發和服務操作項目上的寶貴經驗積累,來自于微軟公司的顧問在為企業客戶實施項目時所獲得的經驗,以及融合了來自于全球IT行業的先進理念,最終形成的一套方法論。

  MSF為軟體開發團隊提供了一套可自定義、具有良好擴充的軟體開發指導原則。MSF包括既靈活又具有邏輯的方法,允許軟體開發團隊中的成員使用這些方法選擇最适合的方式完成個體的任務。采用MSF靈活的架構可以滿足任何軟體開發項目的需求,同時不必考慮項目的大小與複雜性。根據MSF的實作理念,沒有一個單獨結構或流程可以非常好地适用于所有項目的需求和環境。

  MSF架構于1994年被首次提出,最初被提出來是因為微軟顧問咨詢部門為了微軟公司的一個産品開發項目提供項目管理咨詢服務而産生的一套理論。從那時起,MSF開始逐漸發展,這來自微軟公司的産品組、微軟服務中心、微軟公司的内部操作和技術組(OTG)、微軟公司合作夥伴和客戶那裡成功的和實踐的最佳做法。MSF是基于一整套成熟的軟體管理方法論,并融合了微軟公司在IT行業内超過25年的項目周期管理經驗。MSF架構中提供的方法論被設計幫助Microsoft的顧問、合作夥伴和客戶來解決技術生命周期過程中碰到重大挑戰。

  MSF使用這套經過内部和外部檢驗的真實最佳做法,并對這些其中部分方法進行簡化、整理和檢查,使得MSF具有更廣泛的通用性,以便更多的合作夥伴和客戶了解和采用。MSF由Microsoft裡一個專門的産品小組在管理和開發,它同時還得到了國際顧問理事會該方面專家的指導和評論。MSF目前還在繼續吸收微軟公司目前的經驗。同時微軟公司在其釋出的開發平台VisualStudio2005中提供了實作MSF的基礎工具支援,VisualStudio2005已經不僅僅是一個開發的平台,更是強大一個軟體項目團隊管理和軟體生命周期管理的工具。

  MSF的核心有八個基礎原理,本文中将對幾個和團隊管理結合比較緊密的原理進行分析。

  推動開放式溝通

  在一些項目開發過程中經常會遇到這樣的問題,項目開發周期較短工作量卻很大,開發人員開發出來的軟體和最終使用者的需求在功能上吻合度很高,但是最終使用者卻覺得這個不是他們想要的軟體。實際上這是交流與溝通的問題,項目的開發人員在時間緊迫的情況下,往往是隻看到眼前的工作,而忽略了與團隊成員及最終使用者的溝通,結果就是從功能上完成了工作,但是軟體産品或解決方案的易用性大打折扣,導緻最終使用者覺得最終送出物與他們的預期相距甚遠。

  在一些國内的大型軟體項目開發中,很多情況下是項目組成員可能根本都不在一個城市,他們有的來自于總部的研發中心,有的來源于測試中心,有的在遍及全國各地的各個實施地點負責具體實施,有的可能以顧問的角色參與到項目中來,這樣就要求整個團隊有一個良好的溝通方式,保證項目的順利進行。

  軟體項目和資訊類解決方案都是由人的活動來建構和傳遞的。從事軟體項目的每個人都會給項目組帶來自己的智慧、能力和觀點。為了将開發團隊中成員的個人效力最大化,同時優化其工作效率,團隊成員的交流和溝通就顯得尤為重要。如果在客戶和開發團隊之間或團隊成員之間沒有一種很好的溝通形式,那麼團隊成員就無法有效地完成其任務,或是不能找到最正确的方法來完成任務。随着項目規模和複雜性的增加,對開放式溝通的需要就變得更加緊迫。完全基于開發團隊内部個人意志的工作成果可能導緻軟體産品的缺陷,以至于削弱軟體産品的可用性,甚至會産生軟體産品本身的缺陷。

  MSF架構中最重要的一個基礎的原理就是倡導團隊内部和最終客戶之間的溝通,團隊成員之間的協作是項目程序中最重要的環節,MSF推出了一種開方式和包容式的溝通方式,既最大限度了團隊成員的智慧和創造性,同時也在宏觀上保證項目朝着正确的目标前進,并且能夠符合諸如時間限制和特殊環境等條件的限制。很多可能在最終送出産品時候發現的問題,可能都會因為增強團隊成員的溝通而及時發現和改進,這樣不僅最大程度上降低了項目的風險,同時也提高了團隊的協作能力。

  為共同的前景而工作

  在國内的軟體行業中,多數的一線技術人員往往都是技術領域的專家,但是同時也缺乏對項目大局觀的把握。他們知道如何正确的使用技術來完成自己目前的工作,卻對項目的共同目标缺乏認識。這往往會導緻軟體項目在一緻性上的不足,也會影響團隊的協作。而項目的上司者通常是對團隊成員的具體工作進行了布置和安排,但是忽略了對團隊成員大局觀的培養。

  項目經理在對開發人員布置任務的時候,通常要講“你隻要把某某功能實作就可以”,“你的程式要達到一個很高的穩定性和效率”,但是至于實作該項功能在整個項目中的作用,程式的穩定性直接關系到項目的哪些子產品的穩定程度,都是沒有最終傳達給開發人員。這些都導緻了團隊成員缺乏對項目共同前景的了解。共同的前景是MSF小組和過程模型裡的一個關鍵元件,它強調團隊成員了解項目目标的重要性。當所有的參與者都了解了共同的前景并為之而工作的時候,他們才能清楚的認識到自己所做的工作在項目整個生命周期中的作用,進而調整自己的決定和工作重點。MSF過程模型中特别強調要求有一個共同的前景存在,以便指導解決方案朝着最終的業務結果前進。

  保持靈巧,預測變化

  很多項目經理或是團隊的上司者經常犯的一個錯誤就是過于理想化。例如在做計劃的時候将工作量估計的太過保守,殊不知團隊中的成員有可能因為各種各樣的其他原因不能在計劃的時間中全部投入到項目中,或是最終使用者的需求臨時發生更改,所做的項目計劃缺乏足夠的靈活度,導緻的結果就是項目計劃抵禦不了突然的外部條件變化,當這種變化真正發生時一切都已為時過晚。

  傳統的項目管理方法和“瀑布”式的解決方案傳遞過程模型會假定某一層次或項目的某一個程序的可預測性,在軟體項目中這樣的假設是不可行的。常見的情況是,很多項目因為實作的預測沒有成為現實而導緻項目的程序受阻。軟體開發項目本身就是一個創新的過程。在這個過程中有很多的未知因素是不可預測的,解決方案必須順應新的變化。在面對這種不确定性的時候要假裝或者要求确定性(至少)将會是不現實的,或者(至多)是不正常的。MSF主張軟體項目的混亂有序的本質。它的一個基本假設是,連續的變化應該能夠被預計到,而軟體項目本身就是與這些變化分不開的。例如,它認為項目的一些計劃可能從一開始就很難說清,而且會随着項目進展會越來越難以預測。

  MSF已經将其小組和過程模型設計成能夠預計和管理變化的形式。MSF小組模型通過在關鍵決策中實作所有小組角色的參與進而加強了處理新挑戰的靈巧性,是以確定了從所有重要的角度去探索和審查這些問題。近幾年來,産生了一些開發軟體的專門方法,這些方法緻力于将靈巧性的原理和為變化而做好準備的原理最大化。有了這一理念,MSF會鼓勵在合适的地方應用這些方法。

  品質投資

  在國内一些規模不是很大的開發團隊中,品質管理投資往往是沒有被重視起來,原因可能是多方面的,項目時間緊張,人員緊張,調配不出更多的人員來進行專門的品質保證工作,但是其中最重要一條是團隊的上司者對品質管理投資的重視程度不夠。必要的品質投資會為項目的實施與正式上線之後節省很多成本,而且品質投資是随着項目的進展一直進行的。

  MSF團隊模型要求團隊裡的每一個人都要對品質負起職責,同時承擔起測試過程管理的角色。測試角色會鼓勵團隊在項目期間進行必要的投資,以確定最終傳遞的軟體産品或解決方案品質水準能夠滿足期望。在MSF過程模型裡,由于項目傳遞内容是逐漸生産和審查的,是以測試就成為了品質的一部分。該模型定義了關鍵裡程碑,并提出了中間裡程碑,供測試角色和相關角色使用團隊建立的品質标準對解決方案進行量化的測試。在軟體項目進行的過程總,不斷的對這些裡程碑進行檢查可以確定對品質的不斷關注,并為在必要的時候進行中途的修正提供機會,避免風險,提高項目最終成功率。

  技術的提高讓一個團隊獲得了更大的發展潛力。大多數團隊都依靠技術本身來實作提高,而一個真正優秀的團隊的閃光點不僅僅在于技術的領先,還在于怎麼樣将優秀的技術轉化為生産力。

  MSF架構有助于指導團隊來實作這種轉換,完成自我提高。通過使用MSF架構對軟體項目管理進行重新定位和規劃,軟體開發團隊不僅僅獲得是生産力的提升,同樣可以獲得團隊整體水準的提升,團隊成員之間形成一種良性的協作習慣,在項目周期管理上獲得共同的價值觀,保障項目開發的順利進行。這一切都會形成一種良性循環,周而複始,軟體開發團隊的整體水準積累了從量變到質變所需要的資本。

  但是,在項目團隊裡使用MSF是一項要求相當高的計劃,它需要團隊上司的大局觀和周密的規劃,同樣需要團隊成員對MSF理論的深刻認識,同樣需要一種機制來保證新的團隊管理方式的推行順暢。而MSF架構的使用也會為團隊帶來活力與戰鬥力,有利于團隊精神的發揚和延續,不僅僅是項目管理水準的提升,更有利于團隊知識管理架構的建立,積累寶貴的項目管理經驗。

  實際上,軟體開發項目不僅僅是為了給最終使用者傳遞一個可以運作的軟體産品或是解決方案,更深層次的成功則是通過一個有一個項目的開發,團隊能夠得到知識積累和成熟工作模式的形成,這已經超出了項目管理的範疇,提升到軟體企業管理的層次,隻有企業内部的所有軟體開發團隊都朝這個方向努力,才能真正為企業帶來知識積澱和持久的生命力。

  MSF經驗知識庫主要内容

  ◆企業結構設計方案—采用互動的方式,側重于制定長期規劃,同時也能完成短期目标。

  ◆項目開發準則—包含組隊模型和過程模型,用于建立高效的項目組,管理項目的生命周期。

  ◆項目設計過程和多層結構的應用程式模型—用于支援設計複雜的分布式企業應用。

  ◆企業資訊基礎設施的實施方法—使用組隊模型和過程模型支援實作、操作和技術上的方案。

  MSF三個關鍵的成功因素

  ◆一種幫助提供技術決策指南的觀點。

  ◆一組反複跟蹤、監控和管理項目及其進展的參考方法。

  ◆一緻的重用性保證在靈活的計算環境中有效的利用已有的知識和技能。

繼續閱讀