下面开始第二部分,该部分从week3开始。
Week3:Agile Methods
这部分的内容主要分为3个:
-敏捷方法
-计划驱动和敏捷开发
-Scrum框架
背景:
如今,企业在一个全球化、瞬息万变的环境中经营。它们必须对新的机会和市场、不断变化的经济条件以及竞争性产品和服务的出现作出反应。这意味着速度要在开发中占据更大的比重。事实上,许多企业都愿意以软件质量为代价,在需求上做出妥协,以更快地部署所需的软件。
得出一套完整稳定的软件需求是不肯能,因为最初的需求不可避免地会发生变化。尽早交付系统,让用户积累经验,才能发现更清晰的真实需求。由于外部因素,需求可能会不可预测地迅速发生变化。
计划完全指定需求,然后设计、构建和测试系统的软件过程并不适合快速的软件开发。当需求变更或需求问题被发现时,系统设计或实现必须重新工作和重新测试。
快速软件开发(Repid Software Development):
定义:软件不是作为一个单一的单元开发的,而是一系列的增量,每一个增量包括新的系统功能。
基本特征:
•各个过程是交错的
•最小化文档
•在系统涉众的参与下,开发一系列版本或增量
•系统用户界面通常使用交互式开发系统开发,允许快速创建界面设计
计划驱动开发方法-
大型、长寿命的软件——仔细的项目计划、形式化的质量保证、使用CASE工具支持的分析和设计方法,以及受控和严格的软件开发过程。
•多个开发团队的工作必须得到协调
•该系统是一个关键系统
•许多不同的人将长期参与维护软件