Groups
Groups
Sign in
Groups
Groups
MIS Blog
Conversations
About
Send feedback
Help
軟體專案的樂觀主義
4 views
Skip to first unread message
cactus
unread,
Dec 13, 2007, 11:06:02 PM
12/13/07
Reply to author
Sign in to reply to author
Forward
Sign in to forward
Delete
You do not have permission to delete messages in this group
Copy link
Report message
Show original message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to MIS Blog
軟體專案的樂觀主義
| | | |
葉木金
2007/12/14 05:00
在軟體專案的開發過程中,時程提供了專案進度追踪與資源運用的控制基準,讓專案管理者能夠可以用更有效率的方式達成專案目標。通常,軟體開發者會藉由軟
體開發的經驗或專業預估合理的專案時程。理論上,專案時程代表軟體開發者對軟體需求者的承諾,同時也是專案團隊合作、與進度追踪的重要依據(註1)。
不過,軟體開發專案與其它的產品開發在開發流程上卻存在顯著的不同。就本質而言,軟體本身具有抽象化的特質,因此,軟體開發的專案時程預估大多是靠個人
的直覺或主觀認定。每個人對時程預估都有所不同的認知,對同一個軟體開發作業,經由不同的人所預估所需花費的時間與成本往往會有不同的結果,但卻沒有人
會確切知道該作業實際的完成時間與所耗資源與成本。
實際上,合理的軟體專案的開發時程往往要在接近完成時,才會真正地出現。在接近專案的尾聲時,我們才會真正知道我們預估的開發作業時間是否合理。但直到
專案後期才發現時間不足或需要投入更多的資源時,卻會為開發團隊帶來巨大的壓力,結果常使整個開發團隊措手不及而造成專案的迫切的危機。
為什麼計劃總是與現實差別那麼大,莫非真的是「計劃趕不上變化,變化比不上老闆一句話」嗎?難道軟體專案的時程真的是無法預估的嗎?事實上,沒有時程的
預估,專案就無從管理;而依照筆者在實務上的觀察中發現,問題的核心並不在時程無法正確預估,而是在於預估時程抱持太過樂觀的想法,因而對專案進行了無
效的管理。
過程與目標的混淆
以管理的觀點來看,專案時程只是為了要達成專案目標,所採用的最可行的方案。但在規劃過程中,專案的不確定性將使得時程的預估變得很複雜,而為了增加規
劃的效率,通常需要做一些假設來簡化這些的複雜性,以使時程規劃可以順利進行。
換句話說,專案時程本身存在許多的前提假設,這代表專案時程並非達成專案目標的唯一途徑,而是依計劃進行的一種可能性。但換個角度來看,專案時程有時候
可能會無法實現,或是就算它真的被實現了,卻不一定能達成專案的真正目標。例如,軟體開發者常常在緊要關頭才會發現到,原先所規劃的時程其實是太低估了
開發作業所需要的時間,或是發現專案時程遺漏了重要的工作項目,使得整體的工作產出無法整合。
因此,在開發過程中,造成軟體專案無法按時程進行的最主要原因,其實是在於把計劃錯認為專案目標,而忽略了該檢視存在專案時程中的假設是否依然成立,因
而造成了專案目標與過程之間產生了混淆。依照筆者的觀察,這種混淆往往會造成管理過程的溝通問題、以及進度追踪的數字迷惘的兩大後遺症。
管理過程的溝通問題
在軟體工程領域中,理論上,依據軟體的功能與複雜度,可運用軟體度量的概念來具體客觀度量軟體規模,以協助軟體開發者預估合理的開發時程與成本。不過,
在實務上,要準確地度量合理的開發時程,其實還是取決於軟體開發團隊的歷史經驗與度量的成本。
如此看來,只要時程規劃者擁有足夠的歷史經驗並且願意投入相當的度量成本,發展出精確的專案時程是可行的。但事實上,為專案做這樣的投資卻是不見得會划
得來的。因為,軟體開發的過程常常會牽涉許多複雜的人際溝通與事物的變化,要巨細彌遺地將它們表達成數字,並不是一件容易做到的事情,同時也很容易讓管
理變得很複雜,結果往往會未蒙其利,先得其害。
例如,筆者常常會發現有些專案管理者,只會一味要求開發者提供開發作業的進度,卻沒有深入理解開發過程的實際狀況,也不去專注於溝通與協調。因此,對於
團隊成員在開發的過程中所出現的困難,往往無法提供立即而有效的協助,而在無力改善問題的情形下,讓問題不斷地擴大而造成時程延宕也是必然的結果。
其實,預估開發作業的工期並不在於數字的精確性,而是為了形成團隊成員彼此分工合作的基礎。換句話說,要讓管理更有效率,時程規劃與進度控管必須兼顧專
案的複雜性與團隊的文化。更明確地說,時程規劃與進度追踪應該支援團隊達成專案目標,而不是用來產生對團隊的限制。專注於專案時程數字的表象而忘了忽視
了團隊的溝通,很容易形成在管理上的本末倒置。時程規劃的重點,應該是放在如何增進團隊的溝通與互動上。(待續)
Reply all
Reply to author
Forward
0 new messages