电子说
由于 复杂性-生产力差距 和 维护负担,每年 将需要超过 25% 的额外软件开发人员 来跟上当前的自动驾驶竞赛。再加上缺乏软件人才,这给汽车公司带来了巨大压力。精心设计的 软件采购策略 可以带来显着且可持续的缓解。
每个软件公司都需要决定其软件的哪些部分应在内部开发(“制造”),哪些部分应从公司外部采购(“购买”)。广泛建议根据以下问题做出此决定:
我自己开发这个特定的软件是否具有竞争优势?我能比竞争对手做得更好、更快、资源更少或质量更高吗?它是我核心竞争力的一部分吗?
这个特定的软件是否具有战略意义?也就是说,它是否有助于我 独特的销售主张?它是否有助于我将我的产品和服务与竞争对手的产品和服务区分开来?
如果整体架构定义明确,则可以为每个软件组件做出自制或购买决策。所有这些制造或购买决策的总和就是采购策略。或者等等,是吗?仅仅从两个选项中选择一个采购策略真的就足够了吗?我想不是。我相信与其问 是否 制作或购买软件,更重要的问题是 如何 制作或购买它。让我们仔细看看最相关的软件采购选项及其优缺点。
软件采购比“制造或购买”更复杂。(图片:BASELABS) (点击展开)
1. 内部开发确保排他性
第一种选择是在内部开发完整的软件组件,涵盖从需求工程和规范到实施、集成、测试和维护的所有步骤。这种方法提供了开发软件的全部和专有权利以及最高级别的保密性。结果可以完全满足您的需求,并且所有相关的专业知识都将在您的公司内部可用。
同时,这种方法需要足够的软件开发人员和——更稀缺的资源—— 时间。不仅用于开发阶段,还用于维护和支持。事实上,在内部开发一个软件的决定也是一个决定维护这个软件,只要它会被使用。
开发和维护所需的资源数量经常被低估—— 一项 IEEE 调查 得出的结论是,软件项目的平均成本超支是 89%。
内部开发通常与独立性相关。虽然从知识产权 (IP) 权利的角度来看这是正确的,但仍然依赖于人员。在大多数团队中,专业知识并不是均匀分布的,一些关键的开发人员离开项目可能会带来很大的风险。此外,内部开发限制了您将开发人员用于最有价值的用途的自由,因为开发的每个软件组件都需要更多的开发人员进行维护。
2. 外部合约开发提供灵活性
第二个常见的选择是将软件开发委托给外部承包商。在排他性和知识产权方面,这与内部开发相当。这种方法的一个优点是需要较少的内部开发人员。但是,您的公司仍需要完成需求工程、供应商管理、集成和系统级测试。
从时间和成本的角度来看,整体工作量可与内部开发相媲美。如果承包商位于工资较低的地区(“离岸外包”或“近岸外包”),则可能会因较低的小时费率而节省成本。
这种采购策略的主要好处是可以在计划发生变化时快速轻松地终止合同,从而提供更大的灵活性。对于大公司来说,有时与外部公司签约可能比获得内部资源更容易。此外,与外部公司签订的合同比与同一组织中的其他部门签订的协议更有效。
不利的一面是,您对开发过程和承包商团队质量的控制较少。承包(尤其是离岸外包)通常需要全面的质量和供应商管理流程。此外,对承包商日益增长的依赖正在削弱谈判能力。然而,这里最关键的因素是维护。由于该软件尚未在您的公司内部完全开发,因此您自己维护它既困难又昂贵。让承包商在交付后解决问题也可能是一项艰巨的任务,因为交付软件的团队可能随着时间的推移发生了重大变化。
3. 软件组件许可降低成本和时间
如果市场上有所需的软件组件,则可以选择购买许可证(即使用权)。优点是可以大大减少开发时间和资源,因为组件已经存在并且不需要首先开发。
软件的主要好处是,在开发一次之后,它可以被几乎任意数量的用户复制和使用。许可业务模式在客户之间分摊开发成本(公平地说:成本加上供应商的利润),与内部或合同开发相比,产生了巨大的成本优势。出于同样的原因,维护和支持通常需要大大降低成本。
另一个优点是该软件已经由其他用户测试过,这降低了故障风险,并且(取决于此类测试的证据的可用性)可能会显着减少您的测试工作。在功能安全中,这称为 经过验证的参数。
此选项的缺点是您并非独家拥有知识产权,因此您的竞争对手也可以使用它们。另一方面,如果市场上有这样的软件,你的竞争对手可以使用它,而不管你决定在内部开发它。
采购软件的另一个限制是,并非所有供应商都提供白盒方法(即完全访问完整源代码),这是建立内部专有技术所必需的。但是,此策略的主要问题是您需要的软件组件是否在市场上实际可用。
临时结论
内部和外部合同开发是同一块奖牌的两个方面。事实上,我认为合同开发不是 软件 采购策略,而是 开发人员 采购策略:我应该自己雇用开发人员还是与雇用他们的软件开发公司签约?
由于软件是一种无形资产,因此通过许可共享投资是削减成本的关键因素。因此,在内部(或通过合同)开发软件组件的公司总是比购买非独占许可证的竞争对手更昂贵。这种溢价需要通过客户更高的支付意愿来证明。
在我看来,还有第四个选项经常被无理地忽视。让我解释一下这种替代方案如何帮助您将自己软件的战略优势与许可业务模式的成本优势结合起来。
4. 深度采购如何为您带来两全其美的优势
很多时候,市场上无法直接获得具有所需功能的软件组件。在这种情况下,许多高管得出结论认为该组件需要内部开发。但是,有时提高架构的放大倍数可能会有所帮助。
虽然市场上可能无法获得具有定义功能的软件组件,但这种组件通常由商业上可用的子组件、例程或功能组成。即使软件组件具有战略相关性,它的所有子组件也很少。
通常情况下,竞争优势来自于对现有技术的智能组合,而不是来自于完全的再发明。使用商业可用的库或软件开发工具包 (SDK) 可以成为通过结合内部开发和软件许可来发展这种竞争优势的一种方式。在许多领域,此类库都可用并被广泛使用。示例包括 用于深度学习 的TensorFlow 、用于经典图像处理的 OpenCV ,或 用于嵌入式和安全传感器数据融合的BASELABS Create Embedded 。
对于重复使用的子组件,软件许可策略的所有优点都适用:它们可以直接获得,只需开发成本的一小部分,经过测试,并在所有用户之间分担维护负担。由于此类较低级别的功能可以更通用地应用,因此分担开发和维护成本的用户数量通常高于专用功能。
同时,结合库的功能或 SDK 的元素,您可以在生成的软件组件上开发专有的前台 IP 权利并确保机密性。此外,您的公司将提供相关的专业知识,并且可以根据您的需求量身定制结果。
这种策略的缺点是在识别合适的库或 SDK 并检查它们是否符合要求方面增加了工作量。这需要制定具有更精细粒度和更多技术专长的采购战略,以采购高管角色。另一方面,这种努力可以显着利用稀缺的内部开发资源。
让我们回到上面显示的概览图:比较不同的选项可以直观地看出它们的优缺点:如果可用,组件许可显然是有利的,而自己开发软件可以成为有针对性的补充。然而,图书馆许可可以结合这两个领域的优势。
结论:仔细研究采购是值得的
The results of your sourcing strategy will depend on the applied level of detail. A high-level analysis leaves you with limited and often unsatisfactory options. Spending a more detailed look on sourcing opens a new strategic level which allows you to develop a clear competitive advantage while cutting costs, time to market, and the amount of required internal developers. Sourcing is a powerful lever — the choice how to use it is yours.
审核编辑 黄昊宇
全部0条评论
快来发表一下你的评论吧 !