10 个久经考验的敏捷开发技巧

已发表: 2020-05-04

大多数人会认为编程和软件开发是一种孤独的追求,计算机书呆子躲在房间里,敲打数百万行代码,但这远非事实。 真正的软件开发是一项重要的集体工作,需要具有不同专业知识的开发人员团队共同努力,开发出功能强大、易于使用且包含正确功能的软件。

让开发团队在整个开发周期中保持一致意味着遵循可以最好地促进该过程的模型。 多年来,有不少类似 Waterfall、Spiral、V-model 等的名称说明了软件是如何开发的,从概念到成品再到维护。

敏捷开发海报
图片来源:Adam Weisbart 的敏捷宣言海报。

现在许多大型开发人员所采用的过程就是所谓的敏捷,以其适应性和不断进化的核心原则命名。 基于所谓的敏捷宣言,由一小群经验丰富的开发人员编写。

他们将协作视为开发的核心支柱,需求和解决方案都可以从中发展。 敏捷开发需要很长时间才能掌握,但这里有十个技巧可以帮助你。

为您的开发人员和测试人员提供出色的硬件

虽然可以使用笔记本电脑进行编码,但最好使用不仅仅是充足的设备来开发您的软件。 对于测试人员来说,拥有高质量的机器来完成他们的工作也同样重要,因为无论性能问题如何,您都希望看到出现的错误和故障。

但是程序员真正想要的是多台显示器有尽可能多的屏幕空间来编写他们的代码。 好的键盘也是一大推动力,因为输入代码是他们的生计,机械键盘既耐用又适合打字(至少那些带有触觉开关的键盘)。

关注结果

从来不在于谁的想法是正确的,而在于提出正确的想法。 最终,方向来自高层管理,不像早期的敏捷,它是自下而上的。 这被认为是最好的流程,因为高层可以专注于监督和管理项目,而开发人员可以专注于他们的工作,同时遵循上级管理层设定的参数和界限。

敏捷开发团队开发人员

由于这种自上而下的管理模式,开发团队有望产生具体和可衡量的结果。 他们必须能够展示他们的工作,不仅仅是在代码中,而是有一些实际按预期工作的东西。 然后通过测试驱动开发 (TDD) 将其置于振铃之下,该过程在敏捷开发中发挥着重要作用。

首先实施持续交付

基本上,保持它来。 这可以确保开发以恒定的速度实现,并且开发人员能够及早且经常地获得反馈。 持续的沟通和反馈是敏捷开发的全部内容,让团队在需要时适应突然的变化和意外情况。 这就是“构建”的用武之地。

构建基本上是正在开发的软件的可用版本。 通过持续交付 (CD) 的概念,必须频繁部署连续构建,每个构建都是在从先前构建的反馈中提取的改进和修复之后发布的。

获得高层管理人员的赞助

虽然敏捷开发采用自上而下的方法,但在实施或更改某些内容之前等待高层管理人员的同意可能会相当耗时。

敏捷开发团队开发人员

如果做错了,这可能只会导致浪费大量时间来等待获得许可。 一个好的解决方案是让一位发言人能够更快地将这种担忧从开发人员传递到权威机构,最好是一位善于提出想法并且能够理解所要求的内容的人。

转向更短的开发和测试周期

开发地狱遍及许多软件,包括主要软件。 有时,较长的开发周期会导致最终被用户拒绝的功能,这使得整个周期成为公司可能无法立即恢复的时间和金钱的巨大浪费。 缓解这些威胁的一个好方法是缩短开发和测试周期。

由于敏捷开发就是让事情尽可能快地进行,包括反馈的涌入,因此缩短开发周期以提出“最小可行产品”非常重要。 这为用户提供了一些可以深入了解的内容并能够相应地提供反馈,然后可以在下一个版本中解决这些问题。

从第一天开始实现自动化

也称为 AD1,这是一个崇高的目标,如果您尽快完成所有设置,绝对可以让事情进展得更快。 实际上,如果你做得好,你也许可以在第二年或第三年将所有事情自动化,但至少你应该尽可能在第一天完成它。

敏捷开发团队开发人员

如果您仔细考虑的话,它可以节省时间,甚至可以挽救生命。 使简单的流程自动化可以真正帮助开发人员和其他成员不必处理不必要的忙碌工作。

有效团队比例

俗话说:“厨多烂汤”。 虽然团队中的成员太少会使工作更加困难,但拥有太多成员可能同样糟糕。 由于您必须支付费用,因此在项目中拥有太多资金也是一个很大的损失。 因此,考虑项目和团队本身的需求以及给定的时间框架和许多其他因素至关重要。

敏捷开发团队开发人员

计划未解决的问题

团队可以尝试解决每一个问题,但总会有一些问题漏掉和/或最终成为未解决的问题。 这是通过在下一个开发周期中解决这些未解决的问题来解决的。

寻求反馈

这一点怎么强调都不过分——反馈是敏捷开发的命脉。 可以帮助软件发展的是数据,开发人员和高层管理人员必须至少注意当前和长期最紧迫的数据。

评估您的流程

这就是开发演变的来源,因为您不仅要评估正在开发的软件,还要评估您的开发过程。 您可以微调的东西太多了,但是您必须确定哪些可以在给定的时间范围内对当前项目和未来的项目产生最佳结果。