Chinaunix首页 | 论坛 | 博客
  • 博客访问: 7278651
  • 博文数量: 512
  • 博客积分: 12019
  • 博客等级: 上将
  • 技术积分: 6857
  • 用 户 组: 普通用户
  • 注册时间: 2005-08-01 16:46
文章分类

全部博文(512)

文章存档

2024年(2)

2022年(2)

2021年(6)

2020年(59)

2019年(4)

2018年(10)

2017年(5)

2016年(2)

2015年(4)

2014年(4)

2013年(16)

2012年(47)

2011年(65)

2010年(46)

2009年(34)

2008年(52)

2007年(52)

2006年(80)

2005年(22)

分类: 项目管理

2010-12-01 17:04:17


敏捷软件开发

敏捷软件开发是自上世纪 90 年代 Kent Beck 提出极限编程 (XP) 时开始兴起的,这种编程方法用一组价值标准、原则和实践来规划、编码、设计和测试软件。

所有敏捷软件开发方法都具有以下几个 共同价值标准,例如

频繁检查和改写
频繁交付
协作和密切沟通
深思熟虑的改进
突出需求(递增)、技术和团队能力
授权和自我组织
基于事实而非假象进行处理
勇气和尊重

从这些价值标准可以看出,现在使用的各种敏捷方法都注重不同的实践。

 

常 用的敏捷方法

Scrum

Scrum 似乎是很简单的,但仍有一些实践会对工作体验产生深远的影响,并获得重要的适应性和敏捷性。在这些方法中,Scrum 与众不同的特点是对自我指导团队、每日团队评估和避免说明性流程进行了极大的提升。Scrum 的一些关键实践包括:

自我指导和自我组织团队
每日就特殊问题(您做了什么、您将做什么和您遇到哪些问题)开站立会议
通常采用 30 天的日历循环
在每个循环的开始,制订客户驱动的适应计划
向参与者演示功能(在每个循环结束时)

对于企业级活动,了解和管理项 目间的依赖项非常重要。在 Scrum 中使用“Global Backlog”就可以很好地做到这一点,Global Backlog 是对用户有价值的功能和非功能需求的企业视图。Global Backlog 在全局区分优先级。每个项目从 Global Backlog 获得项目范围内的最重要的部分。“Scrum of Scrums”还涉及项目间的同步,这是一个每两天(或每周)一次的会议,来自每个团队的代表参加这个会议,以便在团队之间同步。

XP

XP注重协作、快速和早期软件创建以及有技巧的开发实践。它由一组主要实践(坐在一起、整个团队、信息工作空间、成对编程、每周循环、放松、 10 分钟构建、持续集成、测试优先编程、增量设计等等)和一组与之对应的实践(实际客户参与、增量和每日部署、根源分析、共享代码、单独的代码库、协商的范围 合同、根据使用情况计费等)组成。

Crystal

Crystal 是具有以下共同特征的一系列方法学:注重频繁交付、密切沟通和深思熟虑的改进。Crystal 的这些特征包括:

经济合作游戏模型
所选的优先级
属性
原则
示例技术
项目示例

Crystal 系列通用优先级可以保证项目的最终成果,提高开发效率,并且符合常规习惯(换句话说,开发人员可以接受它们)。项目团队可以采用 7 个安全特性(前 3 个是 Crystal 的核心,而其余的可以按任何顺序添加,以增加安全性):

频繁交付
深思熟虑的改进
密切沟通;个人安全(信任的第一步)
聚焦
易于访问专家用户
带自动测试的技术环境
配置管理
频繁集成

动态系统开发方法

动 态系统开发方法 (DSDM) 提供了一个用于构建和维护系统的控件框架,该框架满足紧急时间限制的要求,而且是成功进行可重复快速应用程序开发 (RAD) 的一剂药方。该方法不仅涉及开发人员对 RAD 的看法,而且还涉及对有效系统开发感兴趣的所有其他相关各方(包括用户、项目经理和质量保证人员)对 RAD 的看法。下面列出了 DSDM 的控制原则:

活动用户必须参与。
必须授权 DSDM 团队进行决策。
注重频繁交付产品。
判断产品是否可接受的一个基本标准是要符合业务目的。
对准确的业务解决方案需要采用循环和增量开发。
开发期间的所有更改都是可逆的。
基本要求是高层次的并区分优先级(以在低优先级的项目上获得一定的灵活性)。
在整个生命周期集成测试。
在所有参与者之间采用协作和合作方法是一项基本要求。

精益生产

制造业 已经意识到存在两种生产问题——“可预测的生产”和“新产品开发”。前者的特征是确保具有提前了解需求的能力,因而可以制订确定性计划。后者的特征是没有 事先明确了解需求的能力,因而需要随项目的进展不断地调整适应和重新评估。

Craig Larman 在他所著的 Agile and Iterative Development 一书中对这些问题做了比较,得出以下结论:

表 1. 可预测的生产和新产品开发的比较

 

可预测的生产 新产品开发
可 以首先完成规范,然后再构建。 几乎不可能创建提前的、不变的和详细的规范。
在即将开始时,可 以可靠地评估所投入的精力和成本。 在即将开始时这是不可能的。随着经验数据的不断出现,进行计划和评估的可能性越来越大。
可以对所有详细活动进行标识、定义、安排和排序。 在即将开始时这是不可能的。需要采用通过构建反馈循环驱动的适应 性步骤。
适应不可预测的变更不是标准要求,而且变更速度相对较慢。 创造性地适应不可预测的变 更是标准要求。变更速度较快。

例如,Toyota 在上世纪 80 年代使用“精益生产”方法对其汽车工业进行大规模改革,目的是消除浪费,精简价值链(甚至跨所有企业),按需求生产(实时生产),并注重增值人员。

LSD

Mary 和 Tom Poppendieck 已将这些原则和实践从生产环境转用到开发环境,目标是在整个持续改进期间确定和消除浪费,并减少缺陷和循环时间,而同时稳定地增加商业价值。LSD 的基础就在于诸如 Toyota、Dell 和 Wal-Mart 这些组织所采用的一组“精益生产”标准。

 

LSD 的七个原则

原则 1:消除浪费
原则 2:加强学习
原则 3:尽可能推迟做出决定
原则 4. 尽快交付
原则 5:向团队授权
原则 6:构建完整性
原则 7:眼观全局

 

阅读(6293) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2010-12-02 14:25:45

很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com