不少做技术的出来单干或者自由职业之后,一开始难免要靠接一些外包项目来维持收入,如果有些问题没有提前商量好,在合作的过程中很容易给自己埋坑或者发生不愉快的事情。
笔者根据自己的血泪经验总结了一下,也许可以为你提供一个参考,也仅供参考而非行动指南。
问题1:不知道如何对项目进行估价?
在回答这个问题的时候,我们首先要明确这是一次交易。既然这是交易,那么交易的商品是什么呢?表面上是一个产品,但实际是特定的程序员的时间。所以首先要做的,就是对自己的时间进行定价。
这里提供一个比较合理的计算方法,首先要算出你自己正常工作一天应该获得的收入,也就是我们常说的人日单价,这里是正常的8小时工作时间算,而不是你打算要加班加点的每天12个小时。
这里需要一个基准价格,可以是你离职前公司给你的工资,也可以是后面有人愿意出价雇佣你的月薪,可以大概理解为这就是你当前出售自己开发时间的市场价格,然后在这个基础上浮动50%左右,理由如下:公司支付你 1.5W 的工资,实际公司为你付出的是 2W 左右;另外稳定的工作和自己接单的收入风险系数是不一样的,因此应该有一定的涨幅才合理,因此 50% ~ 70%的上浮是很合理的。
由此我们就不难计算我们正常的人日单价了,比如我们离职前月薪是 2 W,除去节假日,我们平均一个月的工作日为20天左右,那么,你给自己的人日定价就是:
20000 * 1.5 / 20 = 1500
有了人日单价,后面就是评估项目需求,项目工时,然后就可以估算出一个合理的价格了,最后再根据项目难度和紧急程度,竞争情况适当调整价格就好了。
问题2:非新增的需求,但就是在验收的时候频繁要求改动
即便不是软件开发,其他行业的外包也估计遇到不少这样的甲方。这个是很烦人的,也是大家不愿意做外包的原因之一,我们不怕改需求,但改来改去这个谁都受不了。
后来我想了一下解决这个的办法:提前规定好验收的轮次写入合同,比如定好 3 轮验收,每一轮都集中修改完,如果超过 3 轮之后,对方还要求要改动的地方,则额外计费。这样可以满足对方对不满意的地方进行一定程度的修改,但又不至于让自己太吃亏。
问题3:没有专门的测试人员,交付后问题多多
这是独立开发者的一个劣势。为什么很多外包公司技术那么差,但还做了那么多项目,其中一个原因就是别人有个还不错的QA部门来把控最好的质量,尽量代码质量一坨屎,但就是能用啊!
所以作为一个独立开发者,一定要重视软件交付质量,测试是非常重要的,很多时候你以为的小问题,别人就会认为是你能力不行。一些重要流程的单元测试别偷懒,尽量安排一个独立的测试人员,不要节省这一部分的费用。
问题4:软件著作权的归属问题
一般客户都会要求源代码和软件的著作权归他们所有,当然如果可以的话你最好还是能尽量保留著作权,这样你后面把这个系统打包售卖给别人就不会有法律风险了。
除了这点还有一个问题就是,如果后续有相同的客户做类似的系统,那该如何处理呢?从头开始码一个?这显然不符合实际,软件的大厦就是靠复用构建起来的;针对目前这点,我们在合同上,目前是通过这样来规避风险的:
凡是涉及甲方知识产权、公司秘密的相关代码、系统、文档或其他材料,乙方均不得在除本项目之外的任何情形之下转让、复用、修改或传播。
这样,后面只要对涉及到对方知识产权或公司密码的部分进行修改,那还是可以复用到大部分的代码。
问题5:对方招聘了技术人员,要求中途介入项目的研发,该如何处理?
请直接拒绝!这会让事情变得非常复杂,出了问题谁的责任,后面的维护你是否也要同时维护他的代码?这里有很多扯皮的事情,而且对方估计也不打算和你长期合作了,我建议是按照合同执行完交付就好,别让自己陷入被动的损耗里面。
问题6:涉及Bo彩、爬虫等可能违规的产品
如果你出来自己接单,几乎都会碰到这样的事情。我个人的建议还是敬而远之吧,在这儿只是给大伙提个醒。
问题7:做了一半对方不想做了
虽然有合同,但尾款真的不好追。即便是正常的合作期内,很多甲方也能拖到你花呗破产!千万别不好意思谈钱,隔三差两夺命催,暂时放下技术人的清高是有必要的。
还有一点就是付款周期尽量是442,至少是352,这样即便最后真的收不回来,也不至于颗粒无收。
独立接单,很多时候避免不了吃点小亏,但遇到那些老是想白嫖的,你也不要太客气,记住时间是你最宝贵的资产,与诸君共勉。
关于我:
90后全栈独立开发者,18 年至今为一名自由职业者,19年成立AgileStudio工作室,提供靠谱的软件定制服务。
关于Agile Studio工作室
我们是一支由资深独立开发者和设计师组成的团队,成员均有扎实的技术实力和多年的产品设计开发经验,提供可信赖的软件定制服务。
未经声明,本站文章均为原创,转载请附上链接:
http://blog.agilestudio.cn/Independent-Programmer-Software-Outsourcing-Notes/