自适应软件开发 - 生命周期


自适应软件开发是从 RAD 实践发展而来的。这些实践中还添加了团队方面的内容。从新西兰到加拿大的公司,针对各种项目和产品类型,都使用了自适应软件开发。

Jim Highsmith 于 2000 年出版了《自适应软件开发》。

自适应软件开发实践提供了适应变化的能力,并且能够适应动荡的环境,产品在几乎不需要规划和学习的情况下不断发展。

ASD 生命周期的各个阶段

自适应软件开发与进化模型一样是循环的,其阶段名称反映了复杂系统中的不可预测性。自适应开发生命周期的阶段是 -

  • 推测
  • 合作
  • 学习

这三个阶段反映了自适应软件开发的动态本质。适应性发展明确地用涌现取代了决定论。它不仅仅是生命周期的改变,而是管理风格的更深层次的改变。自适应软件开发具有动态的推测-协作-学习生命周期。

自适应软件开发生命周期注重结果,而不是任务,结果被识别为应用程序功能。

自适应软件开发生命周期

推测

计划这个术语过于确定性,表明对期望结果具有相当高的确定性。遵守计划的隐性和显性目标限制了经理引导项目朝创新方向发展的能力。

在自适应软件开发中,术语计划被术语推测所取代。在猜测的同时,团队并没有放弃计划,而是承认复杂问题中存在不确定性的现实。推测鼓励探索和实验。鼓励短周期的迭代。

合作

复杂的应用程序不是构建出来的,而是不断发展的。复杂的应用程序需要收集、分析大量信息并将其应用于解决问题。动荡的环境具有很高的信息流动率。因此,复杂的应用程序需要收集、分析大量信息并将其应用于解决问题。这导致了只能通过团队协作来处理的多样化知识需求。

协作需要共同努力产生结果、分享知识或做出决策的能力。

在项目管理的背景下,协作描绘了传统管理技术的管理与创建和维护涌现所需的协作环境之间的平衡。

学习

生命周期的学习部分对于项目的成功至关重要。团队必须不断增强他们的知识,使用诸如以下的实践:

  • 技术评论
  • 项目回顾
  • 客户焦点小组

每次迭代后都应进行评审。开发人员和客户都会检查他们的假设,并使用每个开发周期的结果来了解下一个开发周期的方向。团队学习 -

  • 关于产品变更

  • 关于产品开发方式的基本假设发生了更根本的变化

迭代必须简短,以便团队可以从小错误而不是大错误中学习。

推测 - 协作 - 学习循环作为一个整体

正如您从上面给出的推测-协作-学习周期中观察到的那样,很明显这三个阶段是非线性的并且是重叠的。

我们从自适应框架中观察到以下内容。

  • 没有学习就很难协作,没有协作就很难学习。

  • 不学习就很难推测,不推测就很难学习。

  • 没有合作就很难推测,没有推测就很难进行合作。