軟體專案管理之系統思考(轉)

ger8發表於2007-08-13
彼得·聖吉所說的第五項修煉指的就是:系統思考。什麼是系統思考?系統思考是對影響系統行為的力量和相互關係進行思考的方式。簡單的說,就是用系統的、整體的、全域性的思維方式而不是細節的、片面的、區域性的思維方式去思考解決工作生活中遇到的問題。

一個系統是一個能夠被感覺到的整體。系統元素彼此聯絡、相互影響。一臺計算機是一個系統,一家企業是一個系統,一個社會也是一個系統,小到微觀粒子,大到宏觀宇宙,都是一個相互影響、彼此聯絡的一個系統整體,都有其執行的內在規律。面嚮物件語言所描述的:Everything is Object。我們是否也可以說:Everything is a System?

既然系統元素是相互影響彼此聯絡的,那麼我們在軟體專案管理中是否也可以用系統思考的方式來管理呢?常常我們只看到系統的表面和表象,卻不瞭解其內在的本質和規律,就象不懂電腦的人覺得電腦是多麼的神奇,可以繪製圖畫、播放聲音、執行運算等等;在軟體專案管理過程中,我們也常常會抱怨客戶的需求一變再變;抱怨某個人缺乏團隊精神,難以合作;抱怨專案釋出日期一拖再拖等等;

一個軟體專案涵蓋了專案組、客戶、客戶需求(或者稱為專案目標)以及為達到專案目標、滿足客戶需求所需要的權責、人員、時間、資金、工具、資料、場所等等專案資源。而人員無疑是專案資源中最特別最重要的資源,人具備主動性和情感,與社會、家庭、企業、員工等的關係密不可分。我們在進行軟體專案管理的過程中,不應該僅僅侷限於軟體專案內部,而是與一個社會、家庭、企業都密切聯絡的一個系統。

客戶的需求為什麼一變再變?我們在提一個方案的時候是一個什麼樣的過程?人類認識世界是一個由無知到已知、由淺入深的過程。我們以及客戶對需求的認識也是一個逐步深入逐步明晰的過程。隨著認識的深入,客戶的需求才逐漸變的明確。我們作為“Professional”人員在最初的時候就需要幫助客戶深化認識、明確需求。我曾經無數次遇到客戶說要怎麼樣,我們的人員就怎麼樣,還振振有詞說客戶就是要求這麼做的。很好的一個擋箭牌。完全沒有自己的思想和思維。等客戶要求改變了,我們就開始抱怨客戶需求總在變,把責任推給客戶,這是我們作為“Professional”人員所不應該有的。試想,我們作為Professional人員都做不到的事情,又如何要求我們的客戶去做到呢?

我曾經中途被調入一個專案組。整個專案已經做了一年多了,但做的是異常失敗。由於客戶的特殊性,公司不得不幾乎傾一個部門內所有的技術精華人才不惜代價、全力以赴來挽救,甚至後來還請一個加拿大的顧問來分析專案失敗的原因。初到這個專案組,讓我覺得驚訝。專案進行了一年多,專案組中幾個主要的設計人員竟然不懂程式語言;開發人員只能按照設計人員的思維編碼不能參與業務的分析討論和系統的設計;幾個小組間矛盾重重溝通乏力……為什麼會導致這些問題?當時,公司釋出了一項軟體專案管理的制度,關係到專案經理的切身利益,卻與普通員工沒有關係,或者說普通員工可有可無,專案經理在專案管理過程中大力壓縮開支和費用,晚上加班工作餐往往吃的都是中午食堂的剩菜剩飯。沒有團隊建設,意志渙散等等。所有這些最終導致了專案的失敗。大多數時候,一個專案經理的經驗、能力和素質往往會決定著一個專案的成敗。一頭狼帶領一群羊勝過一隻羊帶領一群狼,便是這個道理。正所謂千軍易得,一將難求。專案經理是一個專案成敗的關鍵。

僅有優秀的專案經理是不夠的,一個系統內的元素是相互影響彼此聯絡的。巧婦難為無米之炊。要達到專案目標,離不開專案資源,專案經理的職責就是利用既有的專案資源達到專案的目標,滿足客戶的需求。我們說了,人力資源是一種特殊的資源,人有主動性和情感。一個人有好惡、有情緒、有自尊。人是一種社會動物,受社會、經濟、法律、家庭、生活等各方面活動的影響。當前眾多企業高喊的“人性化管理”、專案團隊建設,就是從人的精神需要出發,給以認同、尊重,以激發人最大的潛能,減少內耗,達到最大效能,參與並服務於公司行為和目標!

我們常常會遇到專案組某個成員沒有按時完成工作,導致整個進度延遲,我們常常會不由自主的批評、指責,而沒有主動去尋找導致延遲的原因。風險管理中指出風險的發生必然有其原因和結果(影響)。或者他生了病;或者家裡出了事;或者遇到技術難題,不能克服;或者其他。也有些人表面看來個性孤傲、難以接近,也許事實上是太專注於技術學習而沒有時間浪費。也有些人對分配的工作推脫不願意幹,事實上他是缺乏完成工作所需的技術能力,讓他感覺到了太大的壓力,不由自主的牴觸。或者心不在焉、錯誤不斷,也許正為某件事煩惱鬱悶……人的個性、特點、技能、情緒、愛好等都會影響到軟體專案中其他元素。每中系統元素都不是彼此獨立的,而是相互影響、互為聯絡、相輔相成的。軟體專案管理中涉及客戶、客戶需求、專案成員、資金、時間、技術、工具、場所等很多中資源,只有理清軟體專案管理中各種資源的相互關係和影響,才能方便的利用既有的專案資源尋求一條達到專案目標(客戶需求)的最小代價(Cost)路徑。[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7839396/viewspace-955712/,如需轉載,請註明出處,否則將追究法律責任。

相關文章