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