Saturday, October 6, 2012
Continuous Delivery Wishes
Dear colleague,
Please implement the following at your nearest software development company:
Product owner:
- make stories sequentially deployable
Architecture:
- architect for continous delivery
- create small units
- let each component access only its own data and otherwise call other components' APIs
- share services/infrastructure (leads to low impact deployments)
Design:
- design for continous delivery
- make it easy to release
- make it easy to change
- make it easy to deploy
- reduce risk of deployment
- leave the system always runnable
- manage 'traffic':
-- fast lane for weekly releases
-- slow lane for less frequent releases, using feature switches and dark launches
- use feature switches
- branch by abstraction = branch in code (not in version control)
Tests:
- test for continous delivery
- create predictable tests
- run system on development environment
- acceptance-test in non-integrated environment
Development:
- integrate with main line every day
Infrastructure:
- keep short build times
- script to rebuild environment from scratch (phoenix environments)
- parallelize builds
- split builds from deployments
- use a configuration server
- use a package repository
Deployment (of code changes):
- deploy in small steps
- make non-breaking database expansions
- separate deployment from release
- use blue-green deployment
- run smoke tests
- use canary releases
Release (of a feature):
- flip a feature flag
- launch in the dark
- split test
Production feedback:
- let developers follow product into production
- monitor and study usage in production
- data mine and analyse feedback
- get real user feedback
- allow everyone fast feedback on effect of change
Process:
- deploy daily
- release when features are done
- create a 'devops' mentality
- keep the software releasable on-demand
Continuous improvement:
- remember that the delivery process is never perfect
- measure improvements
- create intermediate goals
- take small steps towards continous delivery
- automate what you're doing manually
- get measurable change fast, even if goal takes years
Possible measurements:
- how many lines of code gets deployed per week?
- how long does it take from feature development is 'dev done' to it reaches production?
- how long after deployment does it take to discover new errors?
- how many man-hours does it take to quality-assure before each deployment?
- how many man-hours does it take to sign-off each deployment?
- how many man-hours does it take to deploy per week?
- how many manual steps are involved in a deployment?
Thanks to Sam Newman, Josh Graham, Michael Nygard, Mike Brittain and Jez Humble at GOTO Århus 2012.
Subscribe to:
Post Comments (Atom)
1 comment:
Thông tin chi tiết hơn, ông Đào Anh Tuấn, Tổng giám đốc cong ty van tai container cho biết, vận tải hàng hóa của đơn vị thuê xe tải nhỏ vẫn chưa đạt hậu quả tốt nhưng hành khách thời gian qua tăng khá tuyệt vời với mức hơn 10% so với năm 2016. khác biệt, doanh thu tăng rất cao, nhất là trong tháng 6 vừa qua tăng hơn 50%. Chúng tôi phải áp dụng nhiều giải pháp thue xe tai o Ha Noi linh hoạt, trong đó ưu tiên tăng cường tàu chạy các chặng ngắn như: Sài Gòn - Phan Thiết, Sài Gòn - Nha Trang. Tháng 5 vừa qua, đưa vào khai thác tuyến mới Nha Trang - Huế và đã đạt 70% hệ số khai thác”, ông Tuấn nói và cho biết, khác biệt, lần trước tiên đường sắt xây dưng chính sách rét vé linh hoạt, khuyến mãi, giảm lạnh vé tập thể, công ty du lịch, liên minh nâng chất lượng vệ sinh toa xe, tương tác với khách hàng thuê xe tải Bình Dương giá rẻ nhiều hơn. “Chính điều này đã hút lượng khách lớn quay trở lại với đường sắt, ông Tuấn lý giải.
Post a Comment