软件项目外包给自由职业者或小型团队的注意事项(一个软件开发从业者的敬告和业内黑幕披露)

  • 你应该是一个真正的“甲方”

你如果是个二道贩子,
或者你要做的项目是为了应付投资人,
那么这篇文章里谈的很多事情,你都大可不必在意,
甚至现在就离开这个页面,亦无不可。

  • 你的项目应该是一个真正的“项目”

你如果想搞个互联网平台自己运营,
那么建议你还是找个技术合伙人,
或者招聘个技术主管,
因为这类项目是需要持续迭代的,
要有人盯着
很难保证项目验收后,你有新需求的时候,人家正好也有空,而且还愿意给你做;

  • 猪八戒,一品威客这些平台背后的事情

1)企业服务商的劣势和优势一样明显
你找企业接你的项目,你可以跟他签订合同,可以开正规的对公发票,
但同时它也屏蔽了你对开发者的了解,
它很可能安排了一个北大青鸟刚毕业的小伙子做你的项目,
而且有可能做着做着中途还换了一个,
甚至他是否分包给了其他自由职业者,你也不知道;
现实中这种现象还是非常多的!

2)派单特权
对于付费的金牌服务商企业,
这些威客平台会向他们承诺一年至少签多少单子,
平台会把优质项目推荐给这些企业,
这些企业是好企业吗?
威客平台不关心的!!!
也就是说,你作为甲方,在这些平台上发了一个项目,
真正的威客还没看到这个项目(好多时候根本就没资格看到)
就被这些平台推荐给他的付费服务商了
这就是派单特权。
这是一个恶性循环,
金牌服务商不太关心这个项目要不要做好,
他关心的是这个项目做的够不够快,
威客平台也不关心这个项目要不要做好,
他关心的是有没有更多的金牌服务商,或者要不要推出更高级的工场会员等等
3)项目抽成
如果你相信“猪八戒”这个平台,要在平台上完成交易,
那就意味着开发者要拿出项目款的10%到20%给这个平台,
这个钱你觉得是开发者出的吗?
他肯定会给你报在预算里的。

  • 你不懂技术,如何判断一个开发人员的技术是否过关;

1)问有没有技术博客
如果有,看看写了多少篇文章,持续写了多久,文章下面的评论多不多,文章点赞的人多不多;
一般持续写三年以上技术博客的人,算靠谱的了;
2)问有没有开源项目
如果有,看看这个开源项目有多少个star(见下图);

一般能上500个star的,算非常不错的开源项目了;
3)问有没有作品
如果是在线的互联网产品,那么让他截图给你看用户访问统计数据(见下图)

个人的项目的话,日访客数能上1000,算不错的了;
如果作品是企业应用,那么你很有可能看不到东西,
这很正常,此时你应该跟他聊聊,他的项目中最复杂的业务是什么,复杂在哪里了
看能不能说个所以然出来;
最最关键的是,所有这些东西,一定要是他自己的,
有些人,只是打打杂,也说产品是自己做的,可恶至极!

  • 如何清晰的沟通需求

“我要做一个类似微信的APP,你看大概要多少钱”
“我要做一个类似京东的网站,你看多久能搞好”
这是非常外行的沟通方式,
有经验的开发者甚至不太愿意跟这样的甲方谈项目,
太浪费时间了,
你如果真要做个类似微信的APP
那么你应该把微信的所有功能列出来,做到excel表里,
这时你会发现,微信公众号和微信钱包,对于你来说没啥意义!
把没意义的剔除掉之后,
再拿着这个表格去跟开发者沟通,
如果你不愿意做这个功能梳理的工作,打算让开发者来替你做,
“我打算做个类似微信的APP,你能不能理个功能清单出来,咱们再商量报价”
那么你很有可能被当成骗方案的人了
好的办法是,找个空的时间,约着一起吃个饭,先口头聊一下,
建立好关系,表达出诚意,后面的事就好谈了;

  • 如何判断报价是否合理

按前面一个小节说的,你把项目的模块和功能都理清楚了,
做一个类似这样的表格,工时那一栏,你让他来填写

写好之后,你把工时汇总一下,比如说一共要60个人日(人日就是一个人干一天的工作量);
目前一线城市,找人力外包公司,包一个3年左右开发经验的人,大概是2000块左右一个人日,
扣掉外包公司赚的那一笔钱,你按1500一个人日算,那么这个项目的成本就是9万块;
很多不靠谱的开发者虚报工时,把工时当工期看待,
他白天上班,就只夜里和节假日给你干活儿,也把一天算一个人日
在跟他谈项目之前,你应该先了解一下他的工作状态,
如果他现在在上班,给你报了60个人日,项目交付也是60天后,
那么他报的这个工时就非常不靠谱了;
除此之外,你还可以多找几个人报价,对比衡量一下;

  • 低价意味着低质

便宜没好货在这个领域非常非常明显,远超你的想象,
假设你要做一个小型的电商系统
优秀的开发者会帮你考虑好并发购买的问题(同一时间多个顾客购买同一个库存为1的商品)
不靠谱的开发者不会为你做这些工作,
这可能导致你的库存变成负数(更可怖的是溢出成一个超级大的数字),
系统里的数据和实际产生的数据对不上;
还有很多类似的问题,
比如:该释放的资源没有释放,会导致你的系统时不时的卡死,
软件开发是一个经验性的学科,
踩的坑多了,自然知道那个地方会有坑,哪个地方是坦途;
外包项目前问问开发者的履历,是非常有必要的,
找一个经验丰富的开发者,比找一个还没毕业的大学生要好的多;
报价过低的开发者,值得警惕;

  • 如何约定付款方式

按照正规做项目的逻辑:
订金30%,交付30%,验收30%,上线10%;
这是三三三一的付款方式;
也可以是二三三二;
外包给自由职业者,就可以更自由一些,
初次合作,他怕白忙活一场,一般会向你收订金的,
可多可少,付他项目总金额的一成也没问题;
做完就交付给你验收,验收通过,他们就期望收到尾款;
你压他一笔钱等着产品上线,他们往往不乐意;
因为他们不知道你要做多久的上线筹备,中间会不会出幺蛾子;
这时候如果验收把关牢一些,一般也没问题;
或者直接做完就上线,由你的用户帮着验收,也没问题;
(上线之前,自己一定要测一遍,不要相信开发者的自测能力,就算是老鸟接的活儿,也不能相信);

  • 如何验收

你自己有专业的测试团队,那么你可以直接问你的测试主管就好了;
没有,就要考虑怎么测试他交付给你的东西;
1)功能性测试,
这你一定要亲手做;
所有的细节都做到,所有可能有关联的业务逻辑都试一遍
看看功能和数据是不是按你预期的方式呈现出来的;
2)性能测试
一般这里不太会出问题
不过你也可以试试,把程序部署在一台配置差一点的服务器上,看程序是否能正常运转,
3)压力测试
多发动几个朋友,在同一段时间,测测所有的功能,看是否正常,
有些问题,往往一个人测的时候不会暴露,多个人一起测才会暴露!
(也只能做这么多了)

  • 违约的风险

系统验收之后,还有一笔钱没付,反正也没签合同,不付算了;
我劝你千万不要往这方面想,
代码是他写的,他随便留一个后门,
轻则导致你系统运行不了,
重则格你服务器的盘,
而且写这样的后门,非常非常简单,你还很难查的到,
无论是公司,还是自由职业者,八成都会这么干,
你不付他尾款,他跟你走法律途径解决问题,多麻烦呀,
留个后门,十几行代码的事!

  • 是否应该与开发人员保持融洽的关系

我觉得甲方和开发者,能像朋友之间的关系最好了
摆着甲方的架子,鼻孔朝天,颐指气使,
这是非常不理智的,
一个软件经常会有鸡毛蒜皮的事情冒出来,
改个字,换个颜色之类的,
如果是你朋友做的,
可能用不了一分钟就给你改好了,
而且还不收费,
如果是你的“乙方”做的,那他很有可能“正在忙,没工夫改”
或者直接就是“抱歉,这个改不了”。

  • 大型项目以何种方式外包

1)大型项目尽量拆解成小项目外包
比如说拆解成多个模块,一个模块一个模块的外包,
这样能快速的看到反馈,有什么问题也能及时纠偏,
需要注意的就是,要搞清楚模块和模块之间的关系,
如果你搞不清楚,
那么就让开发者给你搞,
把所有的业务跟他讲明白
让他拆解,告诉他,拆解完,咱们一个一个做,一个一个结算;
2)跟开发者直接谈人力外包
你去人力外包公司找个人,
不如直接找个自由职业者,
跟他谈工时费用和工期
如果能驻场开发,那就太好了。
3)走招投标流程一样有风险
那时候你就要关心“围标”、“陪标”、“串标”这些问题了

  • 总结

看了这篇文章,你是不是怕了?
别担心,一个优秀的开发者,是非常在意自己的名声的;
他重视老客户,希望能从老客户手里接更多的活儿,
希望老客户帮他介绍新客户
而且做开发的人当中,本分、厚道的人站绝大多数;
相对于你事业上的其他风险,
这个领域的风险,根本不值一提!
愿这篇文章能帮你找到合适的人...

本文是是用开发的“想学吗”个人知识管理工具编辑完成;
转载请务必保持文章现状,并保留本行与上一行,谢谢。

posted @ 2019-04-11 02:41  liulun  阅读(3372)  评论(1编辑  收藏  举报