程序員浪費生命的幾種方式

人文精神  >>>  技術的天空 溫和的思緒

程序員應該要愛惜生命,做有用有意義的事情。做有用的事情,有兩種方式,一、做一個對用戶真正有價值的項目,這個項目是真正有意義有用的;二、朝正確的方向以正確的方式做項目。但是程序員會遇到很多失敗的項目,這些系統要么是沒有人用沒有真正價值,要么是以不正確的方式做項目,使用不當的技術,例如,用報表工具代替查詢、用ESB企業總線當作海量數據傳輸用,或者做一些沒有實際用途的功能,如做一個萬能的用戶自定義查詢系統、做用戶自定義工作流工具、做用戶自定義報表工具,這些項目無疑在浪費程序員的生命。筆者試圖總結程序員浪費生命的幾種方式,如下。

1、開發一個質量和性能很差的系統

程序員經常會碰到這樣的項目,做出來的系統質量很差,操作無反饋,失敗無提示,而且速度很慢,操作時不時要等一會兒。然而,關鍵是程序員沒有機會或者不想參與實施和維護,失去了學習和診斷問題的機會。

2、花費大量人力財力開發一個一次性的項目

這是從事應用開發程序員經常碰到的情況,為某個客戶定制化開發一個一次性的項目,然而這個項目要花費巨大的人力成本,最終開發維護周期很長,以巨大虧本收尾或無法收尾。

3、開發一個很漂亮花哨的無人用的系統

這也是當前常見的情況,客戶要做一個亮點政績工程,要做一個界面漂亮花哨“很炫”的系統,各種圖表,各種交互方式、各種監控分析全部堆上,但最終這樣的系統是沒有人用的。這只是給領導或客人參觀用的。

4、全新開發一個原有遺留的系統

程序員的領導要基于原有的系統重新做一個產品,大幅提升可維護性可擴展性,增加系統的穩定性,減少系統故障。領導決定召集人馬,重新進行需求調研,需求分析,架構設計、編碼開發測試。但是,這樣的事情一再重復,同樣類似的需求給不同的客戶做了一套又一套新的系統,而且每個系統過一段時間后故障不穩定的情況依舊。各種版本、各種代碼庫留給了程序員......程序員需要持續給不同客戶維護不同版本的系統。

5、開發一個項目范圍不確定的系統

程序員所在的項目,沒有人管理項目范圍,沒有WBS,用戶提一點做一點,項目完全沒有合同或契約約束,用戶要做的越來越多,系統做得越來越大,最終無法控制,客戶不滿意,程序員也累得半死,試圖討好客戶爭取更大項目的計劃失敗。

6、開發一個沒有系統角色或涉眾的系統

程序員做的這個項目,雖然都有需求、有功能、有界面,但是奇怪的是,需求沒有提到,也沒有人知道這些功能是什么人用的。需求沒有定義出系統的角色,以及角色所要參與的業務活動。然而這樣的項目也不少見,

7、開發一個使用環境不確定的項目

程序員做的企業應用項目,不知道是給電腦用的還是給移動設備用的,不知道是給IE用的還是其他瀏覽器用的,不知道是給IE6用的還是IE10用的,不能確定瀏覽器平臺版本。移動設備不知道是iOS還是Android,Android不知道是2.3的還是4.0的,也不能確定手機或平板電腦型號。我們知道,中等規模的企業應用都會比互聯網應用要復雜很多,幾乎不可能覆蓋所有用戶的使用終端平臺,要做一個優秀系統必須有約束條件,有使用的目標平臺。

針對以上各種情況,程序員經常是沒辦法干預的,因為,要么這是客戶明知故犯的行為,要么是公司部門的戰略行為,要么是由于項目經理基本的技能職責缺乏。當然程序員可以假設自己是項目經理,考慮該如何做好這些項目并適時適當的提出問題或解決辦法,以免浪費自己的生命。

原文鏈接IT癮


網載 2014-07-12 16:22:51

[新一篇] 優秀程序員無他-善假于物也

[舊一篇] .NET 4.0中的新特性系列課程
回頂部
寫評論


評論集


暫無評論。

稱謂:

内容:

驗證:


返回列表