自适应软件开发(ASD)是一种软件开发过程,被认为是早期敏捷框架快速应用程序开发(RAD)的直接高级扩展。它是由吉姆·海史密斯(Jim Highsmith)和萨姆·拜耳(Sam Bayer)提出的。这是一个循环过程,阶段名称反映了对不断变化的需求,需求和市场需求的适应性。它被用作构建复杂软件和系统的理想技术。
自适应软件开发类似于快速应用程序开发(RAD)。在自适应软件开发中,不遵循预先计划的步骤,也不遵循任何传统的生命周期,而是基于不断的变化,重新评估以及具有轻量级计划和持续学习的不断发展的产品。
自适应软件开发的特点:
自适应软件开发(ASD)具有6个基本特征,它们是:
1. Mission Driven
2. Feature Based
3. Iterative
4. Time boxed
5. Risk driven
6. Change Tolerant
现在让我们通过一个一个地分析来讨论自适应软件开发的基本特征。
1.任务驱动–
最初,开发团队通常会遇到需求模糊且不确定的问题,但是正确地表达了指导团队的总体使命。最初,此任务是没有固定目的地的勘探边界,但通过满足所有已更改的需求,需求和市场需求,缓慢地指导开发团队到达目的地。而且更有趣的事实是,在每个开发周期中,活动都是针对总体项目使命进行辩护的。
2.基于功能–
在“自适应软件开发”中,所有不是基于任务执行的活动都是基于应用程序功能执行的,并且重点在于开发工作软件和交付所需的产品。在每次迭代中,将客户的需求作为新功能添加到产品中,最后,可以期望获得好的产品。
3.迭代–
自适应软件开发基于迭代过程。新功能将在每次迭代中添加。这遵循了不断变化和重新评估的原则。它不是第一次做对,而是通过将反馈作为输入并进行处理来反复地重做开发,并再次确定正确的方向以进行进一步的开发。因此,它基于连续的功能添加过程,旨在迭代构建复杂的软件解决方案并最终给出结果。
4.装箱时间–
自适应软件开发流程中的时间并不是指错误地使用了最后期限,而是要为迭代和项目设置固定的交付时间,并在变更率如此之高和环境中极大地集中精力并强迫一个好的工作环境完成工作看起来不确定。
5.风险驱动–
在自适应软件开发中,每次迭代都会遇到新的挑战,并且该过程旨在快速解决高风险的项目/活动。因此,在此过程中,自适应迭代被识别并分析了重大风险,并且也进行了评估。
6.容忍变更–
正如我们讨论的那样,自适应软件开发基于不断变化,重新评估以及不断发展的产品,并具有轻量级的计划和持续的学习能力。因此,此过程将不断变化作为优势,并对此表示欢迎。它不会将更改视为问题,而是将更改视为新的挑战。
自适应软件开发的优势:
- 对于快速而复杂的软件产品开发很有用。
- 轻松进行软件增量调整
- 关注最终用户,满足要求并满足要求
- 准时交货,最大程度地提高客户满意度
- 提供开发人员和客户之间的高度透明性
- 经过多次测试,减少了漏洞和错误
自适应软件开发的缺点:
- 在不确定的环境中工作充满挑战
- 仅执行任务需要广泛的探索和持续的关注
- 需要较高的用户/客户参与度
- 需要对每个迭代进行测试,这会增加成本
- 频繁更改需要较少的文档
- 需要参与项目的不同团队之间严格的时间投入