管理从物联网产品构思到发布的许多步骤可能会导致发货延迟,企业可以采用一些技巧和方法来帮助优化开发过程。每个产品经理都知道运输设备在时间复杂度方面的复杂性,这导致45%的产品错过发布日期。并且协调机械工程、电气工程、制造、测试自动化、营销等是困难的。每一个都具有挑战性,但都变得更加复杂,因为它们中的大多数不会在同一个时间轴上推进。遵循新产品推出(NPI)时间表,同时关注固件流程有助于简化开发并增加实现开发目标的可能性。受开发工程师的启发,新产品介绍(NPI)是一个有用的指南,其中包含六个里程碑和相关的时间表,适用于旨在尽快发布可理解产品的团队。属于此类别的团队预计从原型到发布的时间范围大约为12-18个月,具体取决于设备的复杂程度。在此模型中,固件开发中还有其他元素为优化新产品引入(NPI)流程铺平了道路。为什么要关心固件?固件动态支持企业的整体硬件路线图,减少每个开发阶段的生产挑战,并通过确保最佳固件实践按时交付产品。下面讨论了关键里程碑,然后探讨了四种分析硬件和软件的方法,以节省时间并创建不太可靠的时间表。(1)初始阶段,12周初始阶段也是最长的阶段,工程师主要确定他们想要构建什么,有很多迭代,可能是3D打印原型或开发板供电气和固件工程师工作。虽然这是最自由的阶段,但12周并不算长,因为在此期间需要做出很多决定,例如需要哪些传感器以及如何集成一切。目标是提出一个功能性的产品架构。从固件的角度来看,团队必须在原型构建准备就绪之前让软件达到一个里程碑。这个里程碑要求团队为每个主要子系统编写最少的驱动程序代码,以在命令行级别验证每个子系统是否正常工作以及产品的软件是否能够与每个子系统进行清晰的通信。在原型制作阶段结束时,团队可能会得到一些“像”和“看起来像”的原型。虽然不是最终版本,但可以向执行团队和一些客户展示这些原型,以大致代表最终产品。接下来的三个阶段基本上属于同一时间范围,开发团队预计在这三个阶段中的每一个阶段花费大致相同的时间:工程验证测试(EVT)、设计验证测试(DVT)和生产验证测试(PVT)。对于每个阶段,实际构建至少需要两周时间,每个阶段之间至少需要三周时间,以便工程师从构建中获取数据、进行更改、迭代设计、修复任何问题并提交下一个设计建造。事实上,预计每个会话之间需要花费大约8周的时间。(2)工程验证测试阶段(8周)完成第一阶段后,团队将进行少量配置,工程验证测试是完成工程设计的时间。工程验证测试是准时发货的关键阶段;成功退出工程验证测试通常意味着准时发布。产品在外观上不会很完美,可能是用一些软工具制造的,测试结果不是最终的,成品率很低。但工程验证测试设备的外观和感觉应该与最终设备大同小异。它应该有多个配置,以减少程序的主要子系统和配置作业的总体成功标准。固件需要在超出工程验证测试阶段之前完成初始测试,此时只有最小的固件可以让用户试用设备的所有主要功能。它可能不会很好地工作并且不具备所有功能,但如果设备有显示屏,用户可以查看显示屏并看到一个简单的UI。如果设备有音频,可以播放音频文件等。要记住的是,当你迭代时,你可能需要再次测试。每个工程验证测试设计迭代至少需要4周的额外时间,这可能会导致严重的延迟。(3)设计验证测试阶段,6~8周在设计验证测试阶段,团队不会按照他们想要的速度以生产良率或制造速度运行,但他们将拥有经过所有测试的最终配置制造站并通过所有测试。在工程验证测试和设计验证测试之间,需要确定制造软件的使用。工程验证测试意味着生产线在高峰时段或多或少会运行。因此,任何运行在设备上的软件都必须通过工程验证测试来完成。(4)生产验证测试(PVT),6~8周的生产验证测试阶段用于优化制造。最终,目标是获得达到目标所需的体积和速度。在生产验证测试中,团队将预运行目标并需要完成启动固件。生产验证测试设备可以产生收入,有时可以出售给市场,前提是它们没有重大问题。至关重要的是,他们拥有可以在他们销售的设备上运行的固件。(5)试运营阶段,4周以上超过上述阶段后,团队将以理想的速度和产量进行制造。下一阶段是进入试运行——构建足够的产品以供发布。通常会有短暂的停顿来进行最终调整,并确保工厂生产正确且足够的零件。在此期间,将通过全天候24/7运行生产线并将设备运送给经销商来增加库存。(6)发布阶段产品是最终产品,在零售商和分销商处有库存,可供最终用户购买。鉴于时间变量以及设计和工程的复杂性,许多产品经理希望优化此过程。然而,由于固件支持的整体硬件路线图因开发阶段而异,这里有四种方法可以理清硬件和软件的关系,以节省时间并制定可靠的时间表。部署测试驱动开发:根据软件测试工具而非真实硬件构建软件和固件。例如,企业可以使用单元测试框架或模拟框架来模拟硬件并针对它开发软件。这种方法有很多好处:即使硬件还没有准备好,它也可以让您开始软件开发,它可以加快迭代速度,并且它可以创建一组可用于支持开发的可靠测试。实施第0天更新:旨在准备在拆箱后应用于设备的软件更新的技术。Day0更新改变了时间;它不是在制造阶段完成固件,而是延长了整个时间,直到客户拥有该设备。这种方法可以将软件开发计划延长四个星期或更长时间。使用强大的硬件抽象层(HAL):使用跨平台的操作系统和硬件抽象层,可以很容易地移植到新的硬件上。虽然这是一些前期工作,但它提供了三个主要好处。首先,它允许您将固件与底层硬件解耦,从而更容易进行测试驱动开发和独立构建。其次,它创造了选择性,这是供应链受限情况下的一个关键特征。如果您需要更换微控制器或其他组件,可以使用硬件抽象层(HAL)轻松进行更改。最后,它允许开发人员为未来程序中的代码重用奠定基础。能够将其构建的软件从一个程序转移到另一个程序是非常有价值的,并且使用硬件抽象层(HAL)使企业能够从同一代码库构建多个程序。拆分制造和应用程序固件:在生产线上使用专门构建的固件,很少更改并且与应用程序固件完全分开。虽然这是非常战术性的,但不应低估其影响。制造固件在校准和其他测试期间在装配线上和设备上运行。直到生产线上的最后一个测试站才加载应用程序固件,使您可以在不影响制造固件的情况下迭代应用程序固件。将两者分开可以让您对UI显示等内容进行更改,而不会有固件回归的风险。它还允许您在设计验??证测试阶段锁定制造后继续处理应用程序固件。它还允许开发人员节省代码空间,因为制造代码不会在主应用程序中携带。这里提出的一个警告是制造和应用程序固件之间的依赖关系可能会被发现,并且需要有一种方法来管理依赖关系,例如传感器配置。准时交货是公司设备工程师最关心的问题。通过部署这些固件工具和技术,可以减少错过里程碑的机会,而不会危及产品质量和企业声誉。
