软件智能在敏捷开发中的应用

Posted CAST

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件智能在敏捷开发中的应用相关的知识,希望对你有一定的参考价值。




在软件开发人员、商务人员、客户之间,有一个共识——“敏捷开发能带来更好的业务产出成果。

而另一方面的“DevOps”虽然也有很好的产出效益,但由于其技术复杂性,DevOps很难被非技术人员认知并理解。非违规代码管理、持续集成、自动开源库扫描、通过存储实现的软件定义网络、环境计算为代码等等……这些问题可能会让IT管理层和技术人员产生这样的想法——做成一个用户友好的移动app客户端,工程量不小。然而要使企业的软件价值链真正发挥价值,那么这些问题是必须被解决的。

除了以上问题,把控产品质量的产品团队也可能会对DevOps产生抗拒情绪:开发团队与产品团队之间的相互独立,组织采用ITIL(信息技术基础构架库),以便有效控制流程,这一实践已实施数十年,并广泛应用于IT组织中。众多企业的构建采用了单一垂直的应用系统,相互独立的技术团队和ITIL实践也是依据单一垂直应用系统来设计的。


现在要在宽松耦合的架构中,结合服务建立客户体验,这与单一垂直的应用系统相对立,因此产品测试及软件团队的反馈环路变得至关重要。所以成功的关键点在于产品团队既要更快地完成交付,也要更安全地交付实施。


一些代码扫描工具和开发支持工具采用单纯以开发人员为中心的办法,允许不同技术团队之间高度自定义操作。这种灵活性是这些工具的一个卖点。但是当一个产品环境面对多个软件团队的时候,如何确保这些工具能有效地帮助建立一个满足全面运行需求的软件呢?不仅如此,如果这些工具没有处理复杂软件安全规则和技术负债的能力,那么是否会给软件未来变更性造成更多的风险和成本?这些疑问超越了产品运行本身,是企业级别的管理团队需要处理的软件质量问题。


对于这些信任危机的疑问,“软件智能”提供了一套解决方案。软件智能的本质是在不同团队间采用统一的衡量标准,可用于评估技术负债——包括代码设计、软件安全缺陷、是否使用经过验证的库、“输入-转化-产出”标准功能点等。可能有一些软件开发的纯化论者认为这种要求过于严格,但笔者认为要满足利益相关者的本质需求,不得不在系统中执行这种严格的要求。


采用软件智能后,敏捷团队毫无疑问展示出其价值——对比以前,同一笔投资可以产出更多的功能点。软件智能设置了每一评估项的分数及格线,同时设置总分及格线。产品团队及管理层可以监控不同指标间的关系和生产事故,了解团队人员变动情况,随时间设置改进目标,还可以向领导层展示其安全得分,用数据证明企业的安全风险程度。通过这些评估手段与参数,软件智能不仅能显示软件开发速度的改进过程,还能清晰体现功能交付、质量和安全的全面演化过程,从而解决了敏捷+DevOps的道路上的信任危机。


如果您的团队在敏捷开发的实践过程中,面临着IT人员、组织、企业级别的支持问题,那么是时候考虑采用软件智能来处理这些现实挑战了。



了解更多关于CAST, 

请访问:www.castsoftware.cn



以上是关于软件智能在敏捷开发中的应用的主要内容,如果未能解决你的问题,请参考以下文章

敏捷宣言

敏捷开发(Agile)在硬件中的应用

1.3敏捷宣言与敏捷过程的特点

敏捷开发框架的优势

敏捷开发框架的优势

敏捷管理如何推广和应用敏捷开发管理模式