如何确保外包的代码质量?

2021-07-25 23:58:21 +08:00
 Brentwans
希望各位彦祖能够推荐一些实操书籍,方向或者相关点子也行。

问题背景是这样的,我们团队是基于云上的数据分析产品的,功能和代码已经基本开发完成,并且已经上线,效果还凑合。为了通用和降低维护成本,现在计划把公司用到分析的模块都替换成这个产品。这就太多了,需要支持非云部署的,lib 形式,基于内存的数据分析等等乱七八糟各种适配开发。
我不打算让我们团队自己去做,因为有其它更重要的事情要做,而且适配这部分难度并不大,而且一圈问下来大家伙意愿也都不高。所以我想找一些外包同学来完成,但是我又担心是否能确保完成的代码质量。
总得说来,我不需要开发完整功能,计划让外部同学开发的实际上类似定制一个数据库 jdbc 的实现的感觉,因此我并不想花费太多时间在这个上面。结构和功能设计,我能够提供,剩下的代码实现又外包同学来完成,问题就是如何确保代码实现的质量。

因为我从来没有和外包同学合作过,目前我的不成熟想法是:
1. 找个有经验的测试同学,提供充足的测试用例。
2. 抽出一个同学,持续跟进开发和 review 实现结构和代码。
3. 规范开发流程

我总是觉得,这样后续维护是个大问题。
各位彦祖怎么看?
7510 次点击
所在节点    程序员
57 条回复
xuanbg
2021-07-26 09:08:51 +08:00
人力外包,代码审核。可保质量,但你会很累。项目外包,十有八九会让你很气。。。
andy2415
2021-07-26 09:16:51 +08:00
找外包, 等于默认接受功能能用就行
chengkai1853
2021-07-26 09:22:55 +08:00
其实关键还是钱给得足不足。复制比整理代码、抽象、运用设计模式用的时间完全是不一样的。给他 1 块钱,极少人会付出 10 块钱的责任心和时间吧。毕竟人家出来做外包大多也是缺钱,熬夜用时间换钱。外包的时候就说清楚要什么质量的代码,评估的价格都完全是不一样吧。
Rache1
2021-07-26 09:25:11 +08:00
@ljzxloaf 😂 有没有想过,1 块钱的和 10 块钱的是同一个公司,同一批人搞的
Cielsky
2021-07-26 09:32:02 +08:00
总结:事多钱少
liprais
2021-07-26 09:44:42 +08:00
jdbc 驱动不好做,cornern case 太多,还是自己做吧
4ark
2021-07-26 09:51:32 +08:00
找外包 = 自己嫌麻烦 = 自己不想做 = 希望短时间内完成 = 节省成本,你说代码质量怎么会好?
leafShimple
2021-07-26 10:01:49 +08:00
确保不了. 自己要实时跟踪项目,人员定时 review 代码.沟通需求.成本还是不低的。抱着能跑一个就行的心态的话,那还是可以放手的
php01
2021-07-26 10:06:11 +08:00
别说找外包了,哪怕是自己团队,你多给点钱给程序员跟少给点钱给程序员,质量也完全不一样。
fengjianxinghun
2021-07-26 10:19:20 +08:00
你真在乎质量就会自己写,想节省成本外包还讲质量?
del1214
2021-07-26 10:19:50 +08:00
体力活可以外包,脑力的就算了
Rwing
2021-07-26 10:20:39 +08:00
确保不了
linbiaye
2021-07-26 10:43:08 +08:00
又要质量又要便宜,哪有这种好事?会要求代码质量的大概就是 epam, thoughtworks 这类公司了,但是他们肯定不便宜。
jswh
2021-07-26 10:44:34 +08:00
1. 给够钱
2. 找对人

其实可以找 thoughtworks 那种偏咨询的外包,而不是单纯的人力外包,可能会稍微好点。
moochan
2021-07-26 13:45:53 +08:00
用 golang
jeeyong
2021-07-26 13:51:24 +08:00
如果你就是要从技术角度入手去解决这个问题..那他就是个没完没了的坑, 你需要一直去填填填, 直到最后审核的成本接近于自己建设团队. 然后换了一个问题开始纠结, 填填填...

换个思路, 从非技术角度入手, 有条件上两家供应商互补协作.
一家供应商, 谈好要求, 你只管测试和提出问题. 剩下的, 让他们去解决.
钱要给到位.
chenmobuys
2021-07-26 13:58:55 +08:00
如果钱给的多,而且后续还可能要维护,就会考虑代码的质量,至少不能坑自己。
如果钱又少,后续又不需要自己维护,那不是怎么快怎么来吗?
westoy
2021-07-26 14:03:31 +08:00
外包订制省成本省的是长期的人力成本, 而且要形成规模效应, 因为自己还需要投入一定人力。 也许某个大厂要突击一个项目, 临时调了三四百个外包, 本身也投入了大几十人去做项目管理、对接业务、审核代码什么的, 但你这边可能只需要两三个人,但要保证这两三个人代码质量和业务别写偏, 也需要四五个人去做对接, 那你为什么不直接让自己的四五个人去写..........

外包另一种可以省成本的方案是出垂直方案, 某家企业专门做某个垂直方案, 你找个对口团队, 对方改改就给了你, 因为他们专门做这块的, 坑被上家们已经趟地差不多了, 但你耦合业务的大量定制那就没办法了

所以无解的, 自己写吧
dk7952638
2021-07-26 14:18:37 +08:00
同时请多个外包,让他们内卷
caroline1022
2021-07-26 14:49:34 +08:00
接 sonar 等代码质量测试工具
按里程碑时间点进行 code review 验收
若抽查有问题形成对对方项目完成度的考核上的压力(这个估计需要体现在合同上)

如果还需要解决后期维护的问题,那就需要派一个项目经理去盯这个事儿了,保证对方开发人员的关键文档的输出以及文档质量

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/791701

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX