• Cams
  • Cal
  • Training
  • Agile-forum-2017-beijing
  • Agile-forum-2017-shanghai
  • Sip
  • Five
  • Arne
  • Jens
  • Jim-banner
  • 2015
为什么敏捷在嵌入式开发环境中很重要

为什么敏捷在嵌入式开发环境中很重要

2017-05-27 Bent Myllerup ShineScrum

Bent Myllerup
agile42 

通过引入敏捷方法(如Scrum),软件行业取得了很好的成绩。 敏捷方法创造的成果有利于客户以及企业管理者和员工。 结果已证明,敏捷方法可提高员工满意度,提升工作效率和更成功地开发满足客户需求的功能。 但是,可以将这些方法应用到包括电子和机械的产品开发项目中吗? 这些项目的性质,包括采购,原型制造等,与使用短时间迭代交付的方法并不完全一致。不管怎样,这个问题的答案实际上是:“是的”。 到目前为止,几个斯堪的纳维亚公司因在其产品开发部门实施Scrum而受益匪浅,我很荣幸能与他们众多公司合作。

在嵌入式环境中开始实施Scrum时,我通常会与Transition指导小组合作,为组织设计一个可行的布局。根据组织的规模和他们正开发的产品,布局要么是职能团队,功能团队,要么是两者混合型。大型组织倾向于职能团队,如纯硬件团队,纯机械团队和纯软件团队。就个人而言,我更倾向于功能团队,这也是我们在本地沙箱中使用的方法:屡获殊荣的丹麦音频设备公司TC Electronic,一直采用Scrum方法用于整个产品开发上,而不是仅将Scrum分别引入到软件或硬件开发中。 TC的Scrum团队真正具有跨职能,包括系统程序员,嵌入式开发人员,电子工程师,机械工程师,设计师和测试人员,他们大多也拥有演奏音乐家自己的领域知识。所以作为尊重跨学科工作而不是以孤立的学科工作。这些团队与相关业务经理及其产品负责人紧密合作。

这种方法为了解产品的客户和用户创造了良好基础,它支持集成和一致的解决方案开发,并消除了团队瓶颈。 这是因为每个员工都致力于最终目标(推出最终产品),而不是只关注与其职业相关的个人目标,因此尽管职业上存在最终差异,但她仍然需要填补超负荷同事的工作。

电子开发中的一些元素几乎与Scrum背后的原则相冲突。例如,PCB-spins和组件的采购通常是长期的活动,对短期和激烈的sprint构成重大挑战。如果功能块定义目标明确,sprint可能长达一个月,即使工程师们尽可能地完成电子PCB的全过程,PCB-spins也要超过6周周期。在硬件上实施Scrum时,存在一定的风险:与HW相关的积压项目将受困于sprit至sprint阶段或被瀑布式敏捷驱使。当尝试将PCB-spins映射到Scrum sprints时,无需为每个sprint定义特定目标,您可以轻松地淡化Scrum的影响。如果您将PCB的sprint目标定义为“阶段1”,“阶段2”,“阶段3”等,而不是“关键组件采购”,“原理图准备布局”,“平面布局完成”等。 这样,你会获得评估项目是否能到达里程碑的能力。结果:项目进度情况测量并不优与传统方法。依个人经验来看,这是嵌入式敏捷最常见的陷阱之一。

在硬件开发中挑战这种90% - 综合症的另一种方法是实施迭代实践,灵感来自于TDD硬件开发。 这里HW框图用作准备积压的驱动程序,定义完成和可视化进度。 这个概念是使潜在的每个sprint中可释放的电路块同时被集成到最终的PCB中。 

Scrum很容易理解,但很难实现。在嵌入式环境中实现Scrum并没有使它更容易。尽管困难重重,但它的好处远远超过了这些挑战,并帮助您的嵌入式开发组织执行并战胜您的市场竞争者。通过巧妙地实施适当的实践,组建和指导您的团队,加上切实可行的领导技能,敏捷会让您的公司走上成功大道。


我们提供嵌入式敏捷软件开发,Scrum及敏捷软件开发管理等内训课程


点击“阅读原文”获取更多课程信息及详细课程大纲。