2015年7月20日 星期一

程式人員最重要的工作-思考並下決定

最近因為工作上的關係,在公司寫了一篇專題文章  待辦事項vs警告和提醒,如果有興趣的朋友,可以參考一下。

我們在完成系統時,往往花了很多的時間去確認程式的完整度和測試程式是否有BUG。在花了這麼多的時間之後,如果要加上待辦事項,或是異常的警告;這時就會面臨一個抉擇,是要修改原來的後端過帳程式呢?還是獨立用另外一組程式來做新功能?

如果只是一二個程式的修改,一般都會選前者;不過如果是會一直追加的功能呢?例如異常的提醒就是會一直加的功能。首先會是一二個異常的提醒,例如庫存不足時提醒。接下來USER就會說那庫存都可以提醒了,那支票到期是不是可以提醒?上班忘刷卡是不是可以提醒?主管簽核超過時間可否提醒?....然後你就會發現異常的提醒功能可能不會比ERP系統小。

這時如果你選擇的是前者,我想這時程式應該已經複雜到很難改變的地步了,要再找人訓練應該有困難了。如果你選的是後者,那至少系統比較好理解,可以分派給不同的人,擴充性是比較好的。

這樣講好像很簡單,問題是一開始都只是一二個小問題,怎會知道後面會變化這麼大?都改了這樣一大堆程式了,那是要回去重頭選擇第二種方式,把程式改回去,還是就這樣用第二種方式,程式繼續給他複雜下去?

判斷是程式人員最重要的工作,選對上天堂,選錯下地獄。千萬不要聽信USER給你的訊息,你一定要自己加以判斷,後續的變化和追加是不是會很多?因為那都會變成你的工作量。我相信你想過,做了決定,不論是對是錯,你心理都會舒服一些,因為那是你選的。

選錯了沒關係,在系統沒變複雜前,修正過來就行了。重要的是你想過,知道你為什麼做了這樣的選擇。這樣經驗多了,你的選擇對的機率會提高很多。