敏捷如何帮助您清除技术债务?

这篇文章是对我的演讲敏捷如何帮助您清除技术债务?2013年班加罗尔Scrum聚会上提出。 这是30分钟的简短演讲,因此想到了写一些详细阐述幻灯片想法的文章。

敏捷如何帮助您清除 Manu Pk 的技术债务

定义技术债务

根据Wikipedia的说法 ,“ 技术债务隐喻是指代码库中不良或不断发展的软件体系结构和软件开发所带来的最终结果 ”。 将技术债务与软件变更成本进行比较时,最容易理解。 更多的债务意味着在系统中进行更改的成本更高。

“技术债务”一词是由Ward Cunningham在1992年提出的。他使用该词向经理解释了他想做的特定重构。 由于他在金融业工作,因此很容易就债务问题进行沟通。 沃德在这里详细解释了这个隐喻。 该术语在向企业和利益相关者传达代码重构的重要性方面非常受欢迎。 像金融债务一样,技术债务有时是不可避免的,但我们应采取措施将其降至最低。

技术债务危机

如上图所示,当系统中存在技术债务时,您既可以支付利息也可以偿还本金。 当我们做常规故事时,由于技术上的欠缺,我们做的工作比理想情况下要多。 这是利息支付的示例。 重要的是,我们需要花一些时间和精力通过重构和清理代码来偿还该原理。

敏捷背景下的技术债务

敏捷原则列表中的以下原则是我能找到的最好的原则 ,它涉及清除技术债务“ 持续关注技术卓越和良好的设计可增强敏捷性 ”。 在敏捷项目中,工作软件非常受重视,但这绝不意味着软件的内在价值会受到损害。 随着我们寻求越来越多的功能,重要的是我们要花时间回顾一下应用程序的运行状况。 因此,请确保您的敏捷项目不会随着其增长而变得脆弱。

有很多方法可以处理技术债务。 我想谈谈我们在项目中尝试过的3个简单步骤。

1.工具–您必须防御

敏捷开发实践的主要改进之一是持续集成(CI)的广泛使用。 您的CI环境应配置为衡量应用程序的运行状况。 它应包括来自静态代码分析和测试覆盖率应用程序的报告。 SonarQube是一个上帝平台,您可以在其中创建仪表板并查看上述工具的结果。 它还具有查看技术债务的插件。 除工具外,您还应使用良好的编程习惯和准则。

2.与产品负责人协商

我们试图最大程度地减少技术债务的第二种技术是与产品所有者进行谈判,并让他参与我们想要做的技术改进。 您必须利用变更请求的机会来清理功能。 我们的应用程序中有一个模块,其中包含许多错误。 在该模块上计划了一个重大变更请求。 经过大量讨论,我们发现重建模块比解决问题要容易得多。 与原始代码相比,一旦我们重新构建变更请求,实施起来就容易了75%。

这意味着我们必须评估每个机会进行重构的可能性,并在适当时机进行重构。 沟通应用程序中技术债务的部门是开发人员的专业责任,我们应采取一切可能的步骤将其最小化。

我们还可以在发行计划中获得技术案例。 与用户故事相反,高级开发人员应描述故事的成功标准。 这是另外一种情况,您需要让产品所有者加入。

3.试用新的东西

在我们的项目中,大多数事情可以通过多种方式完成,我们必须选择其中一种。 在某些情况下,我们不确定所执行任务的复杂性,并且难以评估故事点。 我们可以使用秒杀来处理这种情况。 峰值是一项实验,它使开发人员能够充分了解用户故事中未知的内容(例如新技术),以便能够估计该用户故事。 尖峰脉冲必须有时间限制。 这定义了学习所花费的最长时间,并确定了峰值的估算值。

守护程序线程是在操作系统上运行的低优先级线程。 我们使用相同的策略对应用程序进行了重大更改。 它正在将我们的框架(Spring,Hibernate和Tapestry)升级到最新版本。 由于这是一项耗时的活动,因此我们不想停止其他所有工作。 因此,我们选择继续将其作为低优先级任务来完成,这花了我们10个冲刺。 由于团队在此期间不断交付功能,因此很容易从产品所有者那里获得购买。

有用的链接:
  1. 马丁·福勒的演讲
  2. 马丁·福勒(Martin Fowler)关于技术债务
  3. 敏捷架构的兴起或成败
  4. 使用尖峰
  5. 史蒂夫·麦康奈尔的演讲
  6. http://www.ontechnicaldebt.com
  7. 沃德解释债务隐喻

注意:有很多方法可以定义和最小化技术债务。 我已经讨论了我们成功尝试过的几种方法。 您可以通过上面的链接查找更多信息,然后选择适合您的最佳方法。


翻译自: https://www.javacodegeeks.com/2013/09/how-can-agile-help-you-in-clearing-the-technical-debt.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值