自适应软件开发 - 简介
什么是敏捷?
在文学术语中,“敏捷”一词是指能够快速轻松地行动的人,或者能够快速清晰地思考和行动的人。在商业中,“敏捷”用于描述规划和工作的方式,其中根据需要进行更改是工作的重要组成部分。业务“敏捷性”意味着公司始终能够应对市场变化。
在软件开发中,术语“敏捷”指的是“响应变化的能力——来自需求、技术和人员的变化”。
敏捷宣言
敏捷宣言由软件开发团队于 2001 年发布,强调了开发团队、适应不断变化的需求和客户参与的重要性。
敏捷宣言是 -
我们通过实践并帮助他人开发软件,从而发现更好的软件开发方法。通过这项工作,我们认识到了价值 -
- 个人以及流程和工具上的交互。
- 工作软件胜过全面的文档。
- 客户协作胜过合同谈判。
- 响应变化而不是遵循计划。
也就是说,虽然右侧的项目有价值,但我们更看重左侧的项目。
敏捷的特点
以下是敏捷的特点 -
敏捷软件开发中的敏捷性侧重于整个团队的文化,其中包括多学科、跨职能的团队,这些团队被授权和自组织。
它促进共同的责任和问责。
促进有效沟通和持续协作。
整个团队的方法避免了延误和等待时间。
频繁和持续的交付可确保快速反馈,从而使团队能够满足需求。
协作有助于在实施、缺陷修复和适应变更时及时结合不同的观点。
进步是持续的、可持续的和可预测的,强调透明度。
敏捷方法论
敏捷方法的早期实施包括 Rational Unified Process、Scrum、Crystal Clear、极限编程、自适应软件开发、功能驱动开发和动态系统开发方法 (DSDM)。2001 年敏捷宣言发布后,这些现在统称为敏捷方法。
在本教程中,我们将学习敏捷方法论 -自适应软件开发。
什么是自适应软件开发?
自适应软件开发是向自适应实践的迈进,将确定性实践留在复杂系统和复杂环境中。自适应软件开发侧重于协作和学习作为构建复杂系统的技术。它是从快速应用程序开发 (RAD) 和进化生命周期的最佳实践演变而来的。随后,自适应软件开发扩展到包括自适应管理方法,并用推测取代了规划。
Jim Highsmith 于 2000 年出版了一本关于自适应软件开发的书。用 Highsmith 的话说 -
“自适应软件开发就像进化模型一样是周期性的,阶段名称推测、协作、学习反映了日益复杂的系统的不可预测领域。适应性发展在两个关键方面比其进化遗产更进一步。首先,它明确地用涌现取代了决定论。其次,它不仅仅是生命周期的改变,而是管理风格的更深层次的改变。”