Đánh giá mức sẵn sàng làm Business Analyst
Chấm từng chiều kỹ năng và cho ra hồ sơ — biết mình đứng ở đâu trước.
Làm bài này
Product Management
Ba lớp frontend – backend – database: hiểu để đoán được một yêu cầu là nửa ngày hay hai tuần.
Đăng nhập để đánh dấu kỹ năng và theo dõi tiến độ.
Làm bài Đánh giá Nền tảng Kỹ thuật cho PM/BA — 3 người đã làm. Một lần làm chấm điểm cho tất cả kỹ năng trong nhóm Technical Basics, không chỉ kỹ năng này.
Làm bài đánh giáSản phẩm có 3 lớp: frontend (UI — thứ người dùng thấy và chạm), backend (luật quyết định điều gì xảy ra), database (nơi lưu và lấy dữ liệu).
Tính được quyết định ở frontend/backend/database ảnh hưởng thế nào tới feasibility, effort và performance khi thiết kế feature — gồm cả state và phụ thuộc bên thứ ba.
Mọi sản phẩm số bạn đang làm — app thương mại điện tử, ví điện tử, trang quản trị nội bộ — đều được xếp thành ba lớp. Không cần biết code để hiểu ba lớp này; chỉ cần biết mỗi lớp chịu trách nhiệm việc gì.
Frontend: thứ người dùng nhìn thấy và chạm vào — nút, form, danh sách, thông báo trên màn hình.
Backend: nơi chứa luật nghiệp vụ. Nó quyết định điều gì được phép xảy ra: còn hàng không, người này có quyền không, giá cuối cùng là bao nhiêu.
Database: nơi dữ liệu được ghi xuống và đọc lên — đơn hàng, người dùng, giao dịch, tồn kho.
Hệ quả quan trọng nhất với BA/PO: effort của một yêu cầu không tỉ lệ với việc nó trông lớn hay nhỏ trên màn hình, mà tỉ lệ với số lớp bị chạm. Đổi màu nút chỉ chạm một lớp. Đổi cách tính phí ship chạm cả ba.
| Khái niệm | Nghĩa là gì | Dấu hiệu bạn đã hiểu |
|---|---|---|
| Frontend | Lớp hiển thị, chạy trên máy/điện thoại người dùng. | Bạn phân biệt được "hiển thị sai" và "dữ liệu sai". |
| Backend | Lớp áp dụng luật nghiệp vụ, chạy trên máy chủ. | Bạn biết luật giảm giá nằm ở backend chứ không ở nút bấm. |
| Database | Nơi lưu dữ liệu lâu dài, có cấu trúc cột cố định. | Bạn hỏi "có sẵn cột này chưa" trước khi hứa timeline. |
| Migration | Thay đổi cấu trúc dữ liệu, ví dụ thêm một cột mới. | Bạn luôn hỏi thêm: "dữ liệu cũ thì hiện gì?" |
| State | Trạng thái đang được giữ tạm ở frontend trước khi lưu. | Bạn spec rõ: tải lại trang thì giỏ hàng còn hay mất. |
| Dịch vụ bên thứ ba | Hệ thống ngoài mà ta gọi sang: VNPay, MoMo, GHN, eKYC. | Bạn coi mỗi dịch vụ ngoài là một điểm chậm và một điểm hỏng. |
Tình huống: bạn đang viết ticket cho nút "Thêm vào giỏ" và muốn biết mình đang nói về phần nào của hệ thống.
Chuỗi sự việc thật, theo đúng thứ tự:
cart_items, rồi đọc lại toàn bộ giỏ của người dùng đó.Học được: "nút không chạy" là một câu mô tả rỗng — nó có thể hỏng ở bất kỳ bước nào trong năm bước trên. Biết chuỗi này thì bạn biết phải hỏi gì tiếp theo.
Tình huống: trong cùng một buổi refinement có hai yêu cầu, cả hai đều được stakeholder mô tả là "sửa nhỏ thôi".
| Yêu cầu | Chạm lớp nào | Vì sao |
|---|---|---|
| "Đổi nút Đặt hàng sang màu cam" | Chỉ frontend | Không có luật nào đổi, không có dữ liệu mới. Sửa và deploy phần giao diện là xong. |
| "Phí ship tính theo khu vực thay vì đồng giá 30k" | Cả ba lớp | Database cần chỗ lưu bảng phí theo tỉnh; backend cần luật mới để chọn đúng mức phí; frontend cần hiện phí sau khi người dùng chọn địa chỉ. |
Câu hỏi cần hỏi ngay tại buổi refinement: "Yêu cầu này có cần chỗ lưu dữ liệu mới không? Nếu có thì đơn hàng cũ hiển thị thế nào?"
Học được: độ lớn của thay đổi trên màn hình không nói gì về effort. Số lớp bị chạm mới nói. Và mỗi khi có dữ liệu mới, luôn có một câu hỏi kèm theo về dữ liệu cũ.
Tình huống: bạn spec màn hình "Chi tiết đơn hàng". Trên đó có bốn nhóm thông tin, và chúng đến từ bốn nơi khác nhau:
Cái bẫy: nếu spec chỉ viết "hiển thị đầy đủ thông tin đơn hàng", dev sẽ gọi cả bốn nguồn rồi mới vẽ màn hình. Hôm nào API vận chuyển chậm 8 giây thì cả trang trắng 8 giây, dù ba nhóm còn lại đã sẵn sàng từ lâu. Tệ hơn: API đó lỗi thì màn hình báo lỗi toàn trang, khách không xem được đơn của chính mình.
Cách viết spec cho đúng — phân loại từng nguồn:
Học được: mỗi nguồn dữ liệu thêm vào một màn hình là thêm một điểm chậm và một điểm hỏng. Vẽ ra các nguồn trước khi viết acceptance criteria là cách rẻ nhất để phát hiện điều đó — rẻ hơn nhiều so với phát hiện ở tuần đầu sau khi lên production.
Với mỗi yêu cầu, ticket của bạn nên trả lời được bốn câu:
Chấm từng chiều kỹ năng và cho ra hồ sơ — biết mình đứng ở đâu trước.
Làm bài nàyHọc kỹ năng này ở đâu?
Có 2 khóa dạy đúng phần này, miễn phí và bằng tiếng Việt.
Thảo luận & tài liệu thêm 0
Chia sẻ kinh nghiệm, đặt câu hỏi, hoặc đính kèm tài liệu/YouTube giúp người khác học kỹ năng này.