網路資訊/大陸版人月神話揭軟體開發迷思
作/林恩雅
大型系統的開發,就猶如陷入了焦油坑的古代史前巨型動物的激烈爭扎,雖然強壯,但越掙扎,焦油纏得越緊,最終仍然滅頂。在中國大陸,任何一個系統都很可能是大恐龍,我們又該怎麼辦?
堪稱軟體行業界的聖經《The Mythical Man- Month: Essays on Software Engineering》,中文書名稱爲「人月神話: 軟體專案管理之道」,是一本於1975年發行、1995年重新發行紀念版,至今仍歷久不衰的經典書籍,這本書論述了很多在軟體開發過程的一些迷思。
軟體開發之所以容易延遲,是因爲沒有合理的估算時程,並且陷入了「人月神話」的迷思。首先,對時間的估算是基於一種樂觀主義,前提在於一切都將運行良好沒有誤差。第二,在估算過程假設「人」與「月」之間可以互相轉換,可以經由增加人手來縮短開發時間。第三,開發過程缺少稽覈與進度跟蹤。第四,軟體項目經理通常不會很有耐心的進行此項工作的估算。第五,當發現進度落後時通常會選擇加派更多人手,但這無異於火上澆油,只會使事情更糟。
在大部份情況下,軟體項目經理喜歡用少數精幹的人來開發一個系統,而其所需的成本與時間,往往遠低於用一羣平庸的開發人員。但這樣的觀點回避了一個問題,當系統夠大時,如果要縮短開發時間則仍然要投入大量人力,而不是單純「少數精幹的人」就可以完成;但當人多時,專案開發的時程與成本則又往往失控(人越多溝通成本越高、管理階層也越多)。
系統設計過程中概念的完整性非常重要,但大部份系統所呈現的概念完整性遠不如歐洲的教堂。原因並不在於系統設計被分成若干人設計,而是在於設計工作被切分成若干段,並交給不同的人來處理。
如果在開發系統的過程中,負責人沒有時間、成本壓力,往往會在設計人員畫蛇添足的情況之下,增加許多不必要的功能,進而造成開發成本提高與推遲系統完成時間。
在開發大型的系統中,充份的溝通、減少爭議,並將溝通結果轉爲組織與行動,才能確保系統開發不會如「聖經」中的巴比倫通天塔,因溝通問題最終招致失敗。在系統開發的過程,應該像諾亞方舟的建造者學習,如何在有限的成本與時間裡,建造出可以容納下那麼多種類與數量的動物。
筆者在大陸工作超過10年,在與大陸資訊從業人員、以及用戶溝通的過程中,常看到一些很奇怪的觀點,姑且將這些迷思稱爲「人月神話-大陸版」。以下提出7種使用資訊系統過程所生的迷思與各位分享。
賣應用軟體廠商都會告訴客戶: 使用系統後,公司員工的工作效率會提升! 其實並不然,許多公司導入應用軟體後只是「電腦化」而已,比起用Excel整理資料強不到哪裡去,充其量只是讓老闆可以隨時由系統中調出資料查看、可以更及時、報表更美觀。
如果要讓系統的導入獲得效率及更多的好處,那麼在導入前應慎重考量以下事情:
1.是「電腦化」或是「自動化」例如產線要進行直通率系統導入,在導入的過程是否引入自動化設備,讓資料的收集都自動進行,或是所有書面作業都不變, 只是最終把輸入Excel的資料轉爲輸入系統?只有自動化設備的導入才能實質上減少終端操作用戶的時間。
2.系統間資料連結功能是否完善Excel與資訊系統兩者之間的差別在於後者是將各種不同作業流程的資料統一放到資料庫中,因此可以妥善進行相互勾稽。例如,訂單->工令->請購->採購-> 入庫驗收->工單領用。所有的資料都在同一系統中, 便可以非常容易的以表單號進行連結,這如果是使用Excel就不容易做到。
迷思二:有了ERP之後,公司的經營管理就可以上軌道?
這是最大的錯誤與迷思!ERP只是個輔助系統,最多隻能協助將企業的資料與資源進行整合。筆者在大陸看到更多的是ERP被當作是一套完美的帳務處理系統,除了前端文員與財務人員之外,一般管理階層基本上不會去使用也不會操作,所有決策過程所需的資訊仍然由下往上來呈報訊息,而不是由系統中去撈資料與進行分析。
ERP如果要發揮效果,最好能達到以下兩點要求:
1.讓管理階層使用系統,養成從系統中撈異常與撈資訊的習慣,而不是仍要靠下屬員工發送郵件或是書面報告才能掌握情況。
2.系統的運用應該要能產生競爭優勢,例如爲了掌握供應商的庫存狀況,可以將公司ERP中的庫存模組進行調整,讓供應商可以經由外部網路連入公司並免費使用庫存模組,同時進行進銷存管理。這意味着,經由適當的ERP 調整去結合公司流程需求,通常可以產生一些對企業有用的優勢。
網路資訊.254.255期(新春號)