11.0 Giới thiệu Phần 11: Dòng chảy: Các quy trình khám phá và phân phối
Phần mềm chỉ mang lại giá trị khi một ý tưởng tốt chảy trọn vẹn qua toàn bộ, từ ý nghĩ đầu tiên đến kết quả đã đo trong tay người dùng thật. Phần 11 nói về dòng chảy đó, từ đầu đến cuối. Một tổ chức quyết định xây gì và vì sao thế nào? Nó biến các ý tưởng đã xác thực thành phần mềm đang chạy, an toàn và lặp lại được thế nào? Và nó đưa kết quả thực tế quay lại quyết định tiếp theo ra sao? Đây không phải hai giai đoạn tuần tự. Đó là hai quy trình chạy liên tục và song song, thường gọi là phát triển hai đường, với một lý thuyết toán học chung về dòng chảy nằm bên dưới cả hai.
Với các đội lớn, dòng chảy là nơi phần lớn giá trị được giành hay mất. Hãy hình dung một đội phân phối xuất sắc nhưng khám phá yếu: nó xây sai thứ một cách hiệu quả, phát hành nhanh, đạt mục tiêu vận tốc, và không dịch chuyển chỉ số kinh doanh nào. Hay một đội có mục tiêu rõ ràng nhưng phân phối chậm, rủi ro: nó bỏ đói những mục tiêu đó khỏi phản hồi. Và bất kỳ đội nào bỏ qua toán học của hàng đợi sẽ hoạch định quanh các giá trị trung bình, chạy hệ thống quá nóng, và bị bất ngờ, đắt đỏ, bởi thời gian chờ bùng nổ khi năng lực đầy dần. Làm dòng chảy tường minh, đo được và có nền tảng toán học là cách các tổ chức lớn giữ công sức nối với kết quả.
Bối cảnh doanh nghiệp và chính phủ nâng rủi ro hơn nữa. Doanh nghiệp phối hợp hàng chục đội theo một chiến lược chung, và mục tiêu cục bộ lệch cộng dồn thành các danh mục lãng phí. Chương trình chính phủ cam kết tài trợ công nhiều năm cho các nhiệm vụ do luật định, nơi “chúng tôi xây đúng điều hợp đồng nói” không phải lời bào chữa nếu kết quả không bao giờ thành hiện thực. Với cả hai, câu trả lời giống nhau: khám phá có kỷ luật, phân phối được công nghiệp hóa, và ngôn ngữ chung về năng lực và dòng chảy. Đó là cách họ làm ý định của mình kiểm toán được và biện minh khoản đầu tư bằng bằng chứng thay vì giai thoại.
Các chương trong phần này
- 11.1 Quy trình khám phá: Dòng công việc quyết định xây gì và vì sao, và xác định thành công trông thế nào, bằng cách biến vấn đề, bằng chứng và chiến lược thành một tập kết quả dự định được ưu tiên, kiểm thử được qua mục tiêu và kết quả then chốt (OKR), chỉ số hiệu suất chính (KPI), các thuộc tính chất lượng tường minh (các “-tính” phi chức năng như độ tin cậy, hiệu năng và bảo mật), và các thí nghiệm giảm rủi ro.
- 11.2 Quy trình phân phối: Con đường được công nghiệp hóa từ một commit mã đến một thay đổi sản xuất đến một hiệu ứng đã đo, lắp ráp kiểm thử tự động, tích hợp liên tục và phân phối liên tục (CI/CD), và triển khai tiến dần thành một cỗ máy đầu-cuối phát hành các thay đổi nhỏ, đảo ngược được, kiểm toán được và gắn chỉ số kết quả để chứng minh chúng hiệu quả.
- 11.3 Lý thuyết hàng đợi: Nghiên cứu toán học về hàng chờ làm nền cho dòng chảy, dùng một nhúm quan hệ vững chắc (quan trọng nhất là Định luật Little, nói rằng số mục trung bình trong một hàng đợi ổn định bằng tốc độ đến nhân thời gian trung bình mỗi mục ở trong đó) để lập luận về thời gian chờ (thời gian trôi qua từ lúc một mục công việc bắt đầu đến khi xong), thông lượng (số hoàn thành trên một đơn vị thời gian), mức sử dụng (năng lực được dùng đầy đến đâu) và độ biến thiên thay vì bị chúng làm bất ngờ.
- 11.4 Mục tiêu và kết quả then chốt (OKR): Mục tiêu bạn đặt. OKR ghép một mục tiêu định tính, truyền cảm hứng với vài kết quả then chốt đo được, dựa trên kết quả, căn chỉnh từ trên xuống và từ dưới lên, chạy theo nhịp, chấm điểm trung thực trên thang 0,0 đến 1,0, và giữ xa khỏi lương thưởng để tham vọng không bị trừng phạt.
- 11.5 Chỉ số hiệu suất chính (KPI): Các thước đo bạn duy trì. KPI là tập nhỏ các chỉ số được căn chỉnh, có chủ sở hữu, hành động được theo dõi sức khỏe liên tục (dẫn đầu so với trễ, được bảo vệ khỏi bị lách), được tổ chức thành cây dưới một chỉ số sao bắc đẩu, và gồm các chỉ số vận hành như SLO và chỉ số DORA.
- 11.6 Lập bản đồ dòng giá trị và chi phí trì hoãn: Nhìn toàn bộ dòng chảy từ ý tưởng đến giá trị, tìm nút thắt, và đo hiệu quả luồng, rồi ưu tiên theo chi phí trì hoãn và công-việc-ngắn-nhất-có-trọng-số-trước để kinh tế của việc chờ đợi chi phối thứ tự thay vì giọng to nhất thắng.
Các chương này liên hệ với nhau thế nào
Các chương này tạo thành một vòng lặp duy nhất. Khám phá (11.1) cấp cho phân phối (11.2) nguồn cung công việc đã giảm rủi ro, đóng khung tốt. Phân phối phát hành công việc đó và đo hiệu ứng thật của nó. Và những kết quả đã giao đó quay lại khám phá như bằng chứng cho quyết định tiếp theo. Khám phá trả lời cái gì và vì sao; phân phối trả lời chúng ta phát hành nó an toàn thế nào, nhanh đến đâu, và nó có thực sự hiệu quả không. Không cái nào hoàn chỉnh nếu thiếu cái kia, và cả hai chạy liên tục thay vì các cổng tuần tự.
Lý thuyết hàng đợi (11.3) là nền tảng toán học bên dưới cả vòng lặp. Tồn đọng khám phá là một hàng đợi. Quy trình phân phối là hàng đợi của các hàng đợi (một dòng chảy nhiều giai đoạn được mô hình hóa như các hàng đợi nuôi các hàng đợi). Cả hai tuân theo cùng các định luật: thời gian chờ bằng công việc đang làm chia cho thông lượng, thời gian chờ tăng phi tuyến khi mức sử dụng tiến tới 100%, và độ biến thiên (không chỉ khối lượng công việc) tạo ra trễ. Nó trao cho quản lý sản phẩm, kỹ sư độ tin cậy hệ thống (SRE) và các đội DevOps một từ vựng chung cho hoạch định năng lực và mục tiêu thực tế: tốc độ đến (công việc đến nhanh thế nào), tốc độ phục vụ (nó được xử lý nhanh thế nào), mức sử dụng, và thời gian chờ (thời gian xếp hàng thay vì được làm).
Phần này cũng nối ra bên ngoài. Các thuộc tính chất lượng tường minh của khám phá là phần bổ sung phía khám phá cho nền tảng kiến trúc (chương 3.1) và khả năng mở rộng, hiệu năng và khả năng phục hồi (chương 3.5), và chúng dựa vào bộ máy phân tích và thí nghiệm của chương 7.3 và 7.4. Phân phối lắp ráp cơ chế được chi tiết hóa ở nơi khác: chiến lược kiểm thử (chương 2.4), phát triển trên thân chính (chương 2.6), CI/CD và chiến lược triển khai (chương 8.1), hạ tầng dưới dạng mã (chương 8.2), tự động hóa kiểm thử và quy trình (chương 8.5), và độ tin cậy cùng SLO (mục tiêu mức dịch vụ, chương 9.1). Cả hai quy trình được nâng lên quản lý danh mục và chương trình (chương 10.1), và lý thuyết hàng đợi cung cấp toán học đằng sau các quyết định dòng chảy và năng lực chạy xuyên tất cả chúng.