作者都是各自领域经过审查的专家,并撰写他们有经验的主题. 我们所有的内容都经过同行评审,并由同一领域的Toptal专家验证.
克里斯蒂安·Ureche
验证专家 在产品管理方面
15 的经验

christian拥有电子和电信学士学位,并在过去的10年里担任硬件产品的高级职位.

专业知识

分享

构建适合产品/市场的复杂硬件和软件生态系统是一项艰巨的任务. 尽管大多数硬件初创公司最终都失败了,因为他们没钱了 报告 根据CB Insights的调查,最大的潜在原因实际上是他们的产品缺乏需求. 这只会强调产品经理这个角色对硬件初创公司的重要性, 因为他们的主要目标是找出客户的需求和痛点,以便交付成功的产品.

我经营的上一家公司创建了一个网络生态系统, 移动, 嵌入式软件应用, 以及停车行业的硬件设备. 硬件产品策略是我日常工作的一部分, 是什么让我尝试了各种硬件产品开发工作流程. 尽管在硬件产品领域工作了10年,并且拥有电子和电信学士学位, 我在工作中还有很多东西要学. 我创建了下面的指南,希望您能够比我更快地掌握嵌入式软件硬件领域的产品管理.

敏捷硬件产品管理的挑战

虽然SaaS和移动应用程序可以很容易地使用 敏捷框架在嵌入式软件的硬件开发项目中使用敏捷要困难得多. 在第一部分中, 我们将讨论产生复杂性的硬件开发计划的特征. 并不是所有的问题都有直接的解决方案, 但是有一些方法可以通过采用特定的硬件开发策略来降低难度, 下一节将介绍哪些内容.

专业技术人才在当地很难找到

创建新的硬件产品比迭代现有产品要困难得多. 这需要大量的创意和制作原型的经验, 大学里很少教什么. 一些大学甚至没有原型设备或必要的工具来开发这些技能,这样的经验几乎只有在拥有R&D中心. 寻找具有相关专业知识的当地专业人士可以, 因此, 非常辛苦, 导致许多硬件初创公司的创始人需要通过远程招聘来扩大他们的人才库.

版本控制系统不适应硬件设计

大多数版本控制系统(VCS)都是面向支持文本格式的, 因为它们是为软件开发协作工作而创建的. 在涉及硬件开发的项目中, 信息被包装在设计文件中,这些设计文件是在OrCAD等特殊工具的帮助下创建的. 其中一些工具只支持二进制文件,这些文件甚至没有经过优化,无法在vcs中使用. CADLAB 是创建硬件兼容VCS的一个相对较新的尝试,希望, 在不久的将来会有更多这样的工具.

硬件生产设施本地化

硬件生产设施通常位于另一个地区、国家或大陆. 硬件生产商和制造商之间的沟通需要特别考虑,这是成功交付产品的关键. 成功的沟通需要更多的战略框架来确保产品的质量,并确保它能够应对动态产品市场验证阶段的变化. 为了实现这个目标, 硬件生产商需要制作许多详细的规格发给制造商. 协作框架必须确保信息的快速交付和规范生命周期的管理, 因为它们很容易很快过时.

硬件改变不太灵活

在软件初创公司中,一种流行的运营模式是在早期阶段牺牲质量换取速度. 就连Facebook也在相当长一段时间内倡导“快速行动,打破陈规”. 另一种熟悉的方法是“假装”,直到你成功.这对软件初创公司来说很有效,因为基础设施成本低廉,简化的编程框架允许开发人员每天部署代码更新.

虽然这种开发方法已经慢慢渗透到硬件领域, 这是这个领域的不幸趋势, 因为制作和部署硬件更改要困难得多. 开发成本抵消了通过快速和频繁的发布获得的价值, 因此,在设计阶段投入更多资金来创建健全的硬件架构实际上是一个更可取的策略.

众筹的陷阱

许多创业公司都陷入了这样的想法:推出一个成功的产品 硬件集资” 活动等同于市场验证. 众筹对于包含硬件组件的产品来说是最成功的, 特别是因为我们无意识地想要拥有与实物相关的所有权. 然而, 众筹并不是为了大规模验证你的产品, 而是一种为早期产品开发融资的民主方式. 不幸的是,许多成功进行众筹活动的公司后来发现很难或几乎不可能扩大生产规模,因为他们没有大规模地验证自己的市场.

认证、法规和批准

所有的硬件产品都需要某种认证才能销售. 在将硬件产品推向市场的早期阶段,这是最容易被忽视的步骤之一. 认证约束将如何影响产品计划和应用于开发的框架? 将认证和其他批准作为项目里程碑来规划项目的早期阶段并不罕见, 只有这样才能有条件地回溯到开球阶段. 相反,产品经理可以仔细分析法规, 依赖关系, 而产品计划的战略决策更像瀑布一样.

硬件产品管理的机会

现在我们已经讨论了硬件与嵌入式软件领域存在的一些挑战, 现在让我们来看看如何使开发过程更加简化和可预测,以抵消硬件开发的固有困难.

将敏捷方法应用于硬件开发

经验丰富的产品经理都知道用嵌入式软件构建硬件产品背后的挑战,这些软件试图利用新技术发展创造的市场机会. 他们从计划阶段就学会在不影响产品成功可能性的情况下,在加速上市时间之间取得平衡. 大多数情况下,这是通过a形成的 water-scrum-fall 方法.

用于硬件产品开发的水珠

产品构思阶段扩展产品原则, 尽可能详细地描述目标和高级特性. 优秀的产品经理花更多的时间来完善这个阶段的交付成果:愿景, 任务, 机会评估, 硬件产品目标, 和特性. 这是产品的北极星,在开始制作任何类型的硬件原型之前都需要足够清楚, 因此,建议使用瀑布方法.

对于硬件产品来说,拥有良好文档化的需求和功能规范是至关重要的, 以及嵌入式软件驱动硬件产品的良好技术体系结构. 需求和规格的变化应该受到惩罚, 一旦得到整个团队的认可,他们就不受鼓励了.

在开发嵌入式软件时,可以使用标准的scrum方法. 为了使用预定义的硬件体系结构而调整和改进软件实现,在时间和金钱方面的成本要低于相反的情况.

最终的集成测试和用户验收测试应该在瀑布条件下进行. 在这个阶段, 开发阶段已经完成,新的功能和缺失的特性被记录为下一个计划阶段的额外工作请求.

将敏捷融入嵌入式软件开发

用嵌入式软件构建复杂的硬件产品会影响传统软件开发方法的应用. 许多用于生产在个人计算机上运行的软件的系统不适合开发嵌入式软件, 因为存在资源稀缺和更长的开发生命周期方面的限制.

一群来自巴西的学者和专业人士提出了一个潜在的解决方案: 基于平台的嵌入式控制系统软件设计方法:一个敏捷工具包. 这种方法包括 敏捷 嵌入软件开发的原理. 下面是对该方法的简短总结, 但强烈建议硬件产品经理阅读 完整的描述 在将其应用于实践之前.

这种方法所涉及的角色是:

  • 〇平台所有人 负责制定质量、计划和成本目标
  • 〇产品负责人 负责产品的实施、集成和测试
  • 功能领导者 负责管理子系统项目,跟踪可交付特性的进度
  • 〇开发团队 负责产品开发

该方法将嵌入式软件的开发分为三个过程组:

基于平台的软件设计方法过程组

  1. 系统平台进程组. 系统从平台库中选择将成为体系结构和API平台一部分的系统组件,并对它们进行定制,以满足所讨论的应用程序的约束. 定制过程通过对集成到平台中的设计器可配置处理器和运行时可重构逻辑进行编程,以迭代周期进行.
  2. 产品开发流程组. 组成产品的功能被划分为平台的硬件或软件元素. 该方法提供了考虑能量消耗的划分算法, 执行时间, 以及应用程序组件的内存大小.
  3. 产品管理过程组 监督和控制产品范围、时间、质量和成本参数. 建议的方法主要包括Scrum敏捷方法所提倡的实践以及 敏捷模式.

创建硬件开发计划

构建早期硬件开发计划使公司能够提供快速转向或B计划. 从商业的角度来看, 它可能会减少财务利润率, 但最后, 就竞争对手发布的产品和先进的技术能力而言,它提供了应对不断变化的市场条件所需的敏捷性.

假设一家公司成功地为其内置软件的硬件产品进行了众筹活动. 他们在第一批产品上工作得很好,直到一家老牌大公司宣布推出类似的产品. 多功能性和上市时间是最重要的, 对这种情况的务实和敏捷的反应增加了产品成功的可能性. 通过适当的硬件开发程序, 作为对竞争对手的回应,该公司可以迅速做出调整,并将产品的更丰富版本置于聚光灯下.

硬件开发方案

嵌入式软件对硬件的成功测试

测试是硬件产品管理的一个重要组成部分,因为,不像在 敏捷软件测试在美国,大多数硬件漏洞只能通过生产一批新产品来修复. 三星Galaxy Note 7手机 着火 是否有一个很好的例子说明为什么硬件测试应该是所有产品经理的首要任务.

功能测试 嵌入式软件产品的硬件技术验证的关键目标是什么. 这些过程的复杂性来自这样一个事实,即错误可能来自系统的任何部分.

单元测试 通常在每次冲刺后的模拟环境中进行, 由于模拟硬件提供了完全可控的优势. 测试 脚本可以自动化, 能监督执行, 杀伤试验似乎失败了,没有产生任何结果.

集成测试 是否应考虑到在线和离线操作以及硬件产品提交到实际操作条件. 例如, 如果该公司在户外活动时开发出一种头戴式大脑监测系统, 测试条件应考虑这些特殊性.

系统测试 包括测试整个系统的错误和缺陷. 该测试是通过连接整个系统的硬件和软件组件(之前已经进行了单元和集成测试),然后作为一个整体进行测试来执行的. 此测试列在黑盒测试方法下, 在哪里为用户期望的场景检查软件, 潜在的异常, 以及边缘情况. 可提及的特殊测试类别:

  • 事件驱动的测试: 由硬件产品生命周期中的特定事件或状态变化发起(例如.g.、启动、复位、关机). 它的目标是检测永久性故障.
  • Time-triggered测试: 系统正常运行时,在预先设定的时间启动, 定期检测永久性故障. 它在长时间运行的系统中很有用,在这种情况下没有发生重要的测试触发事件. 时间触发测试对于检测间歇性故障也很有用.

嵌入式软件硬件的产品验收

产品价值 对于带有嵌入式软件的硬件产品,通常在水-集-落方法中的产品验收步骤之后进行验证. 具有嵌入式软件生态系统的硬件必须优先考虑硬件而不是软件,以便进行验证和接受. 如前所述,硬件更改执行起来更加困难和昂贵. 对于产品经理来说,构思创新的解决方案是很常见的, 需要解决验收问题或通过考虑不能改变硬件的约束和在软件开发领域支持额外的迭代来调整值.

优秀的产品经理在预测硬件需求和优先考虑正确的可包含功能方面具有产品敏知度和强大的远见,从而使商业模式健全, 接受是可靠的, 用户喜欢使用这个产品. 考虑嵌入式软件, 硬件的“装饰”不应该令人惊讶, 因为它需要遵守规则和约束, 由硬件开发过程驱动, 认证程序, 生产的挑战, 以及市场接受度.

硬件开发需要管理敏捷性

敏捷已经在软件开发领域掀起了一股风暴,现在已经开始蔓延到硬件领域. 然而, 嵌入式软件开发硬件产品的条件带来了各种挑战:

  • 专业人才缺乏
  • 不适合硬件的版本控制系统
  • 本地化生产设施
  • 与软件相比,这些变化更难实现
  • 认证和法规要求会带来规划障碍

这些挑战使得像软件公司一样应用敏捷原则变得更加困难.

为了应对这些挑战, 需要一种管理敏捷的方法,以水-瀑布的形式出现. 嵌入式软件开发是按照标准的scrum过程创建的, 而其他步骤,比如构思, 创建规范, 测试是在瀑布式设置中实现的. 这使得硬件公司能够在保持一个功能性的产品管理方法的同时,获得敏捷所提供的回报,而这个方法必须考虑到上面列出的各种约束. 这种受管理的敏捷性方法为快速变化的市场条件和不断的技术改进提供了一种成功的前进方式.

了解基本知识

  • 敏捷可以用于硬件开发吗?

    敏捷硬件开发推荐使用water-scrum-fall方法. 嵌入式软件开发是按照标准的scrum过程创建的, 而其他步骤,比如构思, 创建规范, 测试是在瀑布式设置中实现的.

  • 硬件开发工程师是做什么的?

    硬件开发工程师负责实际创建和测试硬件组件,如电路板, 处理器, 存储设备等.

  • 软件工程和硬件工程的区别是什么?

    软件工程和硬件工程的主要区别在于物理元素. 软件工程师只处理计算机上的代码, 而硬件工程师则研究处理器等物理产品, 电路板, 或者存储设备.

  • 嵌入式系统是什么意思?

    嵌入式系统是在硬件产品中运行的软件组件. 它们被称为嵌入式,因为它们只适合在特定的硬件上运行.

聘请Toptal这方面的专家.
现在雇佣
克里斯蒂安·Ureche

克里斯蒂安·Ureche

验证专家 在产品管理方面
15 的经验

任、罗马尼亚

2019年5月22日成为会员

作者简介

christian拥有电子和电信学士学位,并在过去的10年里担任硬件产品的高级职位.

作者都是各自领域经过审查的专家,并撰写他们有经验的主题. 我们所有的内容都经过同行评审,并由同一领域的Toptal专家验证.

专业知识

世界级的文章,每周发一次.

输入您的电子邮件,即表示您同意我们的 隐私政策.

世界级的文章,每周发一次.

输入您的电子邮件,即表示您同意我们的 隐私政策.

欧博体育app下载

加入总冠军® 社区.