外包避坑经验小结

简介: 机缘巧合,近距离接触了一个比较坑的外包团队,长了一丢丢扯皮的经验,写个小结,填坑。了解对方开发情况提前申请好 fabric、Bugly 等集成监控工具的账号,让对方开发过程中全程都集成这些工具,develop 版本和 release 版本用不同的 id,这样可以区分出 Bugly 中显示的崩溃是 release 版本中影响用户体验的 bug,还是开发过程中程序员为了测试故意触发的 crash。

机缘巧合,近距离接触了一个比较坑的外包团队,长了一丢丢扯皮的经验,写个小结,填坑。

了解对方开发情况

提前申请好 fabricBugly 等集成监控工具的账号,让对方开发过程中全程都集成这些工具,develop 版本和 release 版本用不同的 id,这样可以区分出 Bugly 中显示的崩溃是 release 版本中影响用户体验的 bug,还是开发过程中程序员为了测试故意触发的 crash。

Bugly 是可以精确记录崩溃发生的各种信息的,包括设备型号、系统版本、触发崩溃的代码等,这样在无法复现 bug 的时候也有证据和对方谈,不至于让对方赖账。fabric 可以做到实时统计,根据开发版本的应用活跃程度,可以对对方的开发过程有一个大概的估计,至少当你看见 fabric 显示 app 没有任何动静(app 启动次数、session length),那肯定对方是没在进行客户端调试的。

谨慎考虑技术方案

有些外包团队的技术人员,是毕业之后培训两三个月就上岗了那种,能力比较成问题,在技术的选择上也会很随意,可以尝试从以下几个角度来去把控:

  • 通过 git 来时常查看他们的代码提交记录,不要让他们每次都把代码打包发过来,这样方便项目后续交接给其他人继续开发。
  • 对于他们大量使用了,而自己又不太熟悉的第三方框架,多去查一下,看看这些框架有没有不成熟、或者已经不再维护的问题,否则框架本身出现 bug,后期可能一时移除不掉,他们又没有自己修改框架的能力。
  • 技术上最好选择通用、最好可移植平台的方案。比如同等情况下,在 Win 桌面端尽量选择 C++ 而不是 C# 去开发,后期可以移植其他平台;后端尽量用 C++ 或者 Java 去实现,否则他们用 PHP 做了之后,以后找人接手项目也比较麻烦。
  • 假如想要用 React Native 去做客户端开发,要考虑这样是不是相对原生开发可以省下接近一半的费用?如果可以的话,后期找人接手这个 RN 项目,短期是不是可以找得到会 RN 的人?

有效传递反馈意见

一方面,对方可能会有赖账的想法;另一方面,有些程序 bug 确实是偶发性的,不好复现。于是就可能出现,你说程序有问题,对方不承认的问题。所以要多注意:

  1. 在反馈 bug 的时候,通过 Bugly 等工具,告知对方,出问题的代码在哪
  2. 在不至于导致崩溃,但某些机型上又表现不正常的时候,尽量在测试时,全过程录视频,给乙方反馈的时候,直接截取出那一部分视频,就不存在推脱责任的问题

产品设计问题与 bug

在和外包团队接触过程中,遇到这样一个问题:有些动态的东西,比如滑动列表时隐藏搜索框,这些相对细致的内容,可能无法在原型设计中得到充分的体现。

而你又无法依赖对方的人员素质,来让他们自行优化这些细节。就要充分考量实际开发情况,在原型不方便体现细节的时候,用文档或其他方式进行充分的说明。否则最后产品做出来,你觉得某个地方不合理,是他们应该修复的 bug,但是由于原型、设计稿没有体现,他们可以认为这些是需求变更、二次优化,再找你收一次钱。

签订合同的时候,要严格定义出“交付项目的要求”,项目还没交付的时候,产品设计有问题(交互、逻辑等)算是双方沟通不够深入,项目交付之后,任何改动都是新需求,都要再算一次钱。又比如所有功能都开发完成,但是 bug 很多,用户体验极差,可不可以交付项目;以及开发过程完成后,需要产品成功上架 App Store 与国内各大安卓应用商店,否则你这边觉得东西做完了,之后屡屡被 App Store 审核团队拒绝,也没地方说理。


后续遇到新型扯皮,再继续更新……

目录
相关文章
|
开发框架 Java .NET
工作这么多年了,我为什么还在考证
毕业以来参加工作后,一直以来认为考证没有啥用处。一方面,因为找工作太过顺利,那会儿找工作也没有看到别人拿什么证去找工作,也没有看到那家公司的招聘广告上写需要什么什么证书。另一方面,由于才从学校出来对于学习考试有种天然的排斥。想想这么多年以来一直都是在学习考试。好不容易毕业了那还不好好放松一下。现在回想起来真是too young,too simple!
243 1
|
运维 JavaScript 小程序
想去外包公司锻炼下,是否可行?
想去外包公司锻炼下,是否可行?
|
搜索推荐 Java 程序员
只有一个程序员开发和运营,BuiltWith网站年入1400万美元是怎么做到的?
国外有一位程序员叫 Gary Brewer,他一人撑起了一个公司,这个公司还年入 1400 万美元,约人民币 1 亿元。对此,你是啥想法?
184 0
|
数据采集 存储 运维
桂老师谈数据:做好五大准备,主数据项目顺利启航
我经常发现主数据项目实施过程中出现的一些问题,这些问题在一定程度上成为主数据是否成功实施,或者实施效果好坏的严重障碍
桂老师谈数据:做好五大准备,主数据项目顺利启航
|
JavaScript Java 程序员
程序员外包避坑指南?
外包公司一般有两类,一类是驻场外包,一类是非驻场外包。二者的区别为是否需要被外派到甲方公司上班。如果需要,那么就属于驻场外包,否则就是非驻场外包。
406 0
|
敏捷开发 架构师 程序员
数字化转型项目做了多年,主架构师都绝望了:当初就不应该用外包!
数字化转型已经成为了企业发展的主旋律,甚至成为各国的发展战略,疫情的发生进一步加速了全球数字技术的产业化应用步伐。“数字化”说起来容易做起来难,新兴技术变化如此之快,以至于大多数组织内部 IT 团队缺乏相应的技术能力或业务知识,如若设计或实施不当就有可能将“转型”变为一场灾难。
229 0
数字化转型项目做了多年,主架构师都绝望了:当初就不应该用外包!
|
SQL 消息中间件 算法
峰哥读者从设计转行外包数仓,再跳槽到甲方做大数据开发
峰哥读者从设计转行外包数仓,再跳槽到甲方做大数据开发
峰哥读者从设计转行外包数仓,再跳槽到甲方做大数据开发
|
前端开发 jenkins 持续交付
研发新人如何快速熟悉新项目和业务(上)
研发新人如何快速熟悉新项目和业务
599 0
研发新人如何快速熟悉新项目和业务(上)
|
Android开发 开发者 UED
创业开发团队的9个误区
如今的创业公司面临的最大问题就是服务交付的速度,创业公司的开发者也与创业团队的其他成员一样,整天忙于救火,因此往往搞错重点和优先级,并最终为公司带来大麻烦。
266 0
创业开发团队的9个误区
|
Java 测试技术 项目管理
15 年经验资深测试经理的经验分享:测试人职场晋升“潜规则”
本文整理自霍格沃兹测试学院「测试开发在线沙龙」主题分享《测试人晋升指南:如何做好个人绩效管理》,略有删减。文末链接进阶学习。
15 年经验资深测试经理的经验分享:测试人职场晋升“潜规则”