當大家開始研究 CMMI 的時候,將會有很多術語可能是我們不熟識的。好幾年前,有部分同事就表示不明白約束、假設、依賴、承諾這四個術語。本文希望可以加以解釋,讓新來的人員可以有一個比較明確的開始。
在解釋之前,我希望大家可以想著一些專案有關的人物與事情。比如要去開發一個工具,或是制定一個計劃,又或是參加一個評審。我們開展以上的專案活動的時候,都是在現實之中開展的,是離不開現實的。所以我們從事那些活動的時候,我們的工作將會與現實發生一定的關係。
約束、假設、依賴、風險,都是這些關係的一種。我們是經常會遇到它們的。瞭解它們將會讓我們更能高效地開展專案的任務。
- 約束
約束和假設,都是存在於專案裡面的條件與關係。每一個專案都會遇到不同的外部情況。這些外部情況,都是客觀、現實的情況,有一部分是已知的,是外部確定的,從專案的角度來看,是不可能改變的,是一定要接受的。這就會對專案造成一些限制:比如不能這樣、那樣。這些就是約束。比方說,全世界都對中國禁運。那麼,手機的開發,就一定只能用中國出產的器材。這樣的一個條件,就是一個約束。
又比如要制定一個計劃。但是我們沒有以前從事過類似的產品,使用過這樣的技術的人。所以我們沒有任何這方面的經驗與歷史資料。這個是我們不能改變的現實。
在評審方面,如果公司的政策是不能在會議之中使用手機,或是公司的會議室都設計成把手機訊號遮蔽掉。所有這些情況都是不能改變的,我們需要接受的,會限制我們的靈活性的。他們都是約束。
這些事情如果我們不是在做 CMMI 也會遇到。我們可能沒有刻意地知道這就是“約束”,但是我們都會知道如何應對於處理這些“約束”。
約束是事前已經知道是存在的或一定會發生。所以在計劃中,我們就需要把約束考慮進去。比如:國外不供應的,我們就要自己做。沒有經驗的,我們就要找一些具備相關經驗的人進行諮詢,或是接受訓練。否則計劃的準確程度就不可以保證。
約束是一定存在的,它造成的後果是已經知道的。我們需要處理,這些處理的方法都是專案的活動,都需要在專案計劃裡明確。但是它本身不是風險。
- 假設
假設是一個未發生或未知的外部的客觀情況。通常一個假設情況,也是外部確定的,或是受外部限制的,專案一定要接受它的影響的。但是這個情況不一定是必然的。比方說:這個專案的成功條件,是能夠招聘二十位對3G技術有5年經驗的開發人員。那麼,我們的專案計劃,就假設能夠招聘到這樣的一批人。當然這個事情有可能不可以滿足。但也有可能得到滿足。所以這是一個“假設”而不是一個約束。又比如拿著電腦參加評審,就是假設會議室裡有網路,可以上網。但是有些會議室的網路會有故障,上不了網的。
因為我們幹活時希望把事情做完做好,滿足要求。所以我們策劃的時候,不應該有不合理的假設。就是說,我們的假設的成功機會應該很高。否則這是不負責任的。無論如何,凡是假設,都可能不兌現,雖然概率不高,假設不兌現的時候,後果就不好。後果不好,就是一種“風險”。這個風險取決於自己的假設是否合理。
所以我們進行專案的活動的時候,需要刻意地留意自己的思維基礎、依據是否“假設”。如果是,那麼我們就不能過分依賴它來開展活動,或者要處理這個風險。
我們如果能夠好好判斷可能影響專案的外部因素,就能更有效地處理這些問題,專案就可以更能滿足要求,專案績效就會更好。
這些因素,假設也好,約束也好,都對專案有不同程度的影響。值得專案思考處理的因素,影響都是比較大的。否則我們用了很多精力關注一些小因素,就變得不值得了。CMMI 要求考慮這些問題,就是要我們建立高效處理各種因素的能力,所以要求考慮的,都是影響明顯的。
在CMMI評估訪談的時候,如果拿出來的案例,都是雞毛蒜皮的小事,就會給人家一個“你在背書,其實沒有實踐過”的感覺。
- 依賴
依賴是專案裡不同任務之間的關係,或是專案裡的任務與外部的關係。如果一個任務,會從其它的任務或是專案外部接受一些輸入,或是對其他的任務提供一些輸出,那麼,這個任務,和那個其他任務就有依賴關係。這些其他任務,可以是專案之內的。也可以是專案之外的。這些輸入、輸出,可以是工作產品,也可以是一些服務和資訊。比如,開發的各樣機,就需要依賴採購的器件能及時到貨。
專案的策劃能夠開展,就是因為我們對需求有一定的瞭解。所以專案策劃是依賴於
瞭解需求的。我發現一部分的同事在不能說清楚要做什麼的情況下,就開始策劃。這是非常浪費的。評審活動什麼時候舉行,當然是依賴於評審的檔案已經預備好。否則就沒有檔案可以評審了。
依賴關係對策劃有影響。我們需要配合這些依賴關係。總不能把一些有依賴性的任務放在那個依賴因素髮生之前吧。就是說,我們不會計劃在檔案預備好之前就進行評審吧?
另一方面,依賴是需要監控的。如果我們要按時評審,那麼,我們就要確保檔案按時完成。如果要樣機按時完成,可以使用,那麼,我們就要監控器件的採購與供應方,保證器件可以按時交運,並及時到位。
- 風險
風險是一些可能發生,還沒有發生,但如果發生就會有不良後果的事情。比如到臺灣的蘇花公路遊玩,風景很好,但大雨天氣下有泥石流的風險。這個跟假設有一點像。但是風險發生的時候會導致專案的不良後果。這才是風險。如果後果是好的,我們不叫他做風險。
假設就是一個策劃的依據。如果不發生,反而會造成不良的影響。比如:“假設天氣好,我們就到蘇花公路。”那麼,如果假設不發生,天氣不好,就有風險。
所以我們可以說,每一個假設都會有風險,因為他未必一定發生。
風險是一個非常重要的專案管理理念。因為專案的使命,就是滿足要求,滿足目標。任何不良影響,都可能讓專案不能十全十美地達成目標,甚至不能達成目標。
如果一個專案要開發一個成熟的產品,使用成熟的技術、工藝。那麼,大家對整個
過程都有經驗。這樣可能出錯的機會就不大,風險就小。但是要用新技術開發一個高技術含量的產品,比如:飛機的發動機,有很多技術要求,我們不具備。那麼,成功地風險就很大。確是如此。我們用了好幾十年,到現在才開始有一點點進展。
風險有兩個特性:發生的概率,與可能造成的損失。比如評審會議室的投影儀,可能老舊,顏色會偏藍。大家看起來不很舒服。如果我們知道風險能夠造成的破壞程度,我們可以承擔的,就不需要理會。如果後果嚴重的,比如投影儀壞了,燈泡壞了,不可以投影了,大家都看不見檔案了。問題就比較大了。問題大的風險,我們就要看它發生的概率。
後果嚴重,概率高的風險,我們需要避免它或是防止它。比如多拿一個燈泡,多拿一根投影儀的接線,由或者,自己帶一個投影儀。如果後果嚴重擔概率極低的,通常不會改變計劃裡的活動。但我們就要做好應對方案。比如,會議室在76樓。開會時可能發生地震;也可能有敵人的飛機撞過來。那麼我們就要買好生命保險了。
值得一提的,就是專案的任何工作,每一個任務,都可能有風險。越關鍵的任務,風險可能造成的損失越大。所以專案策劃的時間,需要小心考慮每一個任務的風險。是否可能延誤?有什麼延誤的可能原因?
那麼,如果我們有能力管理好風險,通過策劃與監控,規避風險或是讓風險的影響受控制,那麼專案能成功的機會就越大。所以有些學者說如果能夠管理好風險,就等於能夠管理好專案。這基本上是對的,只要在管理風險之外,加上良好合理的策劃,就可以了。
請留意,如果我們策劃得不好,風險也非常難管理好。因為管理風險依賴於
專案策劃。明白麼?
其實所有這些約束、假設、依賴、風險,等等都是專案管理的概念,不單單是CMMI 的觀念。他們在專案管理的過程中,對專案的策劃與操作:
- 不能依賴約束,因為約束是專案不能得到的。
- 假設需要合理,否則風險很大,對專案不利。
- 依賴需要小心監控,確保一定按時到位,否則專案就有風險。
- 風險會對專案產生不良影響,專案要儘量避免風險
- 承諾
承諾是一個態度。承諾就是員工,包括領導,對完成自己承擔的那些任務與責任,有明確的意願,按計劃要求完成它。專案之所以能按計劃高效、高質量地完成,就是依賴於員工的承諾。
承諾包含了瞭解承諾的內容,願意承擔這個責任的含義。強迫的條件,不是承諾。
我們可以說,我們的管理模式不需要承諾。我們有考核,有獎懲的激勵手法,員工都會按計劃完成的。
我們都在履行任務,我們當然能夠完成它。但是這樣不依靠承諾的操作模式,讓我們沒有承諾的感覺,所以我們理解承諾有困難。完成的產品與服務,質量不能保證。效率不會很高。
我們是這樣相信的。所以在中國的業界以至社會,都比較缺乏誠信。在深圳的母親,瘋狂地在香港買嬰兒的奶粉。我們對承諾不理解,是一個可悲的現實。
在專案裡,專案和產品部之間是有承諾的。研製任務書就是承諾的條件。承諾也可以發生在領導與專案之間:領導承諾提供資源,專案承諾按時完成開發產品,保證質量與成本。每一個專案的任務,都是專案與成員之間的承諾。需要按時,保證質量的情況下完成任務。也可以發生在專案與供應方之間。
CMMI 是一系列的最佳實踐。其中提到承諾,就是說以員工的自動承諾完成的任務,才能提高質量與效率。
其實,承諾是專業態度的一個因素。它有要求負責任,和合理要求的成分。這樣才是一個質量與效率的驅動力。