無論你是單槍匹馬還是組團接單,還是已創公司接外包項目,初期階段都踩過不少“坑”。你可能搭上了無數個不眠之夜,只獲取微薄報酬。你也有可能把同事、朋友推進了一個大陷阱,投入全部的精力去完成項目,最后分文未取,還弄得友情破裂,強大的資源在一步步流失。
在軟件行業已混了幾年,接到不少外包項目,談成的屈指可數,大多數半路夭折了,想起來真是無比心酸。
現在就以自身經歷來談談這些心酸往事。
1.協議必簽
項目談妥之后,必須要簽協議或合同,口頭協定之類的都沒有法律效應。在軟件行業混了多年,經朋友介紹參與了不少外包項目,90%的項目都是免費服務的。為什么這么慘?看看我的經歷就明白了。
剛接手外包項目沒經驗,很多都沒有簽協議,一是不知道協議的重要性,二是怕擔責,萬一項目進度滯后還要賠款。項目接過來之后,我們小團隊開始分工協作,需求分析和前后端技術調研同步進行。經過與甲方多次討論之后,需求終于定下來了,同時技術調研也差不多了,開始進入正式開發階段。一段時間之后,項目臨近結束了,需要甲方參與驗收,這時甲方又提出了新的需求,且大多數難度較大,開發周期較長,人工成本遠超之前約定的價格,項目無法再進行,款項也不了了之。有幾個小項目(分銷管理系統、訂單系統、倉管系統等)都已經交付使用了,因為甲方更換領導、換負責人等各類敷衍借口,一分款也沒拿到。
2.預付款必須先支付
預付款對于軟件外包項目十分重要,如果沒有預付款,很可能導致一個團隊所有付出歸為零。2013年初,替一朋友公司牽線幫某某公司開發電商APP,雖然簽了兩方簽了合同(合同里協定支付30%的預付款),因為甲方是大集團,朋友覺得這筆款飛不了。這份合同開發周期為3個月,時間緊迫,談完需求后,朋友開始組織團隊加班加點干活,經過兩個月的連夜苦戰,APP基本功能都開發好,已進入測試階段。但天有不測風云,突然接到一個消息說這個集團破產了,老板被抓,集團財產經過清算遠遠不夠抵債,雖然有合同在手,但是打起官司來不僅浪費時間還燒錢,到頭來還是一無所獲。正好事情發生在年末,朋友也沒精力折騰,就只能吃個啞巴虧。
甲方突然倒閉,資不抵債,即使合同在手也追不回一分錢。合同剛簽的時候我提醒過朋友先把預付款要過來,因為甲方提出要提供增值稅發票,朋友想開發周期就3個月,到時候一起開發票省事,結果就碰上這糟事。這種事發生的概率極低,望廣大朋友多上點心,盡量避免替人做事還要自掏腰包。
3.需求細節要明確
需求功能點要在合同或協議中明確體現,這個是眾所周知的,但是需求細節很多容易被忽視,恐引起糾紛。
以開發網站為例,需要注意以下幾點:
1)使用場景
有些客戶需求比較特殊,如開發一個查詢近幾年球隊戰績的網站,客戶希望通過抓取足壇、體壇等各方數據建立自己的數據庫,客戶只希望自己能訪問,其他人無法訪問,此時就需要控制訪問權限。
2)部署環境
網站開發完之后需要部署到服務器上,這時候如果客戶沒有服務器,就需要在合同里注明購買服務器的費用要額外支付。目前大多數開發者都偏愛云主機,如果客戶沒有服務器,建議購買云主機,不僅部署方面,擴容也很便捷。
之前有個項目剛交付那段時間,精力旺盛的客戶不分白晝,沒隔三四個小時就來抱怨網站訪問出現5XX,原因是他的服務器超低配,時不時就宕機,他要是買個一般配置的云主機,問題就解決了。一個一般配置的云主機費用也不高,維護成本又低,很適合外包團隊。對于電商、視頻類的客戶,他們對服務器性能要求比較高,強烈建議采用云主機+CDN模式,這樣不僅保障網站穩定,也大大降低運維成本。
3)域名配置(針對需要通過域名訪問網站的小白客戶)
客戶要求通過域名訪問網站,此時要確認是否已經申請域名了,如果沒有,需要客戶額外支付域名購買費用,還需要多一部分配置域名解析的工作,在選擇域名解析商時,需要選擇高防穩定的,避免域名劫持事件的發生。
舉個例子,網站經過需求設計、UI設計、功能開發、功能測試等一系列加工后,經過數不清的熬夜通宵終于出成品了,結果部署上線后輸入地址跳出來不是客戶的網站而是別人的,這是被劫持了。
域名劫持是大事,被劫持了,相當于你的網站在互聯網莫名消失了。為避免被劫持,域名解析建議選擇高防的,穩定的域名解析服務商,可以考慮使用CloudDNS這類產品(擁有精準的解析線路,同時還能針對不同的搜索引擎爬蟲提供專有解析服務,還具備防御超大流量的DDOS攻擊及專業安全防護功能,提供更可靠、穩定和安全的DNS高防解決方案)。
4)借助平臺二次開發
有些后臺管理平臺開發可以借助第三方工具進行二次開發,可大大節省開發周期,但是這類平臺像BeX5、teambition一樣有限制,只能允許10個人免費使用,超過10人需付費,因此想借助這類平臺二開的話,先要了解客戶的用戶規模。
5)交付之后,維護費用要如何算?
交付產品之后,一般約定一個免費維護期(一般設置3個月),可根據項目大小調整維護期限長短。在免費維護期間是無償提供維護服務的,但過了這個期限,需補充協議支付維護費用。
4.拒絕改!改!改!
協議或合同擬定之后,按照約定內容開展工作,拒絕在項目交付之后再新開發新功能。
由于甲方考慮不周,約定的需求不完整,可能在開發過程中或者交付之后要求乙方新增功能、變更功能。如果變更的功能預估的工期和原先差不多,可以約定變更,但新增功能最好拒絕(當然幾個工時的小功能還是可以滿足甲方的)。
之所以要履約開發拒絕追加功能,有兩方面考慮:一是保證質量,保證工期;二是應用場景不同,定制需求變化多樣,無止境的改改改造成原本利潤微薄的項目入不敷出。我再舉個實例:
某醫院的某個中醫的號一天60個,每天凌晨12點開始搶,好吧,合同簽好了,開發好了,經過一段時間運營,收到12點開搶時間不合理的反饋(老年人不會用手機也不可能這么晚睡,導致他們搶不到號),改一下時間就好了,so easy。但是后面又來問題了,碰到節假日,預約號只有10個,怎么處理?數據庫加字段唄,又過去了。過了一段時間,甲方說得給個后臺,他們能配置,熬夜加了兩天班,后臺配置功能給他們了。但是你永遠不知道他們還有多少問題,一直處在這個項目中,抽不開。雖然每個需求都不大,但是很多,時間久了,你覺得煩躁、憤怒。
外包項目坑太多,我還是太!年!輕!我雖已受到了10000萬點傷害,但是這些經歷讓我成長了不少,以后再也不會碰雷了,花錢買教訓還是很深刻的。
踩了那么多坑之后,總結出以上幾點,望正考慮接外包的小伙伴們能引以為戒。
再嘮叨一下。。。我第一次接外包是這樣的機遇:
剛開始接外包的契機說起來也很有趣,因為我不是專職做外包的,有一天有個朋友問我能不能幫他做一個賣教育視頻的APP,說他有個客戶想做,這個客戶又不想花大價錢做,想找私人外包。當時,我剛好有做APP的團隊,想想可以賺點外快,又可以練練手,就爽快答應了。
第一個外包項目嘛,我是格外認真,做了好多準備,讓組員對技術做了好長時間的調研,確認沒有技術難點后才和客戶接觸。可是事情沒那么順利,這個客戶真是“太細心”了,談需求都談了半個月,我利用空閑時間加班加點做了好幾個版本的原型給他,基本確認定稿了,我把合作協議及報價通過郵件發給他就等待他回復,這個項目就算談成了。沒過多久,這個客戶打電話告訴我他的網站遭到黑客攻擊了,由于黑客的出現導致項目被擱置,之后就不了了之了。
我覺得很對不起組員,他們在這個項目上花了不少心思,在我談需求的時候,他們已經著手數據庫設計,也出了部分UI效果圖,最終一分錢沒領到,還要充當技術顧問(客戶還一直打電話過來咨詢各種技術問題)。
這事也怪我資源少,要是早點知道有像CloudWSS這類高防產品,就可以幫客戶解決攻擊問題,第一個外包項目就成了。
???[