敏捷开发中的任务拆分法_在关键任务系统开发中使用敏捷的5个技巧

本文介绍了将敏捷方法应用于关键任务系统开发的5个技巧,包括敏捷治理、动态规划、测试驱动开发、渐进式发展和动态风险管理。这些技巧有助于提高系统的质量和可预测性,减少风险和成本。
摘要由CSDN通过智能技术生成

关键任务系统和敏捷开发

关键任务系统对人类安全有重大影响。 这些系统的故障成本可能非常高,不仅造成财务损失,有时还导致人身伤亡。 将敏捷方法应用到其严格而复杂的开发中,可以帮助防止失败,提高质量,提供更可预测的结果并减少上市时间和成本。 这里是可用于将敏捷应用于关键任务系统开发的5个技巧。

提示1:敏捷治理

敏捷治理是指使开发团队在一个环境中能够通过避免不必要的障碍来实现目标的环境,而这些障碍经常困扰着传统的开发工作。 这个想法是为您和您的团队确定目标以及如何实现目标的。 但是,最重要的步骤是真正做出决定,首先要管理项目。 然后,您需要了解要测量的内容,如何测量它以及如何对这些测量做出响应。

很多人管错事-容易衡量的事情。 敏捷并不容易。 这是关于成功地做事并避免失败的事。 您需要确定与成功定义相关的关键绩效指标(KPI),然后连续使用它们来监视质量和完整性。 一个KPI可以是项目速度 ,这不仅意味着要完成多少工作,而且还意味着有多少工作是有价值的。 拥有KPI之后,就可以使用它们来指导项目 。 因此,透明度和进度可见性至关重要。

提示2:动态规划

敏捷是系统和软件开发的严格,纪律严明的方法。 与瀑布方法一样,这需要计划。 但是,区别在于对于敏捷性而言,计划是动态的。 主要前提是:1)必须根据改进的项目知识不断调整计划; 2)您的计划只能与您当前拥有的信息深度一样详细。 敏捷治理提供了“实地真相”,您应该准备至少在每次迭代之后进行调整,但通常是每周甚至每天进行一次调整。 您将在进行过程中获得更多信息,这些信息应反馈到您的计划中。

我还建议采用两层方法进行动态规划。 第一层是一个总体计划,该计划大致基于一组四到六周的计划迭代,每个迭代都包括构建和对构建的立即测试。 第二层是用于每次迭代的更详细的计划,或者描述该月到一个半月内将要发生的事情。 在每次迭代的末尾,您将查看已完成的操作并将其与计划进行比较。 如果存在差异(即结果与计划不完全匹配),请返回并调整计划以反映实际情况。

提示3:测试驱动的开发

从完整的软件中删除缺陷需要花费大量的精力,而且成本很高。 实际上,研究表明,软件开发工作的60%通常花费在测试和缺陷消除上。 最好首先避免在产品中放置缺陷。 您可以通过测试驱动的开发来做到这一点。 通过测试驱动的开发,您将在编写软件的同时不断进行测试。 您使用20到60分钟的纳米周期,并且使用纳米周期的一半编写代码,而另一半进行测试以证明其有效。 您所做的项目类型决定了您的纳米周期。 例如,我在一个宇宙飞船上工作,其中纳米周期平均为20分钟。 结果是代码的质量更高,缺陷率更低,从而减少了项目结束时的测试成本。

另一个敏捷的最佳实践是使用持续集成将团队的工作聚集在一起,并通过使用所有组件的功能流程展示集成的正确性。 连续集成通常在整个项目中每天进行,尽管有些组织每周进行一次。 通常,越早发现缺陷或集成问题,修复的成本就越低,越容易。 在项目结束时,如果使用更独立的单独开发软件各个​​部分的传统方法,您将不会看到任何集成问题。 同样,避免缺陷总是比(后期)修复好。

秘诀4:渐进式发展

关键任务系统的项目从本质上来说既困难又复杂。 因此,处理这些问题的最佳方法就是鼓励我们处理生活中的大型项目的相同方法:将它们分解成较小的部分。 将您的系统构建为一系列的迭代(“冲刺”),每个迭代的周期为4到6周。

每次迭代都应该有一个任务说明。 目标是完成其任务,该任务侧重于要实现的需求(通常由用户故事或用例捕获),还包括要支持的平台,要包括的体系结构概念,要减轻的风险和要解决的现有缺陷。修复。 验证和确认测试在每次迭代结束时进行。

对于我的项目,在每次迭代结束时,我们也有所谓的“聚会阶段”。 有人将此称为事后验尸,但我认为这是对持续成功的庆祝,而不是确定失败原因的尸检。 我们查看任务说明书,确定完成任务的程度,并寻找改进流程的方法。 我们总是问我们能做得更好,更快,更有效的是什么?

提示5:动态风险管理

风险是您在项目中所不知道的所有事情。 根据我在300多个项目中的经验,忽略风险是关键任务系统项目失败的主要原因。 然而,组织很少进行任何形式的风险计划,而那些确实创建过一次计划然后再也没有考虑过的人。 这是灾难的秘诀。 在构建关键任务系统时,必须注意风险。 因此,您应该使用动态风险管理计划(也称为风险列表)来管理风险并经常进行更新

在风险列表或风险计划中,您确定风险是两个值的函数-您要避免的结果的严重性以及该结果的可能性。 这两个值(严重性和可能性)的乘积导致您可以跟踪风险的定量度量。 然后,您执行降低风险的活动,也称为“峰值”,这是降低风险的计划活动。 由于并非所有风险都足够严重或可能需要特别注意,因此仅针对高于阈值水平的风险创建风险缓解活动。 当风险足够高时,将计划风险缓解活动并将其变为计划活动。

结论

如果将敏捷方法正确地应用于关键任务系统的开发,则可以帮助防止代价高昂的故障。 敏捷方法还可以提高其质量,并减少应用它们的工作量。 他们提请注意风险,这些风险在被忽略时是导致失败的主要原因,并且免除了也会导致失败的静态弹道计划。 尽管工具不如方法重要,但IBM Rational软件工具(如Rational Team Concert,Rational DOORS,Rational Rhapsody,Rational Quality Manager等)以及Jazz可以帮助实现减少易出错流程所需的自动化和透明性。并改善计划。 加上敏捷最佳实践,例如在Harmony流程中发现的最佳实践,您将获得成功。


翻译自: https://www.ibm.com/developerworks/library/ag-agile-mission-critical-systems-development/index.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值