考察市面上的一些報表工具,很多都是依賴編程來開發報表的,對於簡單報表,有些是無需編程可以實現的,但報表稍微複雜點則需要編程了。現在的資訊系統越來越龐大複雜,它們包容了大量的報表,若其中每個報表和大部分報表都需要編程實現,則會出現如下問題
- 很容易造成程式員長期出差。因為一般的系統實施人員沒有編程的能力,而編製報表需要和最終客戶密切交流,因此程式員就需要跑到系統實施一線和最終客戶進行密切交流,這造成程式員很多時候必須出差,有時會出現成批程式員像蝗蟲一樣跑來跑去的現象。
- 浪費公司人力資源。程式員是軟體公司比較寶貴的人力資源,應當斤斤計較的使用,但長期出差則是莫大的浪費,讓比較進階的程式員和最終客戶進行比較低級繁瑣的交流則是浪費程式員的精力。很多程式員不擅長和最終客戶進行交流,而且程式員和最終客戶過於密切會干擾公司的人力資源管理(某些天才程式員既懂技術又懂客戶,若再有點雄心則有可能XXX)。
- 提高項目費用。程式員一般工資相對比較高,而且出差時的差旅費用,出差補助都增加了項目費用。
- 加大工作量,一般認為現場編程是低效率且容易出錯。一次完整的現場編程包括客戶需求分析,現有系統分析,程式設計,編碼和調試,最後是整合和聯合調試。這一套流程走下來,時間也就不少了,若每次新增報表或修改報告就需要現場編程,開發報表模組的工作量就很大了。當客戶要頻繁的新增和修改報告時,工作量就急劇上升了,而且大量的為報表而新增的代碼可能對已有的系統結構造成衝擊。
- 延長項目時間,一般認為,一個項目儘可能快的完成則比較容易賺錢,若項目由於某些原因,進度拖遝,時間漫長,則基本上是虧本的,軟體公司自己受到拖累,而且客戶也會不耐煩。當資訊系統中存在大量報表,每個報表都需要編程實現,則單個報表的開發時間短不了,則完成整個報表模組的時間就比較長,這就拖累了整個項目的進度,延長項目時間。
從上述分析可以看出,無編程而定製報表的能力對報表工具意義重大。若在項目應用中使用了具有無編碼定製報表的報表工具,則會緩解或消除上述問題,可能表現為
- 程式員無需為了報表而長期出差了,經過培訓的系統實施人員可以和最終客戶交流,自己編製報表,若遇到複雜的報表則可以要求程式員的遠程支援。對於大型系統,只要讓一個初級或中級的程式員出差就可應付報表系統了。
- 單個報表開發時間很短,由於不需要編程,開發報表就主要是編製報表範本了。若報表設計師功能強大,使用方便則出報表範本的速度很快,單個報表的開發時間就很短了。這有助於縮短整個項目時間。
- 節約項目經費。出差人數少了,項目時間縮短了,項目經費自然就少了,項目也就容易賺錢了。
但對於一個新的報表工具,即使有無編碼定製報表的能力,在實際應用中也可能出現一下問題
- 報表工具本身品質問題造成功能不夠,使用不方便,反而事與願違。
- 學習和適應新的報表工具本身需要時間,因此這個時間對第一次使用報表工具來開發項目的進度有影響。
- 一些管理員對軟體的價值認識不足,有錢出差而無錢買工具。
基於上述的分析,筆者正在做這方面的嘗試。