Cách tổ chức, cách kiểm soát, và những gì bắt buộc phải làm
Nơi cả đội đọc để biết Alliance App đang đi đâu, đo bằng gì, ai chịu trách nhiệm phần nào, và một lập trình viên bắt buộc phải làm gì trước khi nói là xong.
Vision
Alliance App là chỗ làm việc hằng ngày của một doanh nghiệp: nhắn tin, giao việc, chốt đơn — cả ba nằm trong một ứng dụng chạy ổn định tới mức người dùng không cần nghĩ về nó. Quy mô hướng tới là 500.000 người dùng, và toàn bộ cách kiểm soát chất lượng trong sổ tay này được đặt theo con số đó.
Modules
Chat
Nhắn tin thời gian thực giữa các thành viên và nhóm. Yêu cầu khắt khe nhất về độ trễ, thứ tự tin nhắn và hoạt động khi mạng chập chờn.
Task
Giao việc, theo dõi tiến độ, nhắc hạn. Yêu cầu khắt khe nhất về phân quyền và tính nhất quán của trạng thái.
Bán hàng
Tạo đơn, thanh toán, theo dõi doanh số. Đụng tới tiền nên yêu cầu khắt khe nhất về tính đúng đắn, chống trùng và dấu vết kiểm tra.
Principles
- 01
Chất lượng là ràng buộc, không phải thứ đem ra đánh đổi
Khi thiếu thời gian, ta cắt phạm vi chứ không cắt test, review hay Definition of Done.
- 02
Bắt lỗi ở chặng sớm nhất có thể bắt được
Shift left: lỗi tìm ra lúc viết yêu cầu rẻ gấp hàng trăm lần lỗi tìm ra khi người dùng đã cài app. Mỗi lỗi lọt ra sau đều phải trả lời được vì sao chặng trước không chặn.
- 03
Việc chưa đo được thì coi như chưa kiểm soát được
Mỗi mục tiêu phải gắn với một con số quan sát được trên dữ liệu thật, không dựa vào cảm tính.
- 04
Mỗi thứ có đúng một người chịu trách nhiệm
Không có việc nào thuộc về cả đội. Thuộc về cả đội nghĩa là không thuộc về ai, và sẽ không ai làm.
- 05
Tri thức nằm trong tài liệu, không nằm trong đầu một người
Bất kỳ ai nghỉ phép, dự án vẫn chạy. Quyết định quan trọng đều được ghi lại kèm lý do.
- 06
Việc nhỏ, release đều, phản hồi nhanh
Lô thay đổi càng nhỏ thì rủi ro càng thấp, tìm nguyên nhân càng nhanh, rollback càng rẻ.
- 07
Máy kiểm tra được thì đừng bắt người kiểm tra
Định dạng, quy ước, lỗi tĩnh, coverage — để máy chặn. Người dành sức cho thứ máy không thấy được: thiết kế và trải nghiệm.
- 08
Ở quy mô 500.000 người dùng, không có lỗi nào là lỗi hiếm
Tỷ lệ 0,1% là 500 người thật. Mọi ngưỡng đều đọc ra số người, mọi tính năng đều bật dần từ nhóm nhỏ, và mọi thứ chạm tới tiền đều có dung sai bằng không.
Goals
Xem chi tiếtChất lượng sản phẩm ở mức người dùng tin tưởng được
Đang thực hiệnAlliance App hiếm khi crash, hiếm khi chậm, và mỗi bản release không làm hỏng thứ đang chạy tốt — đúng ở mức quy mô 500.000 người dùng.
35%Nhịp release đều và dự đoán được
Đang thực hiệnAi cũng biết bản kế tiếp ra khi nào, gồm những gì, bật cho bao nhiêu người trước, và nếu có sự cố thì tắt lại trong bao lâu.
20%Vận hành tin cậy ở quy mô 500.000 người dùng
Đang thực hiệnHệ thống chịu được tải mục tiêu, tự báo khi hỏng trước lúc người dùng than, và khi có sự cố thì chặn thiệt hại trong vòng một giờ.
15%Quyết định dựa trên dữ liệu người dùng, không dựa trên cảm tính
Chưa bắt đầuMỗi tính năng lớn đều có câu hỏi cần trả lời và cách đo câu trả lời, trước khi viết dòng code đầu tiên.
0%Tăng trưởng bền vững, không đánh đổi bằng chất lượng
Chưa bắt đầuĐi từ nhóm người dùng đầu tiên tới 500.000 theo từng mốc có điều kiện, mỗi mốc chỉ mở khi hệ thống và đội đã sẵn sàng cho mốc đó.
0%Đội ngũ tự chủ, tri thức không nằm trong đầu một người
Đang thực hiệnBất kỳ ai nghỉ thì dự án vẫn chạy, vì quy trình và quyết định đều được ghi lại — và vì không ai bị đẩy tới mức phải nghỉ.
45%
Knowledge
Xem tất cả 58 bàiNền tảng
7 bàiBộ khung chung: sản phẩm gồm những gì, ai chịu trách nhiệm phần nào, làm việc theo nhịp nào, quyết định ra sao.
Tổ chức công việc
5 bàiMột việc đi từ ý tưởng tới tay người dùng qua những chặng nào, và mỗi chặng phải có đủ thứ gì mới được đi tiếp.
Yêu cầu với lập trình viên
7 bàiPhần bắt buộc. Đây là những điều một dev phải làm, không phải gợi ý để cân nhắc.
Kiểm soát chất lượng
8 bàiCác quality gate giữ cho lỗi không đi tiếp được, đặt càng gần chỗ sinh ra lỗi càng tốt: hoàn thành, review, test, CI.
Quy mô và hiệu năng
10 bàiAlliance App hướng tới 500.000 người dùng trên hàng trăm loại thiết bị. Nhóm này gồm mốc quy mô, ma trận thiết bị, test đặc thù mobile, performance budget và test tải.
Phát hành
4 bàiĐưa thay đổi ra người dùng một cách có kiểm soát, và rút lui được khi hỏng.
Vận hành
4 bàiBiết app đang sống thế nào ngoài đời thật, và xử lý khi nó gãy.
Người dùng và số liệu
5 bàiCăn cứ để quyết định làm gì tiếp theo, thay cho phỏng đoán.
Quản trị rủi ro
4 bàiNhìn trước thứ có thể làm hỏng dự án, và giữ cho đội không kiệt sức.
Biểu mẫu
4 bàiMẫu có sẵn để chép ra dùng ngay, khỏi nghĩ lại cấu trúc mỗi lần.

