敏捷软件开发方法:原理与实践
1. 软件风险与敏捷方法的诞生
风险管理是软件开发中最基本且棘手的问题。风险的表现形式多种多样,如项目进度延迟、项目取消、缺陷率增加、对业务问题的误解、添加了客户并不需要的功能以及人员流动等。传统的计划驱动模型在应对这些风险时往往力不从心,而敏捷方法则试图通过控制软件开发的四个变量来降低风险。
敏捷方法认为,要降低风险,开发者需要尽可能控制更多的变量,尤其要控制项目的范围。它用“学习驾驶”来比喻软件开发:学习驾驶不仅仅是将车指向正确的方向,还需要持续关注路况并不断进行细微调整,以确保车辆始终行驶在道路上。在编程中,唯一不变的就是变化。如果能及时关注并应对变化,就能将变化的成本控制在可接受的范围内。
2. 敏捷方法概述
20世纪90年代中期,一群软件开发专家开始倡导一种新的软件开发模型。与之前由卡内基梅隆大学软件工程研究所(SEI)等机构支持的重量级计划驱动模型不同,这种新的过程模型是轻量级的。它所需的文档更少,过程控制也更简单,主要针对中小型软件项目和小型开发团队。其目的是让开发团队能够快速适应不断变化的需求和客户要求,并比计划驱动模型更快地发布完成的软件,这就是所谓的“敏捷”开发。
敏捷开发基于这样一个理念:任何软件开发项目的目标都是可运行的代码。由于关注的是可运行的软件,开发团队应将大部分时间用于编写代码,而不是撰写文档,这也是轻量级方法得名的原因。
轻量级方法具有以下特点:
- 强调在编写代码之前编写测试。
- 频繁发布产品。
- 客户深度参与开发过程。
- 代码集体所有权。
- 重构代码以使其更简单、更易于维护。
超级会员免费看
订阅专栏 解锁全文
866

被折叠的 条评论
为什么被折叠?



