我們當然希望承接的都是杭州本地大型軟件項目,但是種種原因,特別是為了某發展不得不承接外地的軟件項目,外地軟件項目有幾個比較重要的風險,相對失敗的概率會比本地軟件項目更高一些。軟件開發成本控制相對更困難、飛機來回飛幾次,賓館住個把兒月,再打打車來回跑幾下、吃幾次飯店,上萬快很多快就會花個精光了,其次就是人員溝通上也容易出問題,畢竟人與人面對面的交流溝通是效率最高的,打打電話、寫寫郵件、偶爾遠程桌面一下還是沒有當面溝通的效率高。溝通上出問題了那一切麻煩就會接踵而來了畢竟軟件項目以人為本。發生了摩擦,很可能合作的項目也會出現裂痕,若項目整體的費用也不多為了挽回一個小小軟件項目來回外地跑來跑去也是很鬧心的事情,很容易最終結果是竹籃打水。
可能往往是不忙的時候希望能跟開發人員交流,忙的時候希望做自己的事情,這樣不是我們有空就可以跑過去維護實施的。
越是相對成功的,有實力的客戶越往往是工作繁忙、任務多多,根本沒精力仔細去整理需求文檔,也沒時間去耐心的講解每個需求的詳細功能點,更不可能把每個需求都像日本鬼子一樣寫得詳詳細細,除非是遇到專業的設計公司,這樣客戶的門檻也很高,這樣規范的業務也未必能承接到。雖然軟件行業現在已經發展得也很快,但是還是會遇到很多不規范的客戶,他們的需求往往是很籠統的、很模糊的,甚至他們的需求只能簡單的口述,需求寫出來就一頁紙不到,甚至就6-7句話。
若沒有經驗的開發人員很容易會把工作任務過於樂觀的估計,一天搞定2個問題,3天就開發好一樣,其實3個月都難開發完畢。因為客戶已經把需求高度概括了,就像是我需要編程厲害的,數據庫精通的,網頁也精通的其實就3句話,但是能達到這3句話的程序員其實也不是很多的,這3句話一般能超過努力工作3年的境界。
一個在深圳的小型項目,遠程維護過程中主要遇到的問題:
01:剛開始客戶總把需求急着提出來,QQ上今天發一下,明天發一下,剛開始在做這個項目的時候還可以,但是項目開發工作結束了,也開始了其他項目后這個就很影響工作了,總是容易被客戶打斷,而且軟件有不足什么的,心里總會沉甸甸的總想馬上就處理好,其實這個東敲一下,西搞一下,整體的工作效率會很低,所以最好能讓客戶批次的提出需求,給客戶提供一個簡單的Word樣本文件,把問題的原因、抓圖、希望達到的效果等等都描述好,然后批次的提交一下,這樣相對來說效率會更高一些,問題也都能集中起來。
02:往往是需要跟客戶的多個相關人員溝通,有時候同一個事情需要給A說一下,還要跟同事的B也要說一下,有時候忘記跟A說了,也不知道有沒有給B說過這個事情,這時候最好不要急於用QQ、手機等即時通訊工具溝通,最好是仔細寫個郵件,把問題寫清楚,然后再打電話告訴有什么什么事情,什么原因等等,然后讓啊,A,B注意查收郵件。
03:程序的更新,數據庫的更新等越少越好,剛開始的時候設計越穩健,越合理,后期的維護工作就會輕松很多,因為客戶的需求往往是會變的,甚至今天提出來的需求更前幾天的矛盾了,每次客戶提出大的需求變更后多多少少需要修改程序,調整數據庫結構,這時候需要做好備份,然后最好是在晚上進行更新,更新前把新的程序,數據庫變更腳本都准備好,更新升級需要的時間越短越好。
04:客戶也不是神仙,一開始的時候不會把所有的問題都想到,Office也不會一開始就會是 Office 2010了,客戶說要你開發一套辦公軟件,讓你開價,你會開多少?然后客戶連續10年都提不斷的改進要求,其實人家的要求也都是合理的,按道理都應該給人家修正才對。但是軟件開發也是有成本的說法,你只收一次性的開發費用,然后持續給改進10年,那需要多大的投入?所以並不是客戶提出來的所有的意見都能修改都能滿足的,這個需要把握個度。也不好有什么衡量,若你不好好給客戶改進,客戶就不會給你尾款,后期也不會有新的合作。若你客戶的需求沒完沒了的一直改,改100年都可以有的改,有的客戶很沒良心,你就任勞任怨的給他拼命改進更新,甚至是給100%的修改維護,但是后期還是不會給你合作的機會,所以有時候也要看命運的安排。但是只要用心去對待客戶了,相對來講后期的發展空間總會更大一些。
05:我們在設計開發中總會忽略到很多問題,例如有幾百個客戶端后,各種亂七八糟的事情都會發生很多,電腦的操作系統有各種版本,客戶的瀏覽器有各種版本,光IE有時候就好幾個版本,所以會遇到很多事先沒想到的問題會發生,所以在開發、設計、規划時要留出充分的時間上的考慮,不能把工作安排得過於緊湊,其實我們歷史以來就可能沒那么高的工作效率,這次也不大可能會有翻天覆地的變化。我們系統開發的環境與部署的環境也不一樣,上次就遇到軟件無法部署的問題,換了一個主機后就很順利的部署了,另外一個主機上死活不能部署,有時候也會有這樣的活見鬼的事情。我們在自己的電腦上運行程序都很快,但是客戶有的電腦配置極低,連審核按鈕都可以連續按5次都可以,我們自己的電腦上飛快的東西,客戶電腦就會出現這樣的神奇慢的運行速度。
06:開發工作量與軟件預算的沖突也是個頭疼的事情,客戶的預算是有限的,但是客戶的需求是無止境的,客戶也不是每年都能有預算,所以客戶的需求范圍一定要控制住,千萬不能輕易的松口,很可能你答應的一句話就是1周以上的工作量,在合同范圍意外的工作量能委婉拒絕的全部拒絕掉並不是壞事,但是這個當然需要有一定的表達上的藝術性,否則很容易得罪客戶。
07:有時候遇上出差,不在杭州時,特別是在內地出差時往往網絡環境會很糟糕,這時候最好是有無限網絡,雖然無限網絡也難進行遠程控制等等,但是總比上不來網相對好一些,有些管理嚴格的公司里,雖然有網絡也是不能上外網,在銀行里、石油公司里大多都不讓上網,這時候有無限網絡相對會好一些。因為客戶的問題不能及時處理,就會丟失客戶的信譽,沒信譽了,口碑就會差,口碑差了沒生意了,沒生意了日子就難過了。
08:每次更新程序一定要做好測試工作,最好是在自己的本地多測試幾遍,然后讓客戶的相關人員也測試一下,然后才真正去升級生產環境里的服務器比較好,升級前與升級后,最好跟主管打個招呼,成功升級幾天后,最好也進行一下回訪,確認一下問題是不是得到解決了,不是光說程序更新就可以了。
09:逢年過節什么的,最好也給客戶打個電話,打個招呼保持聯系,因為很多天不聯系的人慢慢的就會疏遠了,就像我小學同學,初中同學,高中同學,大多都很疏遠了,也是由於地域的差別,文化的差別等等,溝通的次數也很少了,有什么好事情的時候根本不會想到他們的,也根本不清楚他們都在干什么,擅長做什么,或者是做什么生意的。
10:你要保持一個良好的心態,因為別人的心態會影響你,你的心態也會影響別人,雖然我們不用語言表達,看看言談舉止,看看你,或者感受一下你文字,別人就知道你的心態,我們有個良好的心態,很容易影響到客戶,大家都會開心多一些,心情好了其他什么事情都會順利一些,大家心情不好都是火葯味十足,很容易擦槍走火。
11:開發人員有的時候也不能過於軟弱,該軟的時候軟,該硬的時候硬,特別是客戶的需求嚴重超出需求范圍時需要內心強硬一些,因為這時候一軟后果嚴重,給客戶提供服務時多一些溫柔體貼,多一些包容,多一些關注,工作生活會更順利些,人嘛總共能活的日子也是有限的,在有限的這么幾十年里還是快樂多一些好。
12:歷史提出的修改要求,功能改進要求都記錄好,將來虧本嚴重了,或者想拿到下一個項目時,可以拿這些變更需求擴展等等說點兒事,會對下次合作談判對你更有利一些,別干得死去活來,優化改進了N多問題,最后連個記錄都沒,大多客戶都不認可的,干啥事情都需要拿個證據,請記住這點很重要,特別是在法律上很可能會救你一命關鍵時刻。
13:在項目上太貪婪了客戶會遠離你,技術太差了客戶會怕你,費用開口太低了最后白干一場的是自己,這個都需要把握個合理的度,做軟件傷身體折壽,白菜價瞎折騰不如看看書提高自己鍛煉身體,爭取多活幾年,多看看世界的美好風光,天氣快要暖和了值得期待的日子快到來了,女孩子會穿得越來越少了,天快點兒緩和起來吧。
最后真誠感謝客戶項目的尾款都提前給結了,謝天謝地,好服務得到了好回報。