2011年10月18日 星期二

轉載: [心得] 長期的成長與創新

以下文章,來自台大批踢踢實業坊(telnet://ptt.cc) Soft_Job版 zanyking 版友的心得分享:
作者 zanyking (遙遠的旅人)                 看板 Soft_Job
標題 [心得] 長期的成長與創新           時間 Tue Oct 18 11:43:10 2011



這陣子看到也參與了許多專案管理與公司經營方面的討論,也來歸納一下個人想法好了。

專案公司要追求成長,記住二件事:

1. 長期而言,專案公司營收與規模成長速度,取決於開發人員總產能與默契如何提昇,不是訂單的成長速度。(台灣一堆小軟體專案公司會失敗,常常就是老闆看到訂單上的金額昏了頭。)

2. 公司成長的穩定性與對風險的承受能力,取決於你保留了多少閒置開發能量與可燒現金。(這會直接影響你覺可不可以睡好、胃會不會痛、你的員工可不可能喝西北風)

記住專案開發的風險是較高的,delay 個10%~ 50%是很常有的事。倒是提前完成的不多。為什麼?因為莫非就是在那裡,而軟體專案開發是最被宇宙定律詛咒的行業。

專案開發的生產模型,靠得就是消費一群專業人員的可工作時間,來完成且持續維運一個脆弱且動態的系統的各項功能,然後透過這個系統來供給滿足終端使用者的 需求,賺取利潤。

這時我們碰上三個性質都非常極端的玩意:
第一是『需求』、第二是『人』、第三是『時間』

『需求』,特別是任何資訊類型的需求,是非常抽象而難以捉摸的東西。當一個需求被提出來,以這個世界的知識作為背景去延伸,無數的細節就會隱含在那裡等你來發掘。開始規劃時你沒找到的,以後就變成地雷等你來踩。開始客戶沒想到的,以後就變成『規格不符』等你來修。
需求與真實世界互動下無數的可能性與細節就是專案風險的第一來源。

『人』構成專案風險的第二來源。不要講客戶,講自己人就好,人的能力提昇不是線性的、每周工作成果是不好預測的、情緒與健康狀況是不能阻止的、人與人之間的溝通與衝突是難以設計預防的。於是你看到小公司一個人離職會驅動整票人走,因為人走了工作就是留下來的接,長期的加班與不滿被新加進來的工作一次到位,公司的產能就那麼玩完了。像這樣子的非線性系統動力災難在『人的領域』裡到處都是。

再來是『時間』,時間是最沒有彈性的東西,不能儲存、不能移轉。一天就是只有那些,而專案Critical Path上任何突發事件造成的『延遲』,都只會累加、不會減少。客戶慢了一天回你,那一天你就是沒有進展、這個專案的完成就是得多延一天!

千萬不要小看一天,這一天的影響不只累加在這個專案裡,還累加到正在進行的其他專案裡、累加到下一個專案裡、一旦開始加班那就累加到員工對公司的不滿情緒裡、也透過相依性驅動著無數的事件,那就會帶給專案經理精彩又刺激每一天。

『需求與人』這兩個巨大難以量化的統計波動來源,配上沒有彈性只會延長累加誤差難以提前縮短的『時間』,就是專案執行管理上的本質。

而『製造腦袋』的老闆們常常在這個行業摔跟斗也是因為他們無法理解,用不穩定的人(而不是穩定的機器)、以沒有彈性的時間(而不是有得商量的物質原料)、去滿足幾乎可以任意修改的需求(有沒有看過EIP系統從新增客製報表這樣的需求開始,變身成CRM的?)背後所代表的意義。

於是當客戶一通電話來說有個案子價格可以開到多少時....你得想想這真的是個機會還是什麼,你的公司還有『閒置產能』嗎?過去一年新人的年生存率是多少呢?
你最擅長做事的人是不是最忙?你最能有新想法的人上次有空跟你說話是什麼時候?

你想『傾全公司之力』追逐『機會』?想碰運氣?

記住你選了這個行業,上天的祝福早已離你遠去,你是被宇宙定律給詛咒的人!

如果開軟體公司想追求長期持續的成長與不斷地創新,好好想想那個一通電話的『逢魔時刻』來臨時,該如何應對吧。

--

我所信仰的科學是一種謙卑的理性,承認自身的無知與渺小才能觀察到世界在我們貧弱的知覺上留下來的痕跡。

沒有留言: