Upload
tony-qiao
View
595
Download
1
Embed Size (px)
DESCRIPTION
how to make the cycle time shorter
Citation preview
乔梁@百度.项目管理部
——Cycle time is the key
乔梁
百度项目管理部 ,高级架构师
InfoQ 敏捷社区, 特约编辑
《持续集成》专栏作者
中文站:www.continuousdelivery.info
CruiseControl的贡献者 持续集成与发布管理工具Go 的项目经理
2011年Jolt Excellence Award
Agenda
Delivery & Discovery Cycle
Structure Changes
Principle and Practice
Develop Release
Pray for customer
How long?
Organization Structure
Value Stream
Business Engineering Quality Assurance Operations
I got an idea!!!
Dev complete!!!
BUG!!! #@!$%#@
Script! Installation! Monitoring!
continuous integration
1
2 3
4
4’
5
6
Check-in Dance
Team work
Value Stream
Continuous Integration
Agile101
devops
Develop Release
Learn Iterate
Delivery
Discovery
How long?
http://code.flickr.com
code.flickr.com
How about others?
An Avatar-Based Social Network and 3D Virtual World
Develop Release
Learn Iterate
What is in the cycle?
Delivery
Discovery
Minimize total time through loop
Learn Faster Split Tests
Customer Interviews
Customer Development
Five Whys Root Cause
Analysis
Customer Advisory Board
Falsifiable Hypotheses
Product Owner
Accountability
Customer Archetypes
Cross-functional Teams
Semi-autonomous Teams
Smoke Tests
Measure Faster Split Tests
Clear Product Owner
Continuous Deployment
Usability Tests
Real-time Monitoring
Customer Liaison
Build Faster
Unit Tests
Usability Tests
Continuous Integration
Incremental Deployment
Free & Open-Source
Components
Cloud Computing
Cluster Immune System
Just-in-time Scalability
Refactoring
Developer Sandbox
Minimum Viable Product
Measure Faster
Funnel Analysis
Cohort Analysis
Net Promoter Score
Search Engine Marketing
Real-Time Alerting
Predictive Monitoring
From 《Lean Startup》, Eric Ries
constant flow of new features into production incremental release of small changes
Why
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
How
Continuous Delivery
always write production-ready code Everyone collaborate throughout lifecycle Faster feedback loops Lower-risk, more reliable releases
It might change the structure
Continuous Integration
Agile101
devops
Value Stream
service-oriented business model
products/services IaaS
Treat these service as products
service-oriented business model
products/services
service desk
IaaS
Therefore
Teams can measure cost and value delivered per product
Teams can rationally determine what to prioritize their
product backlog Teams can self-manage using the lean startup
methodology Architecture group responsible for regulating and
monitoring system-level attributes
Organizational change
Product Team
Architecture group
Operations
Business
Is it enough?
Is it enough? Maybe … …
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 Time”
Canary release
Canary release
Blue-green deployment
Blue-green deployment
Database migration
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
微博: @乔梁QL 博客: http://blog.csdn.net/Tony1130 邮件: [email protected] 中文站:www.continuousdelivery.info