從拼死拼活開發軟件項目到遠程遙控管理
交流很重要,溝通無極限
現在想想開發軟件都有整整12年以上了人生最美好的時光都用在這個上了,在這期間有不少酸甜苦辣,有時候真不好意思說自己是35歲的老程序員了,有嘗到過創業失敗的滋味,有過人生的困難時期,多少遇到了很多貴人相助,日子就一天比一天好起來了。其實每天懷著感恩的心里,生活就一天比一天好,心態也會越來越健康了。
以前都是親自去項目現場開發程序,例如承接了蘇州、合肥、寧波的軟件項目,那就需要在3個地方輪留奔波,到處是救火的狀態下進行軟件項目,稍微時間長了人就會很累,而且幾個城市之間跑來跑去路上時間也浪費很多,差旅費用也不會少。
現在年紀大了都是2個孩子的爸爸了,老婆大人也不允許成天在外面跑了,入行十來年了,總需要各方面得到提高提高了。現在就從如何不去現場也能控制好軟件項目的進展,小結一下自己的經驗體會。
1:首選需要有良好的朋友圈子,這個朋友圈子不只是你好我好,大家吃吃飯、喝喝酒那么簡單。這樣的酒肉朋友雖然也需要,但是這些朋友大多事業上幫助的意義不太大。我們需要在事業上有互補性的,可以組成一個利益鏈的朋友關系。例如有些人有行業知識,沒軟件技術能力。有些人能承接項目但是沒開發能力,跟這樣的人能形成一個穩定的生態利益鏈的朋友圈子。而且有比較長期的交往會有一定的信任關系。不是別人便宜幾萬就能選擇別人合作,只要不貴上幾十萬都會跟你合作的朋友,而且每個人都知道自己出處于利益鏈的什么位置上。
2:你是再厲害的程序員,也沒有三頭六臂,很多事情都需要有人去做才可以,你不大可能把不同性質的,不同地域的6個然間項目個同時完成了,再牛的人,思維也不是神仙,一般同一時刻能管控好2個軟件項目都是很牛的人了,一般人同一時間段里專心做一事情是相對比較合理可科學的。否則很容易疲于奔命狀態了,不容易深入到每個項目的細節里去,所以你需要有很多同行朋友幫忙才可以,基數非常大后,才會有合適的人選出現,否則大家都在忙自己的事情,項目緊急需要人員時很難抽出合適的人,所這幾年積累了上千個同行的朋友資源,有良好的龐大的同行朋友圈子就是做軟件開發項目的必要準備條件。
3:其實你在網上來個興趣愛好群什么的,很快可能有1000個人加入,但是這1000人是根本就毫無意義的人,可能真正有價值的人10個都沒,很多人是興趣愛好者,很多人是想學習技術來的,或者有些人純粹是無聊加入這個群的,你需要的有空的有專業技能能朋友圈子,這些朋友能獨立干事情,有想法,有思路,有能力的,而不是飯桶一大堆,本來工作都找不到的一大堆朋友,他們在很短的時間里能協助你開發項目是很難的。
4:一天開發好用戶管理,一天開發好角色管理,再一天開發好模塊管理,然后7天開發好業務功能,10天開發好一個軟件項目,基本上是不現實的,軟件開發都需要有很長的開發周期,這些通用的模塊都會穩定好用,所以很多急急忙忙開的軟件公司大多結果就是倒閉,因為很多時間都耗費在一些基礎性的功能維護完善上了,所以我們開啊任何一個軟件項目時,都需要有一個穩定成熟的工具,通用的部分都是兼容的,不需要任何開發時間,開發成本了才可以,有要一個穩定的成熟的開發平臺。例如上海出差一天,住宿費接近300元以上,在客戶這里多開發一天就是一天的成本,若多出差15天,光住宿費4500元就沒了,這些直接能看到的,還有很多其他費用也會多很多。
5:需要組織很多人員,能對你這個穩定的平臺都有比較深入的了解,了解其中的分層思路、代碼生成器的思路、設計表的思路、整個業務系統是怎么搭建的、邏輯先后順序是什么、主要注意哪些東東、編碼風格是什么、標準的例子程序在哪里的等等,若這些工作都把人員召集好了,再做一次統一的技術培訓,那可能需要培訓 1個月時間才能培訓好,若這些培訓工作都提前做好了,那需要人手的時候,就不需要再耗費1個月的培訓指導了,直接到現場的第2天就可以順利開工了。若項目組有3個人,給3個人培訓1個月,這1個月的工資成本,還有培訓耗費的精力也是不少。所以需要有對統一的開發平臺有非常深入了解的開發隊伍。從5年前就推廣統一開發平臺的思維所以有接近500多個付費客戶,隨時想找5個開發人員,總不是什么太難的事情,大家心里也都知道哪些人是能干活的、哪些人是技術過硬的、哪些人是靠譜的、哪些人是有精力的、哪些人只是水上漂的、嘴巴能說但是不能干活的,需要能深入了解虛擬隊伍的人員的情況才可以快速組建一個團隊。
6:項目的開發過程中,很多細節都可以不用去抓了,一些基礎性的東西都不用去耗費精力了,就可以有精力抓項目的重點了,例如架構是否合理,數據庫設計是否合理、客戶還有哪些需求沒明確、各個模塊的進展如何、測試進展如何、費用支付情況、客戶的反饋情況如何等等。其他項目中遇到的細節都可以交給項目經理去負責了。
7:同一套代碼,經常會需要遇到不同的數據庫的場景,公司里很可能是用sqlserver,上海的客戶用mysql,蘇州的客戶用oracle,所以有一套能靈活支持多數據庫的架構,開發各種軟件項目會順利很多,只測試完善一套代碼就可以了,否則,測試3套代碼,同時改進維護多套系統,那會耗費非常多的精力,這可能是超出一個人的維護能力了。所以若想靠各種軟件項目生存發展的團隊,必須有一套代碼靈活支持多種數據庫的組件,又簡單又好用的處理多數據庫問題的解決方案。
8:一個團隊往往會有很多決策問題,有的決策可能是致命的,有錯誤的決策很容易時整個團隊耗費N多曲折的力氣,但是收獲可能很少,有10多年的軟件開發經驗了,相對容易能了解客戶真正需要的是,客戶的重點關注的是什么,我們能做到什么程度,哪些是重點,哪些是次要的,特別是技術上的花拳繡腿通通拒絕,各種各樣玩技術的浪費時間的都拒絕,以達到客戶想要的效果為最終目標,順暢的溝通,及時的指導,準確的決策,這個也是項目成敗的關鍵。
9:不現場去管控的,就需要有靠得住的人,信任的朋友一起干活,這些信任靠得住不是一天兩天能培養出來的,特別是負責商務的人,也是完全靠得住才可以,否則總會有一些小動作,要么想挖你的人,要么想偷你的技術,總誰會遇到各種不順利,只有一些講信用的朋友在一起,才能事情做得比較順利。
10:臨時性組織的軟件項目,往往開發周期也就1個月左右,絕對不允許陌生人去做項目的,這個沒辦法按試用期來用人,只能用熟練的開發人員,菜鳥找過來干活,安裝配置開發環境1周耗費進去了,了解項目的技術路線等1周耗費進去了,再熟悉數據庫,技術規范,例子程序,又1-2周耗費進去了,再做一個超級簡單的程序也要反復講個10遍8遍的客戶需求注意事項,好不容易做好,再檢查一下就是到處錯誤,修正這些錯誤又一周進去了。等項目都快結束了,就那么幾個簡單的頁面也沒弄好,氣死人不償命,而且還要發1個月的工資才可以,還不如自己動手寫了,項目開發用菜鳥是最耗費的精力、成本也是最高昂的。
11:我們是專業從事銷售軟件開發平臺的,給同行的第一個印象就是來賺人家的錢了,都很排斥,很反感。所以需要改變形象,賺了別人的錢也要讓讓別人賺錢,今天我賺了你的錢,明天讓你有機會賺我的錢,例如我們的平臺每次有人有改進、有貢獻、有付出,我們就支付辛苦費,經過幾年的良性運轉,開發平臺越來越穩定了,Money也開始流動起來了,賺了的一部分收入又投入到產品的改進上,誰有能力改進組件就給誰支付辛苦費,當然首先考慮的就是購買組件的開發人員。最早一批500元購買的開發人員,若稍微對系統用心了,仔細認真改進了,都賺走了上萬元的辛苦費,雖然賺1萬元的辛苦費也不算多,但是總比沒的賺好,閑著也閑著。當然現在也沒500元的這個價位了都漲價了。這次去上海開發此項目的2位兄弟一個是湖南長沙的,另一個是廣東惠州來的,我們的網也撒向全國了。
12:其實做什么事情,拿出多一些誠信,拿出多一些真誠,坦誠交流,廣交朋友,心態好了路就更寬了,更容易進入人生的良性循環了。
13:做軟件項目需要多找牛人,跟菜鳥是可以大談學習交流、如何提高等等,而不適合指派開發軟件項目,開發軟件項目還是需要找熟練的高手合作,不想折磨自己不想讓自己的生活質量嚴重下降還是需要找高手開發軟件項目,省心省事,沒什么太多可操心的,稍微指點幾下就可以了,否則找菜鳥就是找死。
將權限管理、工作流管理做到我能力的極致,一個人只能做好那么很少的幾件事情。
原文鏈接:http://www.cnblogs.com/jirigala/archive/2012/12/10/2810491.html