Các nhà quản lý sản phẩm liên tục tìm kiếm các cách để tăng thêm giá trị cho sản phẩm và cung cấp trải nghiệm sản phẩm mới cho khách hàng. Việc phân phối liên tục hoặc triển khai liên tục này, nếu bạn muốn, đòi hỏi khả năng cập nhật sản phẩm cho khách hàng, với kỳ vọng rằng chức năng mới hoạt động tốt. Mặt khác, nó được gửi trở lại quá trình phát triển để sửa chữa.
Cờ tính năng cho phép người quản lý sản phẩm thử nghiệm các tính năng. Nó cho phép triển khai dần dần và cho phép họ sắp xếp hợp lý những gì khán giả có quyền truy cập vào tính năng nào.
Trong bài viết này, tôi sẽ hướng dẫn bạn khái niệm chung về cờ tính năng là gì và tại sao cả kỹ sư và quản lý sản phẩm đều thấy chúng có giá trị.
Như được định nghĩa thường xuyên, cờ tính năng thường được gọi là chuyển đổi tính năng, là một cơ chế cho phép bật và tắt một số chức năng nhất định trong thời gian chạy mà không cần triển khai mã.
Ví dụ, tại Meta [trước đây là Facebook], các cờ tính năng đóng một vai trò lớn. Bạn có để ý làm thế nào khi Meta công bố các tính năng mới, họ triển khai các thử nghiệm cho một tỷ lệ nhỏ mọi người, sau đó mở rộng dần cho nhiều người hơn trên toàn cầu? Việc phân khúc đối tượng này cho phép công ty xác nhận trước với một nhóm nhỏ người dùng, vì sẽ rất rủi ro nếu tung ra các tính năng thử nghiệm cho 3,6 tỷ người dùng hoạt động hàng tháng của họ.
Cờ đặc trưng cho phép các nhóm triển khai một tính năng mới vào sản xuất bất cứ khi nào có thể. Hãy cùng khám phá một số trường hợp sử dụng:
Đây là về việc thử nghiệm các tính năng của bạn trong môi trường mà các tính năng của bạn sẽ tồn tại. Đối với một số kỹ sư QA và quản lý sản phẩm, bao gồm cả tôi, thử nghiệm trong sản xuất (TiP) có thể đáng sợ. Nó giống như đi trên vỏ trứng. Vì những lý do rõ ràng, TiP có thể tạo ra những rò rỉ làm lộ lỗ hổng cho người dùng thực hoặc làm mất ổn định trải nghiệm của họ.
Với cờ tính năng, rủi ro có thể xảy ra với thử nghiệm trong sản xuất có thể được giảm thiểu, vì mã có thể được triển khai đằng sau nó, ẩn với khách hàng, sau đó được triển khai trong các bản phát hành canary. Điều này cho phép các nhóm kỹ thuật và sản phẩm kiểm soát chi tiết việc khởi chạy các tính năng mới với ít rủi ro hơn.
Trên thực tế, không chỉ muốn biết rằng các tính năng của bạn hoạt động theo giai đoạn, mà còn hoạt động trong quá trình sản xuất, do đó thử nghiệm trong quá trình sản xuất cũng có ý nghĩa. Quản lý tính năng giúp bạn cung cấp trải nghiệm tính năng và sản phẩm của mình một cách an toàn.
Phần mềm như một dịch vụ (SaaS) thường cung cấp các gói đăng ký khác nhau cho khách hàng. Các gói miễn phí có các tính năng cơ bản, trong khi các gói trả phí có các bộ tính năng hàng đầu khác nhau tạo thành các gói.
Sử dụng cờ tính năng để định giá để quy định gói nào nhận được những tính năng nào, giúp quá trình quản lý những quyền lợi này.
Điều này liên quan đến việc khởi chạy các phiên bản khác nhau của cùng một tính năng để xem cái nào hoạt động tốt nhất. Bạn triển khai các kỹ thuật như thử nghiệm A / B và phân đoạn dựa trên các tính năng đã triển khai [thử nghiệm A / B trong sản xuất].
Thử nghiệm tính năng cho phép bạn so sánh các tính năng để có được thông tin chi tiết về cách triển khai tốt nhất hoặc được ưu tiên hơn. Ngoài ra, bạn có thể viết giả thuyết cho một tính năng, thiết lập một thử nghiệm để khởi chạy nó, đo lường hiệu suất của nó và sau đó khởi chạy nó sau khi xác thực. Cờ tính năng giúp tạo các thay đổi mà người ta muốn thử nghiệm. Sau đó, gắn một số liệu vào cờ tính năng, mang lại mục đích cho thử nghiệm.
Toàn bộ ý tưởng của cờ tính năng là giảm thiểu rủi ro bằng cách cung cấp một cách nhanh chóng để bật hoặc tắt các tính năng ngay cả sau khi triển khai mã của bạn. Chúng tôi rất khuyến khích sử dụng cờ tính năng một cách thận trọng. Giữ chúng trong thời gian ngắn với số lượng nhỏ để tránh phức tạp.
Thường xuyên xem lại các cờ để đảm bảo rằng các cờ quan trọng đang bật hoặc tắt phù hợp, vì lạm dụng chúng có thể gây ra hậu quả xấu, như được thấy trong ví dụ thực tế này: một công ty với tài sản gần 400 triệu đô la đã phá sản trong 45 phút vì thất bại triển khai. Nhóm nghiên cứu đã sử dụng lại một cờ tính năng được sử dụng bởi mã cũ để cố gắng ngăn chặn rủi ro hoạt động.
Bây giờ bạn đã bao gồm các khái niệm và cân nhắc về cờ tính năng, cần lưu ý rằng có nhiều nền tảng gắn cờ tính năng giúp tự động hóa việc quản lý cờ tính năng: split.io, LaunchDarkly, CloudBees, v.v.
Biết một người không chuyên về kỹ thuật đang cố gắng tham gia vào không gian quản lý sản phẩm? Bạn có thể muốn chia sẻ bài viết trước của tôi về chủ đề Khám phá các khái niệm kỹ thuật phải biết cho người quản lý sản phẩm: Hướng dẫn của bạn về tư duy của một nhà phát triển với họ. Cám ơn vì đã chia sẻ!
Hãy kết nối với tôi trên LinkedIn .