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

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

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

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

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

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

    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)走招投标流程一样有风险
    那时候你就要关心“围标”、“陪标”、“串标”这些问题了

    • 总结

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

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

  • 相关阅读:
    C语言I博客作业06
    C语言I博客作业05
    C语言I博客作业04
    C语言I博客作业03
    C语言I博客作业02
    作业01
    java ui 点点记
    eclipse修改workspace目录
    postgres恢复
    JDK1.4和JDK1.5以及1.6
  • 原文地址:https://www.cnblogs.com/liulun/p/10686885.html
Copyright © 2011-2022 走看看