——Cycle time is the key



乔梁@百度.项目管理部
乔梁
百度项目管理部 ,高级架构师

InfoQ 敏捷社区, 特约编辑
           《持续集成》专栏作者

        CruiseControl的贡献者
        持续集成与发布管理工具Go 的项目经理

        2011年Jolt Excellence Award
    中文站:www.continuousdelivery.info
Agenda




Delivery & Discovery Cycle

Structure Changes

 Principle and Practice
Develop       Release


     How long? for
             Pray
              customer
Organization Structure



Business       Engineering        Quality Assurance   Operations


                       Dev                BUG!!!             Script!
    I got an
                    complete!!!          #@!$%#@          Installation!
     idea!!!
                                                          Monitoring!




                         Value Stream
continuous integration
                                             6



Check-in Dance   1           4
                                         5
                     2           4’
                         3




                                      Team work
devops
Agile101

   Continuous
   Integration




      Value Stream
Delivery
Develop                 Release


      How long?
  Iterate                Learn
            Discovery
code.flickr.com




                  http://code.flickr.com
How about others?
An Avatar-Based Social Network and 3D Virtual World
What is in the cycle?

            Delivery
Develop                  Release




  Iterate                   Learn
            Discovery
Minimize total time through loop


Learn Faster                                                                        Build Faster

Split Tests                                                                                Unit Tests

Customer Interviews                                                                   Usability Tests

Customer Development                                                         Continuous Integration

Five Whys Root Cause                                                        Incremental Deployment

Analysis                                                                        Free & Open-Source

Customer Advisory Board                                                                 Components
Falsifiable Hypotheses                                                             Cloud Computing
Product Owner                                                                Cluster Immune System
Accountability            Measure Faster             Measure Faster           Just-in-time Scalability
Customer Archetypes                                                                      Refactoring
                          Split Tests                     Funnel Analysis
Cross-functional Teams                                                           Developer Sandbox
                          Clear Product Owner             Cohort Analysis
Semi-autonomous Teams                                                       Minimum Viable Product
                          Continuous Deployment       Net Promoter Score
Smoke Tests
                          Usability Tests         Search Engine Marketing
                          Real-time Monitoring         Real-Time Alerting
                          Customer Liaison          Predictive Monitoring
                                                         From 《Lean Startup》, Eric Ries
constant flow of new features into production

incremental release of small changes
Why
Build the right thing

                                    Problem
Every business idea is
a hypothesis until you
                                   Hypothesis
get feedback.

                         Idea #1                Idea #3
                                    Idea #2
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
devops
Agile101

   Continuous
   Integration




      Value Stream
service-oriented business model

                       Treat these service as products
products/services
                                       IaaS
service-oriented business model


products/services
                                    IaaS




                                 service desk
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


People   Practice       Automation
People   Practice       Automation
People   Practice       Automation
What would you get
What would you get
What would you get
微博: @乔梁QL

博客: http://blog.csdn.net/Tony1130

邮件: qiaoliang.email@gmail.com

中文站:www.continuousdelivery.info

Discovery delivery 中国软件技术大会2011