0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

探究外包软件失败原因

5RJg_mcuworld 2018-02-02 14:18 次阅读

我想为我的web服务创建iPhone app,但是我没有程序员。好吧,我没有iOS程序员。而且,我也没钱去请一个。你也遇到过这样的情况?那么该怎么做呢?谷歌搜索到Upwork,在这个网站上找到了一家位于印度班加罗尔的公司,他们在看到我给出的合理的价钱之后,表示很乐意和我一起工作。在几个月花费了我几千刀之后,我意识到这并不像我预期想的那样。时间又过去了几个月,此时我已经在向上帝发誓,我今后再也不会外包任何软件开发给任何人了。想吃后悔药的仅仅只有我吗?NO。

开头只是一个玩笑,但它离事实亦不远矣。当然,在大企业和大项目中,故事或许会有所不同。但结果几乎都是一样的——这是一场灾难。

我说的是外包,而不是离岸开发。两者所不同的是,在外包中,涉及两个公司:作为客户的你,以及一些来自于空中楼阁的自夸“我们的代码所向无敌”的公司。而在离岸开发中,虽然你也是在空中楼阁上办公,但却有属于自己公司的管理层和员工。再次声明,本文讨论的是外包。

在写这篇文章之前,我阅读了几十篇关于为什么外包会失败的文章,我发现了很多所谓的“原因”。不过,我觉得他们都搞错了关键点,因为他们只从消费客户的角度来考虑问题。我将从双方的立场来剖析问题,告诉你隐藏其中的丑陋真相。下面,就让我们一起来探究这些原因吧。

价低不能保证质优

这里有一个论点是:“选择外包,是因为你想要优化成本,但尽管最后虽然能获取最廉价的软件却很快又会由衷地后悔”。 OK,那么有什么解决办法吗?提高支付?我不认为这可以解决这个问题:只会烧掉更多的钱。而且,我也不认为这个原因和外包有任何特别的关系。在其他任何商业交易中,“单赢”模式注定会走向失败。

文化不匹配

“你在加利福尼亚,他们在巴西:你们彼此之间不能理解。”那么这是导致成本超支,进度延迟,以及低质量代码的原因吗?我不这么认为。何况,我的经验告诉我,事实恰恰相反。我们在teamed.io上的程序员来自于超过15个国家,但是我们从来没有因为文化问题而导致任何工作冲突,尽管我们的确发生了很多冲突。

缺乏面对面的交谈

“他们在遥远的波兰,因而很少有真正的交流时间。这就是为什么经常会曲解彼此的原因。”你看,你没有见过我,也没有和我进行过面对面的交谈吧?但是我现在就是在和正在阅读这篇文章的你进行交流。所以,即使我们不能见面,也不妨碍你真正理解这篇文章,读懂我的观点。这主要是因为我做了一切可能的努力,以确保我的观点能够明确地传达给你。在外包中,问题不在于渠道,而在于主动性。请继续阅读。

没有衡量成功的标准

“你无法为海外团队简单地定义一些关于成功的明确指标。这就是为什么你们的关系最终会分崩离析。”差不多是这类的原因。我也不知道何为“衡量成功的标准”,但是有一点我要说明的是:外包到乌克兰的软件,于他们而言成功是这回事。但对你,一位消费客户来说,成功是另一回事。

匮乏的规格说明书

“大多数项目都具备良好的规格说明书是不可能的,而一份设计不当的规则说明书将会成为失败的一个原因。”没错,这是真的不能再真的真相,但是这和外包又有什么关系呢?哦,对了,他们远在阿根廷,而我们在纽约——那么如何制作出一份好的规格说明书呢?无法清晰明确说明技术要求是架构师的缺陷。学习,训练,阅读应该可以解决这个问题。把所有人一起聚集到办公室并非解决的办法。

人才流失

“离岸开发者并不是你的员工,他们永远忠于项目,因此时不时地会有人离职。”的确如此,间或可能会有人离开。但是同样的,这和他们是在哪个地方又有什么关系呢?难道说一旦他们不能和他们的CEO共用一个咖啡机,他们就会不忠于项目吗?比起仅仅只是坐在一起,还有更多其他可以促进积极性的有效手段。

原因还有很多,但是这已经足以说明问题。正如你看到的,我找不到这些“理由”的逻辑。它们只是解释了结果,但丝毫未触及真正的问题:

你只是外包公司的一棵摇钱树。除了帮你完成期望,你们既不是伙伴也不是朋友。你的目标和他们的目标相反。

所有这些外包失败的“原因”源于根植于我们头脑的一个根本性的困惑:我们认为,在北京的这10个程序员是我们业务的一部分。我们相信,他们是团队的一份子。他们和我们坐在同一条船上,共享相同的价值观,并且都在朝着同一方向前进。

这不是真的。

这也不可能是真的。

我差不多为一家外包公司工作了近10年(离开于2010年)。然后,告诉你一个丑恶的真相是,对于外包公司的CEO,唯一的想法就是如何确保下个月的工资,并且程序员的薪水占了90%的开支。

这就是为什么付费客户对于他们来说,就是一个好客户。不是带来成功项目的客户。不是可妥善解决问题的客户。不是优化成本的客户。不是使用最佳技术的客户。统统不是。对于他们来说,只要你愿意支付很多钱,并且按时支付,那么你就是最好的客户。就是这样。

这才是外包所有问题的根本原因。

文章的标题指出,软件外包不再起作用了。为什么说“不再起作用”?难道以前起作用吗?是的,以前是有作用的,因为那个时候在第三世界国家中的程序员的工资都非常低。例如,在2001年,我们在乌克兰有一队非常优秀的高级Java开发人员,我们支付的薪酬,高于他们的市场价格,大概每个月300美元。与此同时,我们向美国客户要价15美元每小时,也就是每个月2,500美元。看到中间的差价了吗?

正是因为利润高,所以那时的外包工作正常。我作为一个CEO,几乎不愁工资发放。我有足够的钱支付我的团队,哪怕我们最终失去了一些客户。我可以这样说:我有这个资本可以诚信地对待客户。这才是问题的根源和核心。

然而这种好时光一去不复返了。

从员工的角度看。现在乌克兰一个优秀的Java开发者的收入大约是4,000美元一个月。最重要的是,开发人员期望有医疗保险,免费的健身房会员资格,免费的午餐,带薪休假,带薪病假等等,但是与此同时,Java的工时价格并不比几年前在市场上的要价高出很多。即使你每小时收费40美元(当然这并不可能),你的收入也就6,800美元。然而,所需要支付的薪水费用接近于5,000美元。利润大大缩水了,看到了没?

此外,还有办公费用,税金,计算机,行政管理人员,团队建设活动等。由于基本上没多少利润,所以一旦你失去了一个关键的付费用户,那么可能就会面临破产。因为你支付不起这帮“坐在冷板凳”上无所事事的程序员。

因此,你唯一的目标就变成了保持资金的流入。不管是用什么方法。项目耗费的时间越长越好。代码的质量越低越好——因为维护可以让客户掏出更多的钱。电话、会议和其他浪费时间的活动越多越好。规格说明书越乱越好。不择手段地从客户那里掘金。

你这么做,并不是因为你是恶魔,只是因为你要养活你的团队。你的,团队。团队是你的。因此,你有责任支付他们薪水,但客户不是你的责任。为了保护团队,你必须违背客户的实际利益。道不同不相为谋,你们根本就无法坐在同一条船上。

总而言之,外包已经不再发挥作用了,因为你的商业利益不可能与你的外包“合作伙伴”的利益相一致。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 外包软件
    +关注

    关注

    0

    文章

    2

    浏览量

    5852

原文标题:为什么软件外包不再“起作用”了?

文章出处:【微信号:mcuworld,微信公众号:嵌入式资讯精选】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    k8s容器启动失败的常见原因及解决办法

    k8s容器启动失败的问题通常出现在开发者使用Kubernetes进行容器编排时,可能的原因有多种,例如:配置错误、镜像问题、资源限制、依赖问题、网络问题、节点状态异常、其他因素等,以下是对这些常见原因的详细分析:
    的头像 发表于 10-11 10:12 227次阅读

    海外大带宽服务器连接失败解决办法

     海外大带宽服务器连接失败可能由多种原因引起,以下是一些常见的故障排除步骤和可能的解决方案。Rak小编为您整理发布海外大带宽服务器连接失败解决办法。
    的头像 发表于 09-29 09:53 201次阅读

    GD32用Embedded软件debug在线调试失败原因

    请问GD32用Embedded软件debug在线调试失败可能是什么原因
    发表于 09-27 07:13

    视频引擎初始化失败怎么回事

    视频引擎初始化失败是一个常见的技术问题,它可能由多种原因引起,包括软件冲突、硬件问题、驱动程序问题、系统设置错误等。要解决这个问题,需要对可能的原因进行详细的分析和诊断。 1.
    的头像 发表于 09-18 18:18 1187次阅读

    ensp启动失败,错误代码40怎么回事

    ENSP(Enterprise Network Simulation Platform)启动失败并显示错误代码40,通常是由多种原因引起的。以下是一些可能的原因及相应的解决方法: 一、可能的
    的头像 发表于 08-30 14:29 9011次阅读

    晶闸管逆变失败原因和解决方案

    晶闸管逆变失败是电力电子领域中的一个常见问题,它可能由多种因素引起,并可能对系统造成严重的损害。以下是对晶闸管逆变失败原因及解决方法的详细探讨,旨在提供全面且深入的理解。
    的头像 发表于 08-27 16:26 1359次阅读

    人脸识别模型训练失败原因有哪些

    人脸识别模型训练失败原因有很多,以下是一些常见的原因及其解决方案: 数据集质量问题 数据集是训练人脸识别模型的基础。如果数据集存在质量问题,将直接影响模型的训练效果。以下是一些常见的数据集质量问题
    的头像 发表于 07-04 09:17 584次阅读

    ESPConfig蓝牙配网失败原因?如何解决?

    软件版本:ESP-IDF v4.1 微信小程序:ESPConfig 问题描述: 1. 无法通过小程序提供的 getWifiList 获取WIFI列表 2. 靠wx自带的获取到WIFI列表后,配网失败
    发表于 06-11 08:57

    安装DAS8.0.5版失败原因

    我尝试以管理员身份安装 DAS 8.0.5 版,但由于以下信息而失败。 以前的版本 7.1.8 已成功安装。 原因何在? 以及如何解决此安装错误?
    发表于 05-30 07:38

    使用psoc编程器写入Modus生成的Hex文件时,Hex文件解析失败原因

    我们正在使用 pSoC6 CY8C6137BZI-F14 做软件, 我们使用 Modus 集成开发环境。 但当我们使用 psoc 编程器写入 Modus 生成的 Hex 文件时, psoc 编程器显示以下错误: Hex 文件解析失败。 未知记录类型。 你能告诉我
    发表于 05-21 06:57

    ESP32-S3模组烧录又失败?分享怎么排查原因

    ESP32-S3模组在物联网中非常好用,可以做带屏小音箱、温控器、智能86盒、泳池清洁机器人等等,在烧录的时候经常会遇到一些问题,这里分享一些烧录失败原因或者烧录遇到的问题,教大家怎么排查原因
    的头像 发表于 05-11 08:04 3022次阅读
    ESP32-S3模组烧录又<b class='flag-5'>失败</b>?分享怎么排查<b class='flag-5'>原因</b>

    光纤熔接机熔接失败原因

    光纤熔接机是一种用于将光纤进行熔接的设备,它在光纤通信领域中具有非常重要的作用。然而,在使用光纤熔接机的过程中,可能会出现熔接失败的情况。本文将详细介绍光纤熔接机熔接失败原因,包括设备故障、操作
    的头像 发表于 04-07 17:22 2555次阅读

    STM32CubeMX软件安装失败原因?怎么解决?

    本童鞋win10系统,Java版本为1.8.0_261-b12,通过官网途径下载STM32CubeMX软件,包括5.4,6.0,6.5以及6.7版本,安装过程正常,双击打开全部出现“此应用无法在你的电脑运行”字样,请问问题原因以及解决方法。
    发表于 03-21 07:33

    GD32 MCU ISP失败原因

    玩过GD32的小伙伴们都知道,GD32 MCU支持ISP,即在系统编程,前面的常见问题也给大家讲过什么是ISP,什么是IAP?那有没有小伙伴遇到过ISP失败的情况,失败原因是什么呢?
    的头像 发表于 02-28 09:23 1445次阅读
    GD32 MCU ISP<b class='flag-5'>失败</b>的<b class='flag-5'>原因</b>

    ART pi使用easy flash写flash失败原因是什么?

    ART pi使用easy flash写flash失败,是什么原因
    发表于 02-23 06:31