程式設計師應該要愛惜生命,做有用有意義的事情。做有用的事情,有兩種方式,一、做乙個對使用者真正有價值的專案,這個專案是真正有意義有用的;二、朝正確的方向以正確的方式做專案。但是程式設計師會遇到很多失敗的專案,這些系統要麼是沒有人用沒有真正價值,要麼是以不正確的方式做專案,使用不當的技術,例如,用報表工具代替查詢、用esb企業匯流排當作海量資料傳輸用,或者做一些沒有實際用途的功能,如做乙個萬能的使用者自定義查詢系統、做使用者自定義工作流工具、做使用者自定義報表工具,這些專案無疑在浪費程式設計師的生命。筆者試圖總結程式設計師浪費生命的幾種方式,如下。
1、開發乙個質量和效能很差的系統
程式設計師經常會碰到這樣的專案,做出來的系統質量很差,操作無反饋,失敗無提示,而且速度很慢,操作時不時要等一會兒。然而,關鍵是程式設計師沒有機會或者不想參與實施和維護,失去了學習和診斷問題的機會。
2、花費大量人力財力開發乙個一次性的專案
這是從事應用開發程式設計師經常碰到的情況,為某個客戶定製化開發乙個一次性的專案,然而這個專案要花費巨大的人力成本,最終開發維護週期很長,以巨大虧本收尾或無法收尾。
3、開發乙個很漂亮花哨的無人用的系統
這也是當前常見的情況,客戶要做乙個亮點政績工程,要做乙個介面漂亮花哨「很炫」的系統,各種圖表,各種互動方式、各種監控分析全部堆上,但最終這樣的系統是沒有人用的。這只是給領導或客人參觀用的。
4、全新開發乙個原有遺留的系統
程式設計師的領導要基於原有的系統重新做乙個產品,大幅提公升可維護性可擴充套件性,增加系統的穩定性,減少系統故障。領導決定召集人馬,重新進行需求調研,需求分析,架構設計、編碼開發測試。但是,這樣的事情一再重複,同樣類似的需求給不同的客戶做了一套又一套新的系統,而且每個系統過一段時間後故障不穩定的情況依舊。各種版本、各種**庫留給了程式設計師……程式設計師需要持續給不同客戶維護不同版本的系統。
5、開發乙個專案範圍不確定的系統
程式設計師所在的專案,沒有人管理專案範圍,沒有wbs,使用者提一點做一點,專案完全沒有合同或契約約束,使用者要做的越來越多,系統做得越來越大,最終無法控制,客戶不滿意,程式設計師也累得半死,試圖討好客戶爭取更大專案的計畫失敗。
6、開發乙個沒有系統角色或涉眾的系統
程式設計師做的這個專案,雖然都有需求、有功能、有介面,但是奇怪的是,需求沒有提到,也沒有人知道這些功能是什麼人用的。需求沒有定義出系統的角色,以及角色所要參與的業務活動。然而這樣的專案也不少見,
7、開發乙個使用環境不確定的專案
程式設計師做的企業應用專案,不知道是給電腦用的還是給移動裝置用的,不知道是給ie用的還是其他瀏覽器用的,不知道是給ie6用的還是ie10用的,不能確定瀏覽器平台版本。移動裝置不知道是ios還是android,android不知道是2.3的還是4.0的,也不能確定手機或平板電腦型號。我們知道,中等規模的企業應用都會比網際網路應用要複雜很多,幾乎不可能覆蓋所有使用者的使用終端平台,要做乙個優秀系統必須有約束條件,有使用的目標平台。
針對以上各種情況,程式設計師經常是沒辦法干預的,因為,要麼這是客戶明知故犯的行為,要麼是公司部門的戰略行為,要麼是由於專案經理基本的技能職責缺乏。當然程式設計師可以假設自己是專案經理,考慮該如何做好這些專案並適時適當的提出問題或解決辦法,以免浪費自己的生命。
程式設計師浪費生命的幾種方式
程式設計師應該要愛惜生命,做有用有意義的事情。做有用的事情,有兩種方式,一 做乙個對使用者真正有價值的專案,這個專案是真正有意義有用的 二 朝正確的方向以正確的方式做專案。但是程式設計師會遇到很多失敗的專案,這些系統要麼是沒有人用沒有真正價值,要麼是以不正確的方式做專案,使用不當的技術,例如,用報表...
程式設計師浪費生命的幾種方式
程式設計師應該要愛惜生命,做有用有意義的事情。做有用的事情,有兩種方式,一 做乙個對使用者真正有價值的專案,這個專案是真正有意義有用的 二 朝正確的方向以正確的方式做專案。但是程式設計師會遇到很多失敗的專案,這些系統要麼是沒有人用沒有真正價值,要麼是以不正確的方式做專案,使用不當的技術,例如,用報表...
程式設計師浪費生命的幾種方式
程式設計師應該要愛惜生命,做有用有意義的事情。做有用的事情,有兩種方式,一 做乙個對使用者真正有價值的專案,這個專案是真正有意義有用的 二 朝正確的方向以正確的方式做專案。但是程式設計師會遇到很多失敗的專案,這些系統要麼是沒有人用沒有真正價值,要麼是以不正確的方式做專案,使用不當的技術,例如,用報表...