This topic created in 1784 days ago, the information mentioned may be changed or developed.
希望各位彦祖能够推荐一些实操书籍,方向或者相关点子也行。
问题背景是这样的,我们团队是基于云上的数据分析产品的,功能和代码已经基本开发完成,并且已经上线,效果还凑合。为了通用和降低维护成本,现在计划把公司用到分析的模块都替换成这个产品。这就太多了,需要支持非云部署的,lib 形式,基于内存的数据分析等等乱七八糟各种适配开发。
我不打算让我们团队自己去做,因为有其它更重要的事情要做,而且适配这部分难度并不大,而且一圈问下来大家伙意愿也都不高。所以我想找一些外包同学来完成,但是我又担心是否能确保完成的代码质量。
总得说来,我不需要开发完整功能,计划让外部同学开发的实际上类似定制一个数据库 jdbc 的实现的感觉,因此我并不想花费太多时间在这个上面。结构和功能设计,我能够提供,剩下的代码实现又外包同学来完成,问题就是如何确保代码实现的质量。
因为我从来没有和外包同学合作过,目前我的不成熟想法是:
1. 找个有经验的测试同学,提供充足的测试用例。
2. 抽出一个同学,持续跟进开发和 review 实现结构和代码。
3. 规范开发流程
我总是觉得,这样后续维护是个大问题。
各位彦祖怎么看?
Supplement 1 · Jul 26, 2021
没有描述清楚,让不少同学误解了。
替换公司其他产品,这个工作本身是为了统一,降低未来维护成本。
但是找外包本身降低成本不是首要目的,甚至都没有考虑过为了降低成本而去找外包。找外包实际上是被动的,因为事情本身不难,只是比较多和杂,我们一个团队总共十来人,都是做偏底层的,上层业务也不熟悉,最关键大家伙没有意愿去开发,为了这事去招人也来不及。所以才想起看能不能试一试外包的。
上午找了一个外包朋友聊了下,计划先试一个产品,如果可行就继续,至于质量管理跑起来在看吧,没经历真是没头绪。如果效果不好就让对应产品的团队出人来处理了。
57 replies • 2021-07-28 08:35:09 +08:00
 |
|
1
wangbenjun5 Jul 26, 2021 1
哈哈,既然不重要,那扔给外包随便搞,还在乎什么质量,能跑就行啊
|
 |
|
2
renmu123 Jul 26, 2021 via Android 2
确保不了
|
 |
|
3
ca1123 Jul 26, 2021
多做几份选最好的?
|
 |
|
4
yitingbai Jul 26, 2021 3
写代码的责任心很重要, 该抽象的要抽象, 该封装的要封装, 要把项目看成自己的, 写的时候要考虑到以后的维护性. 甚至很多需要花时间的代码并不能实现某个具体的功能, 只是让整个逻辑更清晰, 潜在的 BUG 更少. 但是外包就完全不会考虑的这些, 能复制粘贴就绝不抽象封装, 实现功能越快越好, 谁管你以后维护方便不方便, 反正不是自己维护
|
 |
|
5
cszeus Jul 26, 2021
跟几家外包合作过,除非长期合作,只要你付钱,他们能维护。要是一次性的,代码基本就是垃圾。
|
 |
|
6
ljzxloaf Jul 26, 2021
钱给足。1 块钱有 1 块钱的写法,10 块钱有 10 块钱的写法。好的代码都是时间堆出来的,即使他这次没用那么多时间,也要为他达到如今的水平曾经所付出的时间买单。
|
 |
|
7
Ariver Jul 26, 2021 via iPhone
code review
-— 但是也很难
|
 |
|
9
ianva Jul 26, 2021 1
你太理想化了,带过外包,手把手教都写不好代码,东西做出来能用,上线隔三差五出 bug,code review 的时间和指导的时间都够我自己实现的了,后来清退掉后,他的所有代码基本都是被重构掉或重写掉的。
当然不一定所有外包的代码一定质量差,但面试过的外包来看,素质也基本承让不多
|
 |
|
10
ianva Jul 26, 2021 1
有些时候你会发现,有些人确实不适合干这个职业,无论是逻辑思维能力,还说学习能力,和自省的能力
|
 |
|
11
samin Jul 26, 2021 2
作为一个开发同学,您提的三点,外包都可以非常有效的攻破 1. 找个有经验的测试同学,提供充足的测试用例。 他们的开发就是针对你的用例去开发的,这个本来就是验收标准的一环,所以这项不能作为手段 2. 抽出一个同学,持续跟进开发和 review 实现结构和代码。 外包就会玩的就是商务,随便给点甜头就可以让这位同学反水 3. 规范开发流程 又回到你的问题,如何确保外包用了你的规范开发流程
|
 |
|
12
a719031256 Jul 26, 2021
钱给够就行了
很多人说外包质量差,但说这话的人绝对不会说给的钱有多低
|
 |
|
13
auh Jul 26, 2021
责任心这个东西,像一堆东西。怀疑到底是一种道德行为,还是一种非理智行为。
|
 |
|
15
Rheinmetal Jul 26, 2021
长期被坑的经验就是拆成足够小的抽出人力 code review 里程碑支付 问题就是人力节省少 花钱教外包写代码
还不如开实习 招大学生来干活 不行就换
|
 |
|
16
weichengwu Jul 26, 2021 via iPhone
接手过外包代码,差到令人发指
|
 |
|
17
ByteRan Jul 26, 2021
大多数外包是不考虑维护的,领导一心只要求在最短时间内出结果
|
 |
|
19
gouflv Jul 26, 2021 via iPhone
代码质量没有标准一说,所以对外包来说 产生不了交付价值
|
 |
|
20
IvanLi127 Jul 26, 2021 via Android
找驻场可能还能控制得了质量吧
|
 |
|
21
xuanbg Jul 26, 2021
人力外包,代码审核。可保质量,但你会很累。项目外包,十有八九会让你很气。。。
|
 |
|
22
andy2415 Jul 26, 2021
找外包, 等于默认接受功能能用就行
|
 |
|
23
chengkai1853 Jul 26, 2021
其实关键还是钱给得足不足。复制比整理代码、抽象、运用设计模式用的时间完全是不一样的。给他 1 块钱,极少人会付出 10 块钱的责任心和时间吧。毕竟人家出来做外包大多也是缺钱,熬夜用时间换钱。外包的时候就说清楚要什么质量的代码,评估的价格都完全是不一样吧。
|
 |
|
27
4ark Jul 26, 2021
找外包 = 自己嫌麻烦 = 自己不想做 = 希望短时间内完成 = 节省成本,你说代码质量怎么会好?
|
 |
|
28
leafShimple Jul 26, 2021
确保不了. 自己要实时跟踪项目,人员定时 review 代码.沟通需求.成本还是不低的。抱着能跑一个就行的心态的话,那还是可以放手的
|
 |
|
29
anteros Jul 26, 2021
别说找外包了,哪怕是自己团队,你多给点钱给程序员跟少给点钱给程序员,质量也完全不一样。
|
 |
|
31
del1214 Jul 26, 2021
体力活可以外包,脑力的就算了
|
 |
|
32
Rwing Jul 26, 2021
确保不了
|
 |
|
33
linbiaye Jul 26, 2021
又要质量又要便宜,哪有这种好事?会要求代码质量的大概就是 epam, thoughtworks 这类公司了,但是他们肯定不便宜。
|
 |
|
34
jswh Jul 26, 2021
1. 给够钱 2. 找对人
其实可以找 thoughtworks 那种偏咨询的外包,而不是单纯的人力外包,可能会稍微好点。
|
 |
|
36
jeeyong Jul 26, 2021
如果你就是要从技术角度入手去解决这个问题..那他就是个没完没了的坑, 你需要一直去填填填, 直到最后审核的成本接近于自己建设团队. 然后换了一个问题开始纠结, 填填填...
换个思路, 从非技术角度入手, 有条件上两家供应商互补协作. 一家供应商, 谈好要求, 你只管测试和提出问题. 剩下的, 让他们去解决. 钱要给到位.
|
 |
|
37
chenmobuys Jul 26, 2021
如果钱给的多,而且后续还可能要维护,就会考虑代码的质量,至少不能坑自己。 如果钱又少,后续又不需要自己维护,那不是怎么快怎么来吗?
|
 |
|
38
westoy Jul 26, 2021
外包订制省成本省的是长期的人力成本, 而且要形成规模效应, 因为自己还需要投入一定人力。 也许某个大厂要突击一个项目, 临时调了三四百个外包, 本身也投入了大几十人去做项目管理、对接业务、审核代码什么的, 但你这边可能只需要两三个人,但要保证这两三个人代码质量和业务别写偏, 也需要四五个人去做对接, 那你为什么不直接让自己的四五个人去写..........
外包另一种可以省成本的方案是出垂直方案, 某家企业专门做某个垂直方案, 你找个对口团队, 对方改改就给了你, 因为他们专门做这块的, 坑被上家们已经趟地差不多了, 但你耦合业务的大量定制那就没办法了
所以无解的, 自己写吧
|
 |
|
40
caroline1022 Jul 26, 2021
接 sonar 等代码质量测试工具 按里程碑时间点进行 code review 验收 若抽查有问题形成对对方项目完成度的考核上的压力(这个估计需要体现在合同上)
如果还需要解决后期维护的问题,那就需要派一个项目经理去盯这个事儿了,保证对方开发人员的关键文档的输出以及文档质量
|
 |
|
41
Leonard Jul 26, 2021
确保不了。干过外包,有的公司项目代码真的差得令人发指,烂代码你想改人家还不让你改,嫌你浪费时间
|
 |
|
42
charlie21 Jul 26, 2021
作为 IT 行业内最历史悠久也最广泛的生意形式,说保证不了外包质量、外包质量是无法保证的,真的 IT 行业的从业人员吗?真是隔行如隔山 行内也有山 行内子行业也是隔行如隔山
|
 |
|
43
MIUIOS Jul 26, 2021
我们公司收回了由外包公司一直在维护的项目,代码拿回公司下发给技术人员并要求迭代功能,一星期后跑路了好几个技术
|
 |
|
46
3dwelcome Jul 26, 2021
可以让外包结对开发。
一个人有可能时间一长,写代码会摸鱼。两个人就会相互催进度,相互监督代码,自然没办法摸鱼了。
当然需要一定的入门考核,水平也不能找太差的,要不然钱花了,代码有一堆 BUG 也用不了。
|
 |
|
47
Pichai Jul 26, 2021
你需要的外包人员少,管理起来也不方便。中间还需要对接的人,项目好坏取决于对接人员的管理水平。真不如自己招聘一两个专门负责改业务的人。
|
 |
|
48
aaniao002 Jul 26, 2021 via Android
无法。外包拿来的只能运行。各种 bug,各种逻辑错误,各种偷奸耍滑,反正你只要不点,什么都是好的,点了什么都是错的。准备好 wireshark 抓包吵架。
|
 |
|
49
lscho Jul 26, 2021
钱给够,时间给够,找对人。
钱给不够,时间给不够,自己团队的代质量都保证不了,还怎么要求外包呢。
|
 |
|
51
gamexg Jul 26, 2021
临时单人外包 各种你能想到的问题*100 倍大概就是实际效果
找到靠谱的太难了 公司找过单人外包,近乎全军覆没 现在在尝试外包公司,还不确定最终效果
我以前接过外包,发现的情况是: 靠谱的外包开发者如果是全职外包,基本接几个客户就会碰到想让你直接全职上班的客户。 即使兼职干外包的,也会碰到希望你能长期兼职的客户。 如果比较核心的业务,功能修改甚至有客户愿意等半年排期。 基本靠谱的外包,老客户业务就能填满时间,很难有时间接新客户
|
 |
|
52
karott7 Jul 27, 2021
楼上就没遇见过钱给够还给你喂屎的外包吗?
|
 |
|
53
andyL Jul 27, 2021
楼主提出的想法很成熟。
要想不出 Bug,就需要编码的人很清晰的理解需求、了解边界条件。
面对细小的用例验收通过这个目标来开发。
需求要清晰、任务拆分要清晰、用例粒度要小。
要商量好技术栈、架构、文件组织。
codereview 的时候注意模式、封装。
这些需要付出很多的沟通成本和时间,和你们自己带团队没什么差别。
要是如同回复中有些,已经瞧不起的对面、觉得对面是教不会 ifelse 的原始人、还不想给多少钱别人,以上步骤还做个奶子。看运气吧。
个体互动 高于 流程和工具 客户合作 高于 合同和谈判
|
 |
|
54
PMS Jul 27, 2021
这太简单了,再雇一个第三方的外包测试及质量控制的团队来控制质量。 所谓的外包影响质量的本质就是甲方因为完全不在乎质量而决定了用不可能保障质量的预算来外包。 最后再让外包方来背锅。
|
 |
|
55
softempire Jul 27, 2021
给够钱,给五分之一的钱要求百分之百的质量,那怎么可能
|
 |
|
56
NutChocHoney Jul 27, 2021
看了看回复 很多朋友都说外包质量有多差 有可能很难想象有些做外包的同学被公司压到敲代码的时间真的是少到可怜 说不定还需要同时负责多个项目
|
 |
|
57
encro Jul 28, 2021
1,钱够人家团队驻厂吗? 2,质量真的重要吗?用过一段时间扔掉重新来过或者重构怎么样? 3,自己团队只会做底层?招个做交互的大神怎么样?
|