Không lặp lại nội dung của https://martinfowler.com/articles/feature-tlass.html , vì đây là một lời giải thích sâu sắc tuyệt vời về tính năng bật cờ của tính năng. Tôi sẽ chỉ tập trung vào các khía cạnh DevOps.
Theo Báo cáo DevOps năm 2014 do PuppetLabs lập, có bốn số liệu chính để đo lường hiệu suất CNTT:
- Thời gian thay đổi
- Tần số phát hành
- Thời gian để khôi phục dịch vụ
- Thay đổi tỷ lệ thất bại
Những điều này cũng đóng góp vào hiệu suất tổ chức tổng thể. Vì vậy, điều đó có nghĩa là nếu CNTT của bạn hoạt động tốt trên các số liệu này, điểm mấu chốt của bạn sẽ có nhiều $$$ hơn.
Phân phối liên tục được kích hoạt bởi các số liệu này và đã được mô tả sâu trong cuốn sách Phân phối liên tục: Phần mềm đáng tin cậy phát hành thông qua xây dựng, kiểm tra và tự động triển khai bởi Jez Humble.
Trong bối cảnh Giao hàng liên tục , có một sự khác biệt quan trọng giúp phân biệt với Triển khai liên tục . Và đó là quyết định khi nào thực hiện phát hành các tính năng (cho khách hàng).
Giữ các thay đổi về kích thước nhỏ hơn và triển khai (sao chép mã) các tính năng nửa nướng cho các hệ thống sản xuất với cờ tính năng được bật tắt cho phép rút ngắn thời gian thay đổi .
Khi các tính năng cuối cùng đã hoàn thành, thực hiện một bản phát hành là một quyết định còn lại cho doanh nghiệp. Có thể một bản phát hành của một tính năng mới cần được liên kết với một số tiếp thị hoặc một bản phát hành trong một phần khác của doanh nghiệp như một tính năng trong ứng dụng di động.
Các tính năng có thể được phát hành bằng cách sử dụng các thử nghiệm A / B cho một phần của cơ sở khách hàng hoặc cho những người cụ thể hoặc thậm chí trực tiếp đến tính khả dụng chung (GA). Mặc dù việc phát hành GA thường chỉ được thực hiện sau khi có đủ sự chắc chắn rằng tính năng này hoạt động như mong đợi. Người ta có thể lập luận rằng điều này có hiệu lực ảnh hưởng đến tần số phát hành cao hơn.
Việc tách rời phát hành và triển khai này gần như không thể đạt được nếu không có các tính năng bật cờ.
Đương nhiên khi không triển khai là cần thiết để chuyển đổi một tính năng tắt , thì thời gian để khôi phục dịch vụ được hạ xuống đáng kể.
Và bằng cách sử dụng các cờ tính năng phát hành các tính năng cho một lát nhỏ của cơ sở khách hàng, số liệu tỷ lệ thất bại thay đổi cũng có thể được cải thiện đáng kể.
Vì vậy, một cơ chế đơn giản được gọi là cờ tính năng bật cho phép hiệu suất CNTT tốt hơn nhiều, và đến lượt nó cải thiện hiệu suất tổ chức nói chung.
Ví dụ tuyệt vời về cách thực hiện điều này trong các công ty thực tế có thể được tìm thấy tại Flickr (trên các bài đăng công khai sớm nhất về chủ đề này) và tại Etsy . Nhưng nhiều người khác đã áp dụng thực tiễn và nói về nó từ lâu, ví dụ văn hóa kỹ thuật nổi tiếng tại các video Spotify .
Etsy đang thể hiện công cụ nội bộ của mình để quản lý các cờ tính năng , được gọi là Catapult, trong nhiều bài thuyết trình được tìm thấy trên web. Và Intuit phát hành một công cụ nguồn mở có tên Wasabi giúp quản lý các cờ tính năng.