组织级敏捷
吴穹 博士
IJI中国
董事总经理
内容提要
• 什么是敏捷?
• 敏捷的三个层次
• 敏捷的软件开发过程框架
• 实施组织级敏捷的一个实例
什么是敏捷?
• 敏捷软件开发是供软件开发使用的概念性框架,
迭代式开发
迭代式开发,进进进进
迭代式开发
它强调在项目的生命周期中使用迭代式开发
行开放的协作
行开放的协作
行开放的协作
行开放的协作,同时提倡自适应性
自适应性自适应性自适应性。
• Agile Software Development is a conceptual
framework for software development that promotes
development iterations, open collaboration, and
adaptability throughout the life-cycle of the project
敏捷的目标
Good
Software
Good Software, Quickly and at Low Cost!
Good Software, Quickly and at Low Cost!
Good Software, Quickly and at Low Cost!
Good Software, Quickly and at Low Cost!
敏捷的历史
•
•
The 1980’’’’ssss
The 1980
The 1980
The 1980
– 1980: Gerry Weinberg in Adaptive Programming: The New Religion, “The fundamental idea
was to build in small increments, with feedback cycles involving the customer for each.
– 1985: Barry Boehm’s A Spiral Approach of Software Development and Enhancement,
formalized risk-driven-iterations
– 1986: Fred Brooks No Silver Bullet, “Nothing in the past decade has so radically changed my
own practice….as incremental development”
1990 to Present
1990 to Present
1990 to Present
1990 to Present
– Early 1990’s: Jeff Sutherland and Ken Schwaber started to apply Scrum with time-boxed 30-
day iterations
Method (DSDM)
– 1994: 16 RAD practitioners met in the UK and seeded the Dynamic System Development
– 1997: Large logistics project in Singapore failed with Waterfall. Peter Coad and Jeff De Luca
created Feature Driven Development (FDD)
– 2001: Group of 17 process experts representing DSDM, XP, Scrum, FDD and other discussed
common ground and created Agile Manifesto
Adapted from:
Agile and Iterative Development: A Manager’s Guide,
Craig Larman
敏捷的“神” - 敏捷宣言
• 个人和交互重于方法和工具
个人和交互重于方法和工具
个人和交互重于方法和工具
个人和交互重于方法和工具
– Individuals and interactions
Individuals and interactions
Individuals and interactions
Individuals and interactions over processes and tools
• 可工作的软件重于完备的文档
可工作的软件重于完备的文档
可工作的软件重于完备的文档
可工作的软件重于完备的文档
– Working software
Working software
Working software
Working software over comprehensive documentation
• 与客户的协作重于合同谈判
与客户的协作重于合同谈判
与客户的协作重于合同谈判
与客户的协作重于合同谈判
– Customer collaboration
Customer collaboration
Customer collaboration
Customer collaboration over contract negotiation
• 响应变化重于严格遵照计划
响应变化重于严格遵照计划
响应变化重于严格遵照计划
响应变化重于严格遵照计划
– Responding to change
Responding to change
Responding to change
Responding to change over following a plan
敏捷的“形” - 敏捷技术
• 用户故事
• 结对编程
• 测试驱动开发
• 持续集成
• SCRUM等
敏捷是“新瓶装旧酒”
• 迭代开发是在十几年前在Rational Unified
Process中就提出来了;
• 结对编程、测试驱动开发等技术在十几年
前就已经被某些开发人员所采用;