虎瀾集: 今夜您要選擇什麼?
August 8th, 2008
線上遇到學弟,他現在正為要選哪種方案來做他的專案很苦惱。其實這問題說難也不難,因為答案很清楚,出來賺錢嘛,選擇獲利最高 (通常也等同於成本最低) 的開發方式就對了,真正麻煩的是怎麼去算獲利。
以我學弟的例子而言,他的狀況是客戶開預算案,他們公司承包,這種最好算:
獲利 = 工程款 – 開發成本 – 維護成本 – 固定成本
算這種東西的時候,工時是最多專案經理拿來算成本的工具,不過呢,它只代表小小的一部份成本而已。如果今天做的東西驗收不過的話,工時少只代表虧的少,所以選擇的第一要件就是要確保你可以用它做出你想要的東西。以他的情況來講,大部份的 team member 只會 Java 和 PHP,所以在程式語言上,他沒什麼選擇,若是 Java 加上 PHP 都做不出他要的東西,那最好的選擇就是閃人先。
接下來是平台,平台直接影響固定成本,所以很多老闆看見你用微軟的方案會直接否決,因為帳面上這些是要付錢的。不過呢,若這個平台可以幫助你減少開發成本和維護成本,那最好還是精算一下再決定比較好。以我學弟的情形,他的客戶的 SA 熟 Windows 和 Solaris,不過他的團隊除了他之外沒人碰過 Solaris,這種情形下很容易可以算出來用 Windows 的成本會比較低些,因為可以買比較便宜一點的 x86 伺服器,而且不必付出讓團隊去熟悉 Solaris 的工時成本。兩個最主要的東西決定下來,CM (Configuration Management) 的主軸也就定了,接下來就是用需求訪談得來的情報去擬定整個 project 的 execution plan,那就是他自己的事了哇哈哈 …
對了,為什麼不用 Linux 呢? Linux 和 Solaris 的差異不至於大到太誇張啊? 這是好問題,去問你客戶的 SA 要不要幫 Linux 掛保證,如果他不要,那就是你要掛保證了,客戶給的錢足不足以讓你去兼做維護 OS 的事,那就是你自己要衡量了。你老闆愛出嘴炮反微軟挺 Linux,那叫他自己去和對方的 SA 搏感情,要不自己去客戶那裡定期 patch 全部機台順便拜乖乖咩,跟我哭沒用啊 ~~~