嵌入式开发:如何在嵌入式市场中平衡敏捷

news2024/11/19 21:24:54

  敏捷方法的好处是有据可查的,但是在遵从驱动的市场中,向敏捷过渡对于嵌入式开发团队来说是一个挑战。需要可追溯性和文档来证明遵从性,但是这可能与敏捷的精神相矛盾,敏捷的精神仍然受到伴随着方法论成长起来的不准确神话的困扰。事实上,只要采用正确的方法和工具策略,敏捷和遵从可以舒适地共存,没有太多的妥协。最重要的是可追溯性,在这个上下文中,这意味着将需求与测试运行和解决的问题联系起来。有了可靠的可追溯性,您不仅可以提供满足审计需求所需的证据,还可以支持更好的透明度和跨团队的跟踪,这也有助于协作。

  一个好的起点是定义敏捷开发的含义,因为这个术语虽然广为人知,但却经常被误解。在最简单的层面上,敏捷是一种松散的方法,基于对客户需求、跨职能团队协作和响应变化的关注(与严格遵循记录的计划和时间表相反)。许多嵌入式开发方法,包括一些最近的混合方法,都在敏捷的保护伞下,包括:Scrum、Kanban、Scrumban、Kanplan和扩展敏捷框架(SAFe)。

  敏捷神话

  不管哪种风格的敏捷,都有一些常见的误解,例如,敏捷缺乏结构或控制,或者需要在质量上有所取舍。这两个神话都不是真的:结构、控制和质量保证都可以构建到敏捷过程中。

  另一个错误的认知是敏捷在受监管的行业不起作用。然而,Perforce自己在2018年对医疗设备开发市场(无疑是所有市场中监管最严格的市场之一)的调查发现,超过三分之一的受访者当时已经转向敏捷。有趣的是,我们越来越多地从处于严格监管环境中的公司那里听到他们已经——或者即将——拥抱敏捷。

  那么,这些公司是如何运作的呢?这是一个嵌入式开发团队如何在敏捷框架上执行的问题,不管他们使用哪种敏捷方法,可追溯性都是关键。有了可靠的可追溯性,组织可以使用几乎任何他们想要的过程来交付。

  可追溯性

  可追溯性有助于回答这样一个问题,“如果某件事发生了变化,还有什么会受到影响?”重要的是,可追溯性可以用向后和向前追溯来定义。向后可追溯性是检查上游需求是否证明了设计或构建的合理性。向前可追溯性是检查在生命周期的后期阶段所需要的东西是否得到了解决。

  这里有一个例子。在敏捷开发中,尤其是Scrum,工作项目被分解成更小的部分,并在固定的时间框架内完成,称为冲刺或迭代。这意味着管理人员必须确保每个工作项目(及其更小的部分)都有适当的测试覆盖。这种可追溯性要求从项目一开始就明确定义“父”和“子”项目之间的结构,换句话说,就是不同元素之间的关系和影响。这种工作的最终结果——在嵌入式开发的所有阶段勤奋地完成——是一个跟踪矩阵,它允许组织理解哪些需求、测试和问题是相关的。这种跟踪矩阵提供了一种简单的方法来进行向前和向后的影响分析,并最终提供现成的责任。有了这种结构和数据,决策者可以在变化发生之前了解变化的影响,并管理和减轻风险,而不管使用什么交付方法或流程。虽然从前追溯矩阵是手工创建的——例如,在Excel电子表格中——但是这些手工方法并不适合今天复杂的软件环境。结果,越来越多的组织使用他们的ALM工具来自动化这个过程。

  人们需要工具

  敏捷从根本上是关于人的,但是,考虑到工具扮演着重要的支持角色,确保工具的复杂性不会阻碍可追溯性是至关重要的。例如,如果需求存储在Word文档中,问题在Atlassian的Jira中跟踪,代码存储在Git或其他系统中,如SVN或微软TFS,跟踪和追踪是分散的,因此风险增加。类似地,如果这些团队正在实现不同的项目管理方法,每个都有不同的标准、过程或者控制,那么这样的可追溯性可能很难实现。

  对于希望在不增加风险的情况下实现一定程度的敏捷性的嵌入式开发人员来说,合适的工具可以消除或至少减少进入的障碍。例如,应用生命周期管理(ALM)工具可以与Atlassian的JIRA集成,以提供端到端的可追溯性、测试和需求管理,同时还提供合规报告和审计所需的数据。

  过渡到敏捷——最佳实践

  首先是需要高管的支持。像任何其他主要的组织计划一样,如果没有高层的全力支持,敏捷将无法通过不可避免的阻碍和障碍。

  其次,敏捷最好从团队层面开始。通过定位错误的步骤,组织既可以降低风险,又可以更容易获得成功。在团队一级吸取的经验教训可以推广到部门一级,然后在适用的情况下应用于整个组织。

  第三,作为产品化一部分的团队必须有一个清晰的过程和共享的术语。例如,需求是以用户故事的形式编写的,还是两者混合使用?评估是以天、小时还是故事点来衡量的?角色需要重新定义吗,例如,业务分析师需要被训练成Scrum大师吗?这些问题(以及更多的问题)应该在嵌入式开发早期得到处理和解决,这样高管、经理和团队才能说同一种语言,从而能够在迷失方向的时候充分沟通。

  当然,还有无数的其他考虑要做,其中许多是无法计划的,所以只能在出现时解决。虽然这已经成为老生常谈,但必须认识到唯一不变的是变化。

  所有这些都必须在法规和合规性的背景下进行,在许多行业中,法规和合规性还在不断发展。这些组织的未来很难预测,但合规性是日常业务生活中越来越重要的一部分,无论是确保道路上汽车的安全、帮助患者护理的设备,还是使物联网成为一个更加可靠和安全的运营环境。与此同时,敏捷方法的速度和灵活性——不管它是否有正式的标签——正被各种组织积极地用来创造竞争优势。在一个敏捷需要与合规共存的世界里,知道这是最有可能的是很好的,只要用正确的文化、嵌入式开发工具和过程来解决,所有这些都由可追溯性来支撑。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/194656.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

创建者模式—原型模式(深克隆和浅克隆的区别)

目录 1.原型模式 1.1概念 1.2结构 1.3实现 1.4案例 1.5深克隆(扩展) 2.浅克隆和深克隆 2.1克隆的特点 2.2浅克隆和深克隆的区别 1.原型模式 1.1概念 用一个已经创建的实例作为原型,通过复制该原型对象来创建一个和原型对象相同的新对…

【分布式任务调度】XXL-JOB快速搭建教程

XXL-JOB1. XXL-JOB简介2. XXL-JOB搭建2.1 准备工作2.1.1 下载源码2.1.2 数据库准备 数据库脚本在doc路径下,将其执行之后可以创建一个数据库,如图3所示:2.2 搭建调度中心2.3 搭建“执行器”3. 测试3.1 新增执行器3.2 新增任务3.3 启动任务测试…

【工作笔记0036】C#中Decimal小数取整容易犯错的坑

这两天排查一个bug,数据库中同样的计算公式 和 C#代码中一毛一样的计算公式,最后结果为 Decimal 类型的小数,需求保留两位小数。但是结果是数据库中 和 代码中的结果总是对不上。整理并简化了一下项目中代码计算公式:decimal a 3…

vitest第一章(初始vitest)

从三个角度分析vitest 他能做什么? 为什么要使用他? 使用它的优势是什么? vitest官网cn.vitest.dev/ 1.vitest能做什么 从官网介绍说这是一个单元测试框架,大家听到有测试两个字觉得这个是测试同学写的东西,其实这个…

低版本浏览器(webview)空数据音频文件异常报错

问题背景 监控出现大量静态资源加载异常报警,ios和安卓各系统版本都有(排查了一段时间,发现是QA同学在全量测试,无语凝噎)QA测试反馈,报告页在收音失败的情况稳定复现播放音频失败(确实有问题&…

Qos实验配置-CBQ方式

目录 对报文进行重标记 对数据报文进行流量监管-接口入方向 将报文加入相应队列 为语音业务配置丢弃策略 配置流量整形-接口出方向 QoS理论讲解_静下心来敲木鱼的博客-CSDN博客_qos 优先级映射https://blog.csdn.net/m0_49864110/article/details/127414766?ops_request_…

MATLAB 绘制数据图

✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。 🍎个人主页:小嗷犬的个人主页 🍊个人网站:小嗷犬的技术小站 🥭个人信条:为天地立心&…

python中的socket套接字基础 (客户端服务器信息交互)

文章目录1 socket概述2 socket使用2.1 socket常用函数2.2 简单实现 客户端与服务器 信息交互2.3 多线程实现服务器和客户端信息交互1 socket概述 Python中,我们利用Socket套接字来实现网络通信,可以说套接字是实现网络编程进行数据传输的一种技术手段。S…

UNIX环境高级编程_文件IO_共享文件操作

这篇笔记记录下,多进程(包括父子进程)操作同一个文件,或者同一个文件被同一个进程多次打开时的情况,总是傻傻分不清,必须记录一下了。 1 文件IO_共享文件 分下面四种情况记录。 情况1:同一进程多次open同一个文件 …

SAP MESSAGE :000 消息提示「BUG」

SAP MESSAGE :000 消息提示 错误消息 问题分析 前言&#xff1a;这个问题 DEBUG 模式没有抓到&#xff0c;所以才有了下文&#xff1a; 这是迁移程序时会出现的问题&#xff0c;参见下面的图片&#xff1a; 在迁移前&#xff0c;MATNR 转码 FUNC 就没有规范书写 sy-subrc <…

第十三章 常用类(包装类和String 相关类)

一、包装类 1. 包装类的分类 &#xff08;1&#xff09;针对八种基本数据类型相应的引用类型—包装类 &#xff08;2&#xff09;有了类的特点&#xff0c;就可以调用类中的方法。 2. 包装类和基本数据的转换 &#xff08;1&#xff09;jdk5 前的手动装箱和拆箱方式 public cl…

好友靠JVM成功进入阿里,阿里P8力荐的JVM笔记到底有什么魔力?

大家都是有经验的Java开发人员&#xff0c;想想为何要学习JVM? [面试?调优?装逼? ] 不管出于何种原因&#xff0c;总之你得先学好。那怎么学好呢? 每个人对于JVM的了解可能不一样&#xff0c;这就要考虑到怎么切入 既然大家都学习过Java&#xff0c;那不妨就从Java开始…

数据分析思维(四)|分类/矩阵思维

分类与矩阵思维 1、概念 在进行数据分析工作时&#xff0c;我们往往会涉及到多个核心指标&#xff0c;而对于不同数值核心指标的结合又会产生多种不同的结果&#xff0c;我们将相似结果的内容放到一起进行统一决策就会大大节省数据分析的时间&#xff0c;这种思想我们称之为分…

[python入门㊲] - python的继承

目录 ❤ 什么是继承 ❤ 派生和继承 ❤ 单继承 ❤ 多继承 ❤ MRO[方法搜索顺序](多继承顺序) ❤ 新式类和旧式&#xff08;经典&#xff09;类 ❤ 什么是继承 通过继承基类来得到基类的功能 所以我们把被继承的类称作父类或基类&#xff0c;继承者被称作子类 可…

注册外贸公司需要注意的问题

关于注册海外公司需要注意事项&#xff0c;米贸搜以美国为例&#xff0c;整理以下信息&#xff0c;希望可以帮助到你一、注册美国公司注意事项&#xff1a;1、拟定要注册的美国公司名称三个&#xff08;英文&#xff09;&#xff0c;核名如无重复则可使用&#xff1b;2、美国公…

matlab机电耦合系统相位分岔图

1、内容简介略638-可以交流、咨询、答疑2、内容说明略3、仿真分析clcclose allclear%% parameterglobal CC 48;tspan [0 5]; % 仿真时间x0 [0.1 0.1 0.1 0.1]; % 变量初始值[T,X] ode45(model_diff, tspan, x0); % 调用求解器X3_dot [0;diff(X(:,3))./diff(T)]; % 求解x3的…

【已解决】SpringCloudConfig客户端启动无法读取到配置参数

自己部署了一个Spring Cloud微服务项目&#xff0c;实践Spring Cloud Config分布式配置组件&#xff0c;按照Spring Cloud Config 资料Config&#xff1a;Spring Cloud分布式配置组件 先后创建了Eureka注册中心服务、 Spring Cloud Config Server服务、 Spring Cloud Config Cl…

极客星球 | Elasticsearch入门与实战技术分享

为持续夯实MobTech袤博科技的数智技术创新能力和技术布道能力&#xff0c;本期极客星球邀请了MobTech企业服务研发部工程师勤佳&#xff0c;从Elasticsearch集群安装、DSL语句讲解、深度分页、IK分词器、滚动索引等方面进行了阐述和分享。 一、集群环境安装 elasticsearch 是…

节后转岗“浪潮”来了!瞅准“趋势向上”的行业!

“跨行跨岗人员&#xff0c;怎么能顺利转行&#xff1f;”的话题一直存在&#xff01;成功人士给出一条转岗转行的原则&#xff1a;迁移到技能相近但趋势向上的岗位。那么&#xff0c;什么叫“技能相近”和“趋势向上”呢&#xff1f;让我们来看看。趋势向上除了技能相近&#…

现阶段元宇宙经常偏离原有的发展轨道,使其失去该有的功能和意义

人们总是会自然地陷入到约定俗成的俗套之中。对于元宇宙&#xff0c;同样未能免俗。即使是那些处于头部的玩家&#xff0c;亦不例外。比如&#xff0c;扎克伯格就仅仅只是将元宇宙看成了一个将脸书带离泥潭的工具&#xff0c;一味地迎合资本&#xff0c;而最终忽略了元宇宙最本…