每个开发团队都需要决定是从头开始设计和构建软件还是购买软件组件,推出一款成功的产品也需要考虑更多的因素才能成功、高效并最大限度地提高生产力。那么,一个嵌入式开发团队应该如何决定是否应该构建或购买全部或部分软件组件呢?

步骤 1 – 确定可用资源

第一步是确定项目团队当前可用的资源。盘点将使团队了解有多少工程师可用、分配的完成项目的时间(很少有足够的时间)、总体项目预算,甚至可能是启动资金。团队甚至可以考虑确定可能影响开发进度的现成工具。

步骤 2 – 根据复杂性对组件进行分类

开发基本软件架构将为开发团队提供有关设备复杂性和所需主要软件组件的总体概念。例如,由于需要图形驱动程序、通信驱动程序、图像设计接口和消息传递接口,识别需要具有触摸屏的图形用户界面无疑会在复杂性列表中排名靠前。系统所需的每个组件都可以按从 1 到 10 的值排列,其中 10 是最复杂的软件组件。具有高复杂性排名的组件是购买的候选者。

步骤 3 – 审查团队的技能组合

一旦生成了具有复杂性排名的组件列表,就可以根据系统所需的组件评估可用团队成员的技能。每个嵌入式开发团队成员都可以根据专业知识和以前开发每个组件的经验进行排名。除了利用过去的经验来准确了解开发时间之外,以这种方式对技能进行排名可以让团队识别技能差距。

步骤 4 – 计算盈亏平衡点

有了基本的系统理解以及开发团队现有的能力,现在是时候计算构建软件与购买软件的盈亏平衡点了。计算盈亏平衡点可能很棘手,因为有许多因素在起作用。典型的故障点来自对开发时间、固件维护甚至组件复杂性的乐观估计。

主要的业务权衡是上市时间和总体成本。构建一个组件最终可能会更便宜,但开发时间却是原来的四倍。开发人员需要确定固件组件的可能供应商,了解他们的保修、成本、交付日期以及可能出现的任何潜在集成问题。然后可以将购买的组件成本与估计的构建成本进行比较,并且在与时间进行比较时,可以确定盈亏平衡点。

步骤 5 – 确定构建与购买的投资回报率

归根结底,嵌入式开发团队需要提供一个解决方案,试图优化公司在产品中的投资回报率 (ROI)。有很多方法可以查看这一点。首先,人们可以着眼于尽量减少成本,或者其次,最大限度地提高销售额。在产品生命周期内,与购买的软件相关的许可费是否比构建成本更高?也许最初的构建成本高于购买软件,但由于数量或产品路线图,投资于工程师的技能组合以便可以在内部完成工作是有意义的。有许多因素需要考虑,虽然许多人将投资回报率视为严格的金钱回报,但做出正确决定可能需要更广泛的铺位。

步骤 6 – 做出决定

在某些时候,开发团队需要做出决定。 到目前为止,我们已经讨论了一些步骤,这些步骤应该为该过程提供一些工程或科学思想,但有时会根据直觉做出决定。 其他时候会做出决定,因为编写我们自己的RTOS会很酷。尝试使用受控的决策过程。

结论

  做出购买固件组件的决定可能是一个艰难的决定。在某些情况下,结果可能是延迟交付,甚至增加开发成本。遵循此处列出的步骤可以帮助嵌入式开发人员将决策过程转变为一个更加可控和深思熟虑的过程,通过考虑更大的图景而不仅仅是短期现金流。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部