物联网(IOT)曾经是一个技术流行语,但仅在短短几年里,它已经成为一个非常真实的现象。其中智能家居、可穿戴技术甚至自动驾驶汽车只是物联网承诺改变人们生活、工作和娱乐的几种方式。
随着物联网市场变得越来越成熟,客户越来越希望产品质量高、功能丰富、安全且经常更新。希望利用这些趋势的企业需要评估其物联网产品开发计划,以便能够满足客户的这些需求。
在本文中,我们将讨论整合软硬件团队在物联网开发中的重要性,以及如何做。
整合软硬件团队在物联网开发中的重要性
关于业务中的 “孤岛”已经写了很多文章,当同一家公司的不同部门之间不共享信息或工具时,就会出现这种情况。孤岛可能是有意产生的,因为这些团队或部门之间的嫌隙,也可能是无意间产生的,因为缺乏沟通。
由于它们会阻碍组织实现其目标和潜力,因此孤岛通常被视为一种负面现象。在物联网开发过程中保持硬件和软件团队的独立性很可能会造成孤岛,从而影响效率和生产力。
如果没有整合团队,则会在期限、预算、资源和产品质量方面造成问题。缺乏整合对于分布式团队来说尤其具有挑战性,例如我们的运营团队。我们经常需要在物理硬件上运行测试,因此硬件和软件团队需要进行交流,以便每个人都了解套件的工作原理。
整合硬件和软件团队进行物联网开发的想法深受敏捷软件开发方法论的影响。传统的“瀑布式”软件开发模型从设计和开发到测试和发布都是分阶段进行的,下一阶段只有在前一阶段完成时才能开始。然而,敏捷开发将一个项目分解成工作单元而不是阶段,并专注于尽快交付产品的最低可行版本。
让软件和硬件工程师在方案设计时就开始直接交流。在这里,协作可以简单到确保硬件和代码库的命名方案保持一致。这可以避免编写冗长的手册或代码注释,从而节省时间。
随着物联网的发展,良好的硬件设计和软件设计不会孤立地出现,它们两者都可以相互影响。如果硬件设计师正在考虑某项操作,他们应该与软件设计师沟通,以确保这不会在项目的后期产生问题。
整合物联网软硬件团队的三大优势
一旦让硬件和软件团队一起工作,而不是在单独的孤岛中工作,可以获得哪些主要好处?
(1) 专业知识
当您开发新的物联网系统时,将硬件和软件团队结合在一起特别有价值:硬件尚未经过验证,并且可能没有任何基准可使用。
在嵌入式系统的世界中,很难将硬件和固件进行分离。例如,如果您的驱动程序不工作,那么电路板也不会工作。拥有同时具备硬件和软件专业知识的人员可以大大加快开发和调试的初始过程。
(2) 意见的多样性
如果没有各种各样的人和意见参与该项目,那么在开发过程中就很容易获得“隧道视野”。 工程师、设计师、开发人员、测试人员和管理人员都应该能够给出他们的意见。特别是,包括从硬件和软件设计的角度来看,将有助于确保最终产品代表公司所有人的最大努力。
(3) 产品质量
通过整合物联网硬件和软件开发,您的最终产品更有可能具有更高的质量。将两个团队的努力结合在一起,不仅可以减少项目时间和成本,而且还可以更轻松地通过更快的开发和反馈循环来发布升级。
整合硬件和软件团队的4种方法
在本节中,我们将讨论一些最佳实践,以帮助您缩小物联网开发中硬件和软件团队之间的差距。
(1) 开放的沟通渠道
实现清晰、诚实、开放的沟通是打破业务孤立、让硬件和软件团队在整个项目中协作的最佳方式。这在项目的硬件阶段完成后尤为重要,硬件团队的角色转变为支持固件和软件开发。
(2) 指定项目经理
当拥有不同目标和愿景的多个团队汇聚在一起时,在做事方式上不可避免地会出现分歧。确保您指定了一名项目经理,他可以充当硬件和软件之间的联络人,并协调出现的任何问题。
(3) 协作和项目管理工具
像Slack这样的协作工具对于分布式工作人员尤其有用。为了提高跨团队的可见性,您还应该能够在项目管理软件(如Jira、Trello或Pivotal Tracker)中跟踪团队的活动和任务。
(4) 版本控制
像Git这样的版本控制系统对于备份和共享代码库来说是非常宝贵的。确保您有办法指定硬件的哪个版本与固件的哪个版本兼容,这样您就不会浪费时间去查找过时的错误或使用错误的文件。
总结
整合硬件和软件团队不会一蹴而就,这需要一个积极的、周全的计划,以重新定位您开发物联网的方式。尽管如此,这样做的好处足以证明这一努力是值得的。