2013年10月8日 星期二

誰去掛鈴鐺 - 合理的專案需求與時程

        記得小時候國語課本裡,有這樣的一個故事:老鼠們聚在一起開會,討論該如何對付那隻非常會捉老鼠的貓;經過熱烈討論後,最後終於得到結論,就是在貓的脖子上掛個鈴鐺,這樣只要牠一接近,老鼠就可聽見鈴聲而趕緊逃離。可是問題來了,究竟誰要去把鈴鐺掛在貓脖子上呢? 大家你看著我、我看著你,一句話也說不出來。

        這就是小有名氣的寓言故事「誰去掛鈴鐺」,所要表達的是:遇到事情時,除了想出方法,更要想出可執行的方法,否則就是空談。

        在許多軟體專案的開發過程中,這種情形也屢見不鮮。不專業的業務人員(甚或主管)常會答應許多客戶所提出的誇張需求,其目的就是為了討好客戶,得到案子的開發權。等到得標後,系統分析師下場進行規劃時,才發現根本無法於時限內完成所有功能的開發;這個時候,那些始作俑者就有如故事中的老鼠一般,嘴巴閉得緊緊不說話,默默地把後續的開發工作推給開發人員。反正開發時間不足,需要超時工作的又不是他們,就讓別的老鼠去「掛鈴鐺」吧! 這種狀況下,如果運氣好,遇見了開發能力強的團隊,雖困難重重仍能準時結案;但是這種操作方式將嚴重打擊開發人員的向心力,因此而離職的優秀員工必大有人在。反之,若遇到了一般的開發人員,不僅無法準時完成,甚或無法結案;相繼而來的違約賠償、公司商譽受損等效應,更是不堪想像。兩種結果,想必都不是大家所樂見的。

        不合理的需求與時程,不僅是空談,根本就是一堆垃圾!

        要避免這種問題的出現,其實不難,只要「尊重專業分工」即可。沒有人是萬能的,業務人員的商業敏感度高、專案經理擅長風險控管與資源運用、系統分析師則對技術層面多有涉獵,三者各有所長,任何一方越權處理他方的事務便容易發生問題。用前面談到的例子來說,業務人員鎖定欲承接的案子後,不可單憑著「想當然爾」就作出承諾;須將客戶的初步要求帶回,與專案經理、系統分析師充分就開發時程、開發技術等方面交換意見,歸納出可接受(可執行)的方案後,再評估是否進行下一步的動作。唯有如此,方可於專案尚未成型前,儘量排除隱藏於其中的危機,為後續的開發工作奠定良好的基礎。

        台灣軟體業的不景氣,其重要原因之一就是削價競爭。主事者必須充分尊重專業,除了衝業績外,更應注重軟體品質,造成一良性循環;否則,軟體業將很難在台灣逆風而起,再創佳績了。