📅  最后修改于: 2021-01-23 07:05:56             🧑  作者: Mango
自适应软件开发是从RAD实践发展而来的。团队方面也被添加到这些实践中。从新西兰到加拿大的公司,针对各种各样的项目和产品类型,都使用了自适应软件开发。
Jim Highsmith在2000年出版了《自适应软件开发》。
自适应软件开发实践提供了适应变化的能力,并且在动荡的环境中适应性强,并且产品的规划和学习很少。
适应性软件开发与“进化”模型一样具有周期性,其阶段名称反映了复杂系统中的不可预测性。自适应开发生命周期中的阶段是-
这三个阶段反映了自适应软件开发的动态性质。适应性发展明确地用确定性取代了确定性。它不仅可以改变生命周期,还可以改变管理风格。自适应软件开发具有动态的“推测合作学习”生命周期。
自适应软件开发生命周期的重点是结果,而不是任务,并且将结果标识为应用程序功能。
计划一词过于确定性,表示对所需结果的合理程度很高的确定性。符合计划的隐式和显式目标限制了经理引导项目创新方向的能力。
在“自适应软件开发”中,术语“计划”由术语“推测”代替。尽管进行了推测,但团队并未放弃计划,但它承认复杂问题的不确定性。推测鼓励探索和实验。鼓励使用短周期的迭代。
复杂的应用程序无法构建,它们会不断发展。复杂的应用程序需要收集,分析大量信息并将其应用于问题。动荡的环境具有很高的信息流率。因此,复杂的应用程序需要收集,分析大量信息并将其应用于该问题。这导致只能通过团队协作才能解决的各种知识要求。
协作需要具备共同努力以产生结果,分享知识或做出决定的能力。
在项目管理的背景下,协作描绘了在使用传统管理技术进行管理与创建和维护紧急情况所需的协作环境之间的平衡。
生命周期的学习部分对于项目的成功至关重要。团队必须通过以下实践不断增强知识:
每次迭代后都应进行审核。开发人员和客户都检查他们的假设,并使用每个开发周期的结果来了解下一个方向。团队学习-
关于产品变更
有关产品开发方式的基本假设的更根本性变化
迭代需要很短,以便团队可以从小错误中学习,而不是从大错误中学习。
从上面的“推测-协作-学习”循环中可以看到,很明显,这三个阶段是非线性的并且重叠。
我们从自适应框架中观察到以下内容。
没有学习就很难进行协作,或者没有协作就很难学习。
不学习就进行推测或不进行推测就难以学习。
没有合作就很难推测,或者没有推测就很难合作。