结束功能安全性和敏捷软件之间的冲突

文章:Mark Pitchford

当谈到功能安全性和敏捷软件世界之间的对抗时,双方都有事实,既得利益者也提供了不太健康的帮助。

两只手在黑板上颤抖的粉笔画,象征着功能安全与敏捷之间的合作 有时间来电呼叫功能安全和敏捷软件开发之间的休战吗?

上世纪80年代初,我的第一份真正的软件工作是在一家生产计量设备的公司工作。当时,我并不认为自己是一名软件开发者;软件只是工程数学应用的一种可塑手段。

然后,经济实惠的计算能力刚刚开始使事情成为可能。由我所知道的最有能力的全圆工程师领导,我们开发了一种能够准确测量铺设最大工程部件的平面,线,圆形,球体和锥体的套餐。认为活塞发动机缸盖,你会得到这个想法。

然后我们开始推动边界。涉及没有由基本几何形状组成的组件呢?位于英格兰的德比,航空航天工程的温床,当天的燃烧问题有关您可能在坐标测量机上测量涡轮机叶片。涡轮叶片是非常昂贵的部件的,并且在耐空中制造一个是废料的,并且可以在容差内工作是绝不是直观的过程。解决难题,我们在我们的门口上有一个准备好的国际知名的客户。

这是一项挑战,长期以来已经解决了,而是当时,我们正在推动界限。有很多头脑风暴,很多审判和错误。逐渐尝试想法,建立在成功的想法中,经过许多错误的黎明,最终实现了一些工作的东西,至少大部分时间。然后?我们把它寄出了门。

富萨的崛起

快进40年,正如我写这一点,我为一家帮助他人遵守功能安全(FUSA)标准的公司工作。其中大多数标准要求“首先要求首先,代码”方法是至关重要的。有很好的理由。一旦我们的计量软件被发送给客户,随后会随着时间的推移出席毛刺和虫子的广泛支持。

这是可以容忍的,因为它是开创性的东西,但如果软件一直控制着它所测量的引擎,那么就不可能有第二次机会把软件弄对而不产生灾难性的后果。长期以来,客运航空在安全方面一直享有令人羡慕的声誉,这在很大程度上归因于其严格遵守各种形式的DO-178。妥协,你就是在玩火,因为你的经历波音737-MAX将作证。

最近,在安全关键部门中推出了相同的原则。我们将IEC 61508作为通用标准,适用于自己右侧的电子控制设备。并且已经开始了几种特定的工业特定的变体,包括汽车行业的ISO 26262和IEC 62304,用于医疗器械开发。

和痛苦的兴趣

然而,还有另一种思想流派。敏捷软件开发的宣言由其创始人之一Scott Ambler阐述如下:

  • 工具和过程很重要,但更重要的是让有能力的人有效地一起工作。
  • 好的文档有助于人们理解软件是如何构建的以及如何使用它,但是开发的重点是创建软件,而不是文档。
  • 合同很重要,但不能替代与客户密切合作以发现他们需要的东西。
  • 项目计划很重要,但它不能太硬,以适应技术或环境的变化,利益相关者的优先事项,以及人们对问题的理解及其解决方案。

这些都是简单的原则,从表面上看,更符合我们的计量软件的发展。但它们并不符合FuSa标准的原则。他们没有防范我们在20世纪80年代目睹的广泛客户支持时期,这也意味着FuSa没有明显的适合度。

此外,这些原则的缩略语和改编已经发展得像Topsy一样,正如项目管理协会的术语表所暗示的那样。一开始只是一套简单的原则,现在已经变得更大、更华丽,批评者认为,周边的基础设施正变得比原则本身更重要。

您是否有难忘的经验在工作或业余时间解决工程问题?告诉我们你的故事

虚假的二分法

与大多数此类对抗一样,双方都有真理,既得利益者的帮助则不那么有益。一方面,FuSa专家已经投入了大量的时间和精力在标准的开发上,这些标准遵循相同的咒语:需求第一,需求为中心,需求总是。

另一方面,事实是,FuSa的标准对软件可以是智力模型粘土的想法付出的只是口头服务;这是一种尝试、失败、改进和磨练想法的媒介,这些想法具有可塑性和交互性,是需求编写永远无法企及的。敏捷开发更紧密地支持这一原则。

这些事情不必相互排斥。这就是既得利益似乎占据主导地位的地方。如果你参加过委员会,发表过学术论文,并且在功能安全性和敏捷之间的争论中成为一个世界知名的专家,那么你可能会倾向于挑战一个看似相反的立场。然后就演变成了骂人,像“脆弱”这样幼稚的绰号成了流行用语。把我的豌豆枪递给我,否则我就扯你的头发……

让我们退后一步。假设这两个论点都有一定的道理。忘掉敏捷及其令人困惑的术语吧;只要考虑迭代过程如何适合FuSa环境,而不否认创新思想的东西,更自由,更有创造性的态度产生的软件。

现在回想一下计量软件。如果在每个开发周期中,我们没有简单地构建在每个测试骡子上来开发下一步会怎样?相反,如果我们根据我们在创造阶段发现的原则来定义需求呢?如果我们已经开发了软件需求,并重新编写软件以满足它们,并强调软件的质量,而不是仅仅使某些东西工作,那会怎么样呢?然后才开始再次“演奏”,这一次是基于坚实的基础?

/ wp-content/uploads/sites/3/2021/04/tales-button.png. 我们还有创新的解决方案。直观地,它可能觉得它需要更长时间,但销售售后支持的时间肯定会超过抵消。更具不稳定的是,软件是发动机控制器,同样的原则可能产生创新和富萨。

这不提供足够的承诺,旨在提示挥舞着和反对功能安全和敏捷可能更好地放在一方面的干草叉和火炬?

本文最初发表于edn.

马克Pitchford他是LDRA Software Technology的技术专家,曾与开发团队合作,希望在安全和安全关键环境中实现兼容的软件开发。

相关文章:

留下你的评论