接外包的一些坑和小技巧
我曾经也是一个接外包小能手,有被甲方坑过的,也有坑过甲方的(对不起哈),虽然金盆洗手几年,但我相信我还是有一些经验(惨痛教训)可以分享给后来人的:
1. 但凡犹豫,就不要接
接外包的途径有很多,可以直接从外包平台去找,可以去论坛回帖发帖,可以有朋友牵线搭桥等等,通常最靠谱的是朋友介绍的项目。这里说的朋友,是指对你水平和技术栈都很熟悉的朋友,不是随便一个陌生人,也不是那种只知道你是程序员但是连写程序是干什么都不知道的人。
不管你是从什么渠道收到项目需求,但凡有一点犹豫,就不要接。一般收到一个需求,你肯定会自己先对其进行一个评估:
- 自己会不会,能不能做
- 要用多久
- 最难的部分是什么、需不需要再找人合作
- 甲方靠不靠谱
等等。作为乙方,这都需要时间去想。如果甲方需要快速答复,你可以给一个大致的回复,然后把你的顾虑都明说出来,也可以请求对方把顾虑说出来,开诚布公好做生意。评估的每个环节都很重要,如果其中有一环你心里觉得别扭,就真的不要接。你接了之后也做的不开心,本来外包就是一个苦力活,如果心情不顺,会越来越后悔自己接包的决定,最后完成度和质量就会难以保证。
我曾经因为某朋友介绍项目,项目其实不咋地,但碍于朋友面子我接下了这个包,然后就被他和不懂技术的甲方两个人坑的死死的。所以我之后再也不会“碍于情面”去做什么事,基本上丑话都说在前面,如果对方都接受,我再开始。
2. 明码标价,事先谈好
首先你要对自己的“身价”有一个评估。整个项目扔过来的时候,对方报价 50000,你要能判定出你做这个项目是否不止这个价。其次项目的价钱一定要在项目开始前谈拢,保证双方都满意的前提下再开始项目,而不是开发了一半了再扯皮。
估价技巧
这里有个小技巧是,先把这个项目按你一个人全权负责开发需要用的工时算出来,然后乘以你的时薪。我用下来,这个方法最靠谱。然后你还需要加上一些溢价,一方面避免幺蛾子的发生,另一方面对自己是一个督促和保证。我曾因为自己报的价太低,而导致后期没有动力完成项目,所以钱多才有动力。
收/付款形式
先说顺利的情况,一般有两种形式:
- 一种是按你的工时计费,会让你用计时软件(比如 toggl (opens in a new tab)、TopTracker (opens in a new tab)等等)记录你的工作时长。或者怕你偷懒的老板会让你录屏或视频(应该也有现成的软件,但我还没遇到这么苛刻的甲方),通过计算视频时长看你的工时,最后定期付钱。我作为乙方通常要求对方日结或者周结,如果对方非要月结,那你得判断对方的靠谱程度,以防他提前跑路。
- 另一种是按项目整体计费。这里千万要注意,不能答应对方一次性付款!我认为靠谱的形式是先把项目分期,一般分三期。整个项目款则分成四部分,定金+三期回款。
- 我通常要求定金是 30%,你强势一点可以要求40%、50%,具体看你们的沟通情况。定金保证了这个项目的可启动性,通常愿意支付定金的甲方都有计划和预算,而接了定金的乙方也会变得认真负责起来。
- 之后的每期回款通常按 4:4:2 来,就是说除定金外的这部分钱,第一期验收完毕后付其 40%,第二期 40%,最后一期项目全部结束后付清 20% 的尾款。这里所有的比例你都可以根据具体项目具体调整,然后去跟甲方谈判。
通常国外项目都偏向用工时计费,国内项目喜欢按项目来走……至于原因,你多接触接触就懂了(微笑)。另外,大项目的话,汇率、转账手续费、税,你也记得稍微算一下,要不然又是一笔钱……
外汇收款
推荐用payoneer (opens in a new tab)和TransferWise (opens in a new tab),都能直接提现到银联且手续费低。千万别用 PayPal,手续费贵死人(相对来说)。
再说不顺利的情况:
- 如果项目中道崩卒,你打算跑路,那你要提前跟甲方说清楚,然后把善后事做好,跟甲方商量要退多少钱退给人家,别被骂太惨。
- 如果项目中道崩卒,对方打算跑路,那你只能自认倒霉……不过定金基本上是到手,所以这就是刚才为什么说要项目分期付款。
- 如果项目中间改动很多,需求不停的变,这就要靠你的谈判能力了,让他加钱。最好的方法是,项目合同中就写好,需求变动要加钱。(一会儿会说到合同)。
3. 文档 文档 文档
- 合同。尽管我们是个人接包单枪匹马,但能走流程就走流程,不要口头许诺,双方都是。我自己曾因为没有合同而偷懒,甲方也曾因没有合同而拒付我项目款,人财两空。
- 需求文档。通常没有需求文档的项目,我是真的不想接的。有需求文档,说明甲方需求明确且已经认真思考过。如果没有,则有可能是拍脑袋的想法,他能拍一次,就能拍无数次,你一旦接手,就得你来替他拍脑袋买单,很痛苦。
- 设计稿。项目只要有界面,就肯定会需要设计师,如果对方准备好了设计稿,这种项目真的是少有,甲方靠谱程度++。如果没有,且说“界面不重要,先做出来再说”类似这种话,千万不要信,最好是在项目开始前就让他定稿,不管是你去找设计师来画,还是他来找,总之要定稿。然后合同里写明,之后只要改动,就要加钱。
- 开发文档。这个是我们作为一名靠谱的乙方该做的事,写好开发与部署文档,代码里多注释,定期将项目进度与情况都写成文档,汇报给甲方。这样有助于双方后续的合作,同时也会建立你的口碑,最重要的是这会作为你实施过整个项目的证明。
4. 随时沟通
项目有风吹草动,就得沟通,不要怕麻烦,直接找对方聊或者把问题汇总成文档及时发给甲方。做外包最复杂最心累的往往不是开发阶段,而是各种沟通、开会和谈判。
比如,你在做的过程中发现某处卡壳,进行不下去,自己实在搞不定,不要怕丢人,赶紧通知甲方,让对方知道这个情况,然后双方一起想办法。做外包最忌你自己闭门造车,不管顺不顺利,都有可能造出和对方想的不一样的车。文档清晰,则造出相同车的概率会高一些。但还是要沟通,毕竟文字不如聊天生动。
再比如,你发现对方有跑路迹象,那赶紧找介绍人或直接找甲方。发现对方设计师失联,你也要赶紧找他们……总之就是有点不顺就赶紧沟通。不要拖到第二天,或者看对方不靠谱自己也撂挑子,这样其实对双方都不好。
尾
接外包真的是个苦力活,对于老手基本上就是在不断重复以前的代码,纯体力活;对于新手则还在摸爬滚打,尽管完成它肯定有很大提升,但它不是一个提升技术的最佳途径。另外,外包也不是赚钱的最好方法,如果你是真的缺钱,那就直接去接,如果是想作为长期的生存方式,那你需要制定一个可持续发展的计划了。
最后祝各位财源广进!