敏捷软件开发概述
软件开发方法包括一整套活动,这些活动之间存在着顺序关系。如果没有预定义的顺序关系,则可能无法生成所需的产品。无论采用哪种软件开发方法,所有软件开发方法的目标都是生产高质量的软件并在双方商定的截止日期内交付给客户。
让我们首先了解指定敏捷软件开发方法的目的,其宣言主要包括以下内容:
个人与互动 - 个人可以是任何直接或间接参与任何软件开发过程或其一部分的人。如果你错误地认为个人就是坐在电脑前浪费宝贵时间的人,那你就大错特错了。交互发生在过程和个人之间,或者有时仅发生在个人与个人之间。软件行业在更广阔的视野中定义了“个人与互动”。
可工作的软件 - 可工作的软件本质上是满足客户所有需求的软件。为了交付最优质的软件,重要的是发送演示软件来解决沟通上的障碍。如果演示软件完全符合客户的需求,你也可以发送文档。只有文档而没有演示软件是不可取的。
客户协作 - 客户很可能不会在一开始就说明他们的需求。因此,重要的是要不断与客户保持联系并征求他们的需求。这完全是关于协商和区分合理需求与不可行需求。
响应变化 - 有时,客户可能会要求你更改一项功能并加入另一项功能。在这种情况下,应迅速进行更改,并应遵循计划以满足未来的额外更改和其他需求。
敏捷宣言于 2001 年发布。敏捷软件开发方法有十二条基本原则。以下是关于这些原则的简要说明:
优先原则
根据这一原则,最高优先级是客户满意度。这是通过在规定的截止日期内交付有价值的软件来实现的。
变更需求原则
这与敏捷宣言下的“响应变化”部分相同。
可工作的软件原则
必须经常向客户发送可工作的软件。这与敏捷宣言下的“可工作的软件”部分相同。
一致性原则
重要的是,业务人员、程序员和开发人员每天都要保持一致,以满足客户的需求并交付高质量的软件。
良好环境原则
良好环境是个人积极主动并相互信任的理想环境。因此,重要的是在工作场所中融入良好的环境。
沟通原则
面对面交流的重要性不容忽视。团队成员应相互沟通并交换信息。
进展原则
在任何软件开发方法中,拥有进度的一些度量和指标都很重要。在敏捷软件开发方法中,可工作的软件是最重要的进度度量。
可持续发展原则
促进可持续发展完全符合敏捷软件开发方法的利益。为此,所有程序员、开发人员、用户和赞助者都应保持理想的节奏直至结束。
敏捷原则
技术才能是一种经常受到赞赏的特性。良好且实用的软件设计是关键要素。通过技术才能和软件设计专业知识来实现敏捷性。
简洁原则
重要的是要反思尚未完成的工作量和未完成的工作量。
自我组织原则
自我组织的团队通常是优秀人才的源泉。他们提出了出色的架构和卓越的设计。
适应原则
团队成员应不断反省自己。他们应适应不断变化的环境并相应地工作。
敏捷软件方法是以下敏捷软件开发方法的集合:
- 敏捷统一过程
- 极限编程
- 水晶清晰方法
- Scrum
- Scrumban
- 看板开发模型
- FDD - 固定驱动开发
- 纪律敏捷交付
- DSDM - 动态系统开发方法
- BADM- 业务分析师设计师方法
- ASD- 自适应软件开发
- BDD- 行为驱动开发
- TDD - 测试驱动开发
敏捷软件开发方法的精妙之处在于它完全是价值驱动的。该方法的两个重要组成部分是:
- 自适应计划
- 演化方法
自适应计划说起来容易做起来难。它涉及到一遍又一遍地重复项目周期作为迭代。它涉及重新计划和重新适应。另一方面,演化设计是通过重构和简单设计等行业实践持续集成和验证代码。
敏捷软件开发方法中最流行的短语之一是极限编程,它是一套全面而简单的具体方法,帮助开发人员和程序员在较短的开发生命周期内以较短的时间间隔频繁发布产品版本,以便整合所有必要的更改。
由于敏捷软件开发方法提倡的原则性和纪律性方法,许多公司都支持这种方法。