Discovery delivery agiletour-xian

Preview:

DESCRIPTION

敏捷之旅——西安站演讲PPT

Citation preview

Develop Release

Learn Iterate

Agile Tour ——西安

乔梁

百度项目管理部 ,高级架构师

InfoQ 敏捷社区, 特约编辑

《持续集成》专栏作者

中文站:www.continuousdelivery.info

me

Agenda

Business Driven & Capability

Principle & Practice

88%的CEO认为,企业敏捷是成功的关键因素。

其中,一半以上的人认为,敏捷不只是重要,而且是核心竞争力。

Source: The Economist, Special Report on Agility. March 2009

进一步提高业务响应能力的主要障碍是:

– 冗长的决策过程

– 部门目标与优先级之间的冲突

– 避免承担风险的文化

– 以及“筒仓式”的信息孤岛

Economist Intelligence Unit:”Organizational agility:

How business can survive and thrive in turbulent times”

http://code.flickr.com

code.flickr.com

How about others?

Team size: 50 Cycle time: 15min Frequency : 50 times

Large Organizations

Why?

Develop Release

Pray for customer

Develop Release

Learn Iterate

Learn Faster

Measure Faster

Build Faster

Measure Faster

constant flow of new features into production incremental release of small changes

Benefit?

Build the right thing

Every business idea is

a hypothesis until you

get feedback.

Problem

Hypothesis

Idea #1 Idea #2

Idea #3

reliability & stability

Reduce risk of release

real progress

DONE means release

dev

test

released

scope

A B

Continuous Delivery is great, but Taking the plunge is scary as hell

How

Continuous Delivery

always write production-ready code minimize the lead time from idea to live

Another Story

Context

a complex software

ecosystem

Context

一个复杂的软件生态系统

Context

7+ Modules

10 years c/c++ legacy code

Few automation tests for a single Module

Deploy on 170+ boxes

7 Devs + 2 QAs

6 months ago

three months big-bang release

lots of hot-fix and argent requests

now

three weeks release

few hot-fix

Actions

Deployment Pipeline

Compile A quick

quick quick

Module level

Subsystem System

slow

Staging Production

Compile B quick

Compile E quick

… … … … …

Small batch

Single branch

Automation testing

Automation deployment

One-click release

Everything is code

Reality simulating

Pipeline monitoring

Stop the line

How about big features

Feature toggle

Branching by abstraction

How about “Deployment Down Time”

Canary release

Canary release

Blue-green deployment

Blue-green deployment

Database migration

How about “performance-issued Featrue”

Dark launching

Dark launching

It is not impossible, but it is difficult

What you can do

Automation

Automation

Automation

Practice

Practice

Practice

People

People

People

What would you get

What would you get

What would you get

微博: http://weibo.com/Tony1130 博客: http://blog.csdn.net/Tony1130 邮件: qiaoliang.email@gmail.com 中文站:www.continuousdelivery.info