投稿邮箱

digitcw@163.com

您的位置:首页 > 产业观察 >
如何更快更好地开发出符合用户需求的软件
作者:赵法彬   添加时间:2022-08-10
风河(WindRiver)公司的JeffGowan在本文进行了回答。

(文/赵法彬)一个软件从零开始到最终交付,大概包括规划、编码、构建、测试、发布、部署和维护几个阶段。随着软件产业的日益发展壮大,软件的规模也在逐渐变得庞大,加之用户对软件系统的需求不断增加,留给软件开发的时间周期却越来越少。那么,如何才能更快更好地开发出符合用户需求的软件呢?

QQ截图20220810085624.jpg


采用DevOps非常有益

软件开发企业如何协调所有成员才能步调一致并以最快的速度交付高质量的软件呢?风河(Wind River)公司的Jeff Gowan认为,采用DevOps非常有益,而且应用越好收益越多!

为了按时交付软件产品和服务,软件行业日益清晰地认识到:开发和运维工作必须紧密合作,DevOps由此应运而生。DevOps(Development和Operations的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。它是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。透过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。

根据Google DORA(DevOps、Research与Assessment)团队最新的《DevOps现状》报告,在DevOps方面成效不佳的团队很少能够在6个月内将软件投入生产运营。即便他们做到了,也会有16%-30%的失败率,而且他们很可能需要长达6个月的前导时间来让代码投入生产运营。就算变更不那么频繁,但某些事情发生变更带来的风险相对较高,而下一次更新可能又需要6个月的时间。与此相比,精英团队的部署频率要高出973倍(基本上可以每天都可以根据需要进行多次更新),从提交到部署的交付周期要快6570倍,从故障中恢复的时间更快,其变更失败的可能性要低30%。另外,根据IT软件质量联盟(CISQ,Consortium for IT Software Quality)2018年发布的报告,美国劣质软件的总成本为2.84万亿美元。平均而言,每个失败项目的成本大约是5000万美元。

Jeff Gowan认为,当考虑如何确定ROI的时候,或者为DevOps的投资寻找理由时,需要首先搞清楚哪些指标可以衡量,哪些指标不可以衡量。他解释说,大多数企业都可以确定解决客户报告的一个缺陷需要多少钱,如果可以将缺陷的数量减少5%-10%,这就是一个可衡量的价值。有些好处却很难衡量,但可能会随着时间的推移而改变,值得追踪。企业商誉就是一个很好的例子。企业商誉是否因为质量提高或其他市场因素而提高?但如果追踪指标的变化,就可以分辨出正面或负面的趋势。商誉对销售有影响,如果可以获得这些数据,它就可以让趋势显现出来。因此,改善底线成本节约就成为一种明显的结论。另外有些指标不易测量但的确能给企业增加利润。

QQ截图20220810085524.jpg


模拟仿真实现测试自动化

Jeff Gowan说,既然软件企业已经明确了自己想要达成的目标,并且相信改进DevOps将帮助企业实现这些目标,但是如果从事智能边缘开发,那么硬件就会成为关键问题,而模拟仿真可以解决这些问题。

硬件可能造成问题的四种方式。Jeff Gowan分析说,一是开发生命周期瓶颈。设计团队正在设计的设备或系统最适合采用的处理器/操作系统组合中包含还没有上市的硬件部件,或者这些硬件虽然已经上市但成本太高,无法让每个团队成员都同时使用。也许可以得到相似的代用品,勉强满足正在开发的系统。然而,许多客户都是制造关键应用设备,绝对不能允许“凑合”的!

二是精度与速度。应用场景对仿真模型的精度有着特定的要求。如果想对自己的设计进行微调,或者围绕自己的解决方案用实际设备和外围设备来构建复杂的逻辑,并尽早开始测试,那么在开发早期就拥有一套高度逼真的模型,并将其集成到DevOps流水线中,这才是更好的选择。通过更清晰的描述,可以在测试中获得更高的准确性,并对结果有更强的信心。最终的底线是,DevOps流水线中的仿真模拟越精确,企业对代码的信心就越高,企业的软件发布准备也会更加完备。并且在实际认证之前的测试中使用模拟仿真工具,以更高的置信度、更快的速度为认证做好准备。

三是无损测试。通过使用模拟仿真工具,可以扩展DevOps实践的价值,从而加快认证速度,同时大幅削减硬件实验室的成本。通过采用预先模拟技术,几乎可以对无穷无尽的场景组合进行测试,测试的次数也几乎是无穷无尽。企业不需要更换硬件、重新布线或重新配置,只需直接点击重置、修改测试场景,然后再次执行即可,甚至可以在夜间将其设置为自动运行,然后在第二天早上登录观察运行结果。

四是一台还是多台设备。模拟仿真技术允许使用任意多个设备来设置完整的环境,不受任何限制——无论是一台设备还是1000台设备。一旦设置了环境,就可以很容易地添加其他设备并根据需要修改配置。如果要测试新的配置或变量,也没有问题。想要返回到原始配置吗?这非常容易!无需到隔壁房间去弄清楚哪根电线连接到哪台设备。而且,通过对所有模型进行模拟仿真,可以更加频繁地进行测试,这将提高测试的信心,进而提高产品的质量。

采用Simics Simulation可以立即开始工作,而且从一开始就采用高精度模型。企业无需等待供应商提供硬件,也免除了工程师因为没有硬件而等待的时间。从一开始就采用高精度模型,让企业在项目截止日期前有足够的时间运行所需的全部测试。让这些测试实现自动化,每项更改都会直接反馈到您的DevOps流水线中,从而允许企业根据需要随时进行部署。如果一个模拟模型被破坏了,只需按下按钮,就会立即重新创建起来。更有意义的是,可以自动设置并再次运行,这样就可以直接查看结果。需要测试网络吗?添加任意数量的组件,这基本上是复制粘贴之类的简单操作。根据应用场景,企业甚至可以连接到其他网络或物理设备,并将其包括在测试工作中。