6. Continuous Delivery
Documented examples:
Allspaw, John and Hammond, Paul,
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
http://en.oreilly.com/velocity2009/public/schedule/detail/7641
http://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr
http://velocityconference.blip.tv/file/2284377/
Humble, Jez and Farley, David,
Continuous Delivery (O'Reilly Rough Cuts)
What about features you can't build in a day?
7. Feature Bits: Latent Code
Photo Credit: Marcin Wichary (http://commons.wikimedia.org/wiki/File:IMSAI8080_TV11.jpg)
8. Latent code variants
DigitalRiver and ExactTarget
"Feature bits" used by Sean G. Ryan and team
Flickr
Previously cited talk mentions "feature flags"
http://en.oreilly.com/velocity2010/public/schedule/detail/14145
Twitter
"dynamically controlling features" and "infrastructure"
http://nosql.mypopescu.com/post/407159447/cassandra-twitter-an-interview-with-
ryan-king
Google Experiments
Gradual rollout of new features
Etc.
9. Usage at Lyris
Introduced August, 2008
~ 80 active bits by December, 2009
48 active bits in March, 2010
Photo Credit: superde1uxe (http://commons.wikimedia.org/wiki/File:IMSAI8080.jpg)
11. Design Pressure is Good
Photo Credit: Tokino (http://commons.wikimedia.org/wiki/File:Air_pressure_gauge.jpg)
12. Manage the Lifecycle
Photo Credit: Pyrothansia (http://commons.wikimedia.org/wiki/File:Life_cycle.jpg)
13. Maintain Production Quality
Code hidden behind feature bits
is subject to the same quality
requirements as any code
Photo Credit: Rjgdoy (http://commons.wikimedia.org/wiki/File:Quality_not_quantity.png)
16. Do Not Overload
Photo Credit: Jonathan Mallard
(http://commons.wikimedia.org/wiki/File:Unsafe_transport_of_a_shipping_container_in_Afghanistan.jpg)
17. Limit the overhead
Photo Credit: Henning Klevier (http://commons.wikimedia.org/wiki/File:Fibonacci_%28x%2B1%29%5En.png)
19. Beta- and Split-Testing
Photo Credit: US Navy (http://commons.wikimedia.org/wiki/File:Navy_binoculars.jpg)
20. For more information
Feature Bits
Video of longer presentation (LSSC10)
http://bit.ly/9m3d3r
Paper (LSSC10 proceedings)
http://bit.ly/bu8mNo
Thanks Rob Loh (implementer and co-author)
Me
Twitter: @eriksowa
Blog: http://eriksowa.wordpress.com
LinkedIn: http://www.linkedin.com/in/eriksowa
email: erik.sowa@gmail.com, esowa@lyris.com