● 软件开发的新方法New Methodology) —Agile方法 ●
软件开发的新方法(New Methodology) —Agile方法
● 主要内容 概述 。 ·Agile方法的核心理念及特点 ·Agile与CMM Agile具体方法 XP.SCRUM ·结束语 ●
主要内容 • 概述 • Agile方法的核心理念及特点 • Agile与CMM • Agile具体方法 XP,SCRUM • 结束语
概述 软件开发的新挑战 ●快速的市场进入时间 ●快速变化的需求 ,(铁网的迅盖发展和经济全球化 快速发展的技术
概 述 软件开发的新挑战 •快速的市场进入时间 •快速变化的需求 •快速发展的技术
● ● ● 概述 传统的软件开发方法 ·强调过程 ·强调文档 ·开发人员负担过重 重载Heavyweight)方法 ● ●
概 述 传统的软件开发方法 • 强调过程 • 强调文档 • 开发人员负担过重 重载(Heavyweight)方法
● ● 概述 Agile方法的产生 针对上述问题,产生了一系列轻载 (Lightweight)方法,如XP,SCRUM等。 2001年2月,新方法的一些创始人在美国 犹他州成立Agile联盟 (http://www.agilealliance.org/ Lightweight→Agile ● ●
概述 Agile方法的产生 针对上述问题,产生了一系列轻载 (Lightweight)方法,如XP,SCRUM等。 2001年2月,新方法的一些创始人在美国 犹他州成立Agile 联盟 (http://www.agilealliance.org/ ) Lightweight Agile
● 概述 Agile方法的含义 Agile方法是在保证软件开发有成功产出的 前提下,尽量减少开发过程中的活动和制 品的方法。笼统的讲就是,“刚刚好”( Just enough),即开发中的活动及制品既 不要太多也不要太少 ●
概述 Agile方法的含义 Agile方法是在保证软件开发有成功产出的 前提下,尽量减少开发过程中的活动和制 品的方法。笼统的讲就是,“刚刚好”( Just enough),即开发中的活动及制品既 不要太多也不要太少
● 概述 Agile方法的实践效果 我预言XP对当今时代的作用可与CMM在八十年代和九十 年代初的作用相媲美 Tom DeMarco,Cutter Trends Report 新方法在实践中取得了巨大的成功 IONA公司的Obix技术支持小组在采用了XP方法后,软件 生产率提高了67% ·SPG(software productivity group)的Capers Jones!则称, SCRUM方法可提高生产率6倍 ● ● ● ●
概述 Agile方法的实践效果 我预言XP对当今时代的作用可与CMM在八十年代和九十 年代初的作用相媲美 -- Tom DeMarco, Cutter Trends Report 新方法在实践中取得了巨大的成功 •IONA公司的Obix技术支持小组在采用了XP方法后,软件 生产率提高了67% • SPG( software productivity group) 的Capers Jones则称, SCRUM方法可提高生产率6倍
● Agle方法的核心理念 。基于适应而非预测 ·以人为导向而非过程导向 --Martin Fowler "New Methodology" ●
Agile方法的核心理念 • 基于适应而非预测 • 以人为导向而非过程导向 --Martin Fowler “New Methodology
Agile?方法的核心理念及特点 适应而非预测 需求不可预测-Peter Wegner)用数学的方法给出了严格的证明 按计划的过程 计划的结果 基于适应的过程 实际需要的结果 理论上来说,软件开发应是一个自适应的跟踪过程
Agile方法的核心理念及特点 适应而非预测 开始 计划的结果 实际需要的结果 需求不可预测--Peter Wegner用数学的方法给出了严格的证明 按计划的过程 基于适应的过程 理论上来说,软件开发应是一个自适应的跟踪过程
Agile方法的核心理念及特点 适应而非预测 自适应系统是一个强反馈系统 ·在软件开发中,需求的获取和分析、软件设计、编码 等实质上均为前馈环节,真正的反馈环节应该是用户 对可运行软件的使用、使用中的判断及判断后与开发 人员的信息交流。 ·反馈和前馈这一回路的响应速度应大于被跟踪(或被 适应)的系统的变化速度,这就要求软件开发有快速 的产出能力 。 ● ● ● ●
Agile方法的核心理念及特点 适应而非预测 自适应系统是一个强反馈系统 ▪在软件开发中,需求的获取和分析、软件设计、编码 等实质上均为前馈环节,真正的反馈环节应该是用户 对可运行软件的使用、使用中的判断及判断后与开发 人员的信息交流。 ▪反馈和前馈这一回路的响应速度应大于被跟踪(或被 适应)的系统的变化速度,这就要求软件开发有快速 的产出能力