2014年7月15日 星期二

「懶人創造世界」

嘻,「懶人創造世界」,這才是硬道理。
因為想偷懶,就要找更簡易、更有效率的做事方法;因為不想重做,所以儘量第一次就做好;因為不想浪費時間做人家不要的東西,所以會再三與客戶確認;因為要別人替自己做事,自己放假要找人代理,所以會不斷與同事溝通進度與細節;因為不想在放假時找回來除蟲,所以系統架構要弄好,測試也要完整;...
我完全認同底下文章,對於軟體工程師,其效率高低與好壞的評價。
好的軟體工程師,要動手解決問題前,會先把問題理解清楚,解決方案分析透徹,好確​​保將要寫的程式能真正的解決問題,而不是製造更大的問題,或者解決錯問題。

我以前寫加密器控制軟體,架構規劃,功能分析,高階設計,低階設計,撰寫測試計劃,架設測試環境就搞了一年多,程式在我腦袋裡早就跑了不知道多少遍,然後我只花了不到一個月寫作程式與單元測試,又花了一年多的整合測試,功能測試,系統測試,客戶測試,然後又在客戶端進行實機平行測試半年後,才總算可以正式上線。當然,在整合測試之後,大部分的開發人員,都已經移去做下一版本的開發工作,只有在測試發現問題需要改正時,被抓回來諮詢(或拷打,哈哈),確認該修改並不會產生不良副作用。

整個系統開發流程,總共花了近三年的時間,其中只有不到一個月的時間,是在做程式寫作與除蟲工作。這樣千錘百鍊的系統,到現在還在被全世界的銀行與金融機構在使用,系統的硬體不知道已經升級到了第幾代了,其軟體還是保持我當初設計的原樣,只是不斷被轉移到不同的硬體與OS上而已。