Mở đầu — vì sao bài này quan trọng
Hãy tưởng tượng buổi sáng thứ Hai đầu sprint. Sếp bạn — Project Manager — bước vào phòng họp và hỏi: "Tuần rồi team mình đóng được bao nhiêu issue? Còn bao nhiêu bug chưa fix? Có ai đang quá tải không?". Nếu bạn phải mở JIRA ra, gõ từng JQL query, đếm tay từng issue rồi gõ vào Excel để trả lời, thì bạn đã làm việc theo cách của năm 2015. Một BA chuyên nghiệp sẽ chỉ cần xoay màn hình laptop lại và nói: "Mời anh xem dashboard này ạ" — và mọi con số đã nằm gọn trên một trang, cập nhật real-time.
Đó chính là sức mạnh của Dashboard trong JIRA. Với vai trò BA, bạn không chỉ là người viết requirement rồi quên. Bạn là cầu nối giữa team kỹ thuật và stakeholder. Mà stakeholder thì không có thời gian (và thường cũng không có quyền) lội vào JIRA để tự tìm thông tin. Dashboard là công cụ giúp bạn "kể câu chuyện về dự án" bằng số liệu trực quan, thay vì bằng những đoạn email dài lê thê.
Trong các bài trước, bạn đã học cách tạo issue, viết JQL để tìm issue, và làm việc với board. Bài 10 này sẽ dạy bạn cách biến những dữ liệu rời rạc đó thành một bức tranh tổng thể mà bất kỳ ai nhìn vào cũng hiểu ngay tình trạng dự án. Đây là kỹ năng tạo ra sự khác biệt giữa một BA "biết dùng JIRA" và một BA "khiến cả team tin tưởng vào dữ liệu của mình".
Khái niệm cốt lõi
Dashboard là gì?
Dashboard trong JIRA là một trang tùy biến (custom page) dùng để hiển thị thông tin tổng hợp từ dữ liệu JIRA. Bạn có thể hình dung nó như một bảng điều khiển trên xe hơi: thay vì phải mở nắp capo để kiểm tra động cơ, bạn chỉ cần liếc nhìn các đồng hồ là biết tốc độ, nhiên liệu, nhiệt độ. Dashboard cũng vậy — nó cho bạn cái nhìn "một liếc mắt" (at-a-glance) về sức khỏe của dự án.
Một dashboard không tự sinh ra dữ liệu. Nó kéo dữ liệu từ issue đã có sẵn trong JIRA, thường thông qua các filter (bộ lọc, chính là JQL query đã được lưu lại) mà bạn tạo trước. Điều này nghĩa là dashboard luôn phản ánh trạng thái mới nhất: hôm nay có người chuyển một issue sang "Done", thì con số trên dashboard tự động cập nhật, bạn không phải làm gì cả.
Gadget là gì?
Nếu dashboard là cái khung tranh, thì gadget là từng bức ảnh nhỏ ghép vào trong khung đó. Mỗi gadget là một khối hiển thị độc lập, thể hiện một loại thông tin cụ thể: có thể là một danh sách issue, một biểu đồ tròn, một biểu đồ cột, một con số đếm, hay một bảng thống kê. Một dashboard tốt thường có từ 4 đến 8 gadget, mỗi gadget trả lời một câu hỏi rõ ràng.
Cấu trúc quan hệ rất đơn giản: Filter (JQL) → cấp dữ liệu cho → Gadget → nằm trong → Dashboard. Hiểu chuỗi này, bạn sẽ tự tin xây bất cứ dashboard nào.
Các gadget phổ biến BA hay dùng
Dưới đây là những gadget bạn sẽ gặp và dùng nhiều nhất. Tôi cố tình sắp xếp theo độ hữu ích thực tế cho công việc BA:
| Gadget | Hiển thị gì | Khi nào dùng |
|---|---|---|
| Filter Results | Bảng liệt kê các issue khớp với một filter, kèm cột tùy chọn (Key, Summary, Assignee, Status, Priority...) | Khi cần xem chi tiết danh sách: "Những bug nào đang Open?", "Story nào chưa có người làm?" |
| Pie Chart | Biểu đồ tròn nhóm issue theo một trường (Status, Priority, Assignee, Component...) | Khi cần xem tỷ lệ phân bổ: "Bao nhiêu phần trăm issue là High priority?" |
| Created vs Resolved Chart | Biểu đồ so sánh số issue được tạo mới và số issue được giải quyết theo thời gian | Khi cần đánh giá team có "theo kịp" lượng việc đổ vào không |
| Two Dimensional Filter Statistics | Bảng chéo (cross-tab) thống kê issue theo hai chiều, ví dụ Assignee × Status | Khi cần cái nhìn ma trận: ai đang làm gì, ở trạng thái nào |
| Sprint Health / Sprint Burndown | Tiến độ sprint hiện tại, lượng việc còn lại theo ngày | Khi theo dõi sprint đang chạy (board kiểu Scrum) |
| Assigned to Me | Danh sách issue được giao cho chính bạn | Gadget cá nhân, giúp BA không quên task của mình |
| Activity Stream | Dòng hoạt động gần đây: ai vừa comment, vừa đổi trạng thái issue nào | Khi muốn nắm "động tĩnh" của team mà không cần mở từng issue |
| Issue Statistics | Thống kê issue theo một trường, dạng bảng có thanh tỷ lệ | Khi cần con số gọn gàng hơn pie chart |
Quyền chia sẻ và cấu trúc layout
Một dashboard có thể để riêng tư (chỉ mình bạn thấy) hoặc chia sẻ cho một nhóm, một dự án, hoặc toàn bộ tổ chức. Đây là điểm BA hay quên: bạn xây dashboard rất đẹp nhưng quên share, sếp mở link ra thì báo "không có quyền xem". Về layout, JIRA cho bạn chọn bố cục cột (1 cột, 2 cột, 3 cột, hoặc kiểu A/B với một cột rộng một cột hẹp) để sắp xếp gadget hợp lý.
Tình huống thực tế
Ví dụ 1 — Tiki và dashboard "sức khỏe sprint" cho team thanh toán
Chị Lan là BA tại một team phát triển tính năng thanh toán của một sàn thương mại điện tử lớn ở TP.HCM (lấy bối cảnh kiểu Tiki). Team gồm 8 developer, mỗi sprint 2 tuần, thường ôm khoảng 40 story point. Vấn đề: cứ đến giữa sprint là PM lại nhắn riêng từng người hỏi tiến độ, gây gián đoạn và khiến dev khó chịu.
Chị Lan dựng một dashboard tên "Payment Team — Sprint Health" gồm:
- Một Sprint Burndown gadget cho sprint hiện tại.
- Một Two Dimensional Filter Statistics với chiều dọc là Assignee, chiều ngang là Status — để thấy ngay ai đang ôm 5 issue "In Progress" cùng lúc (dấu hiệu quá tải).
- Một Pie Chart nhóm theo Priority, để PM thấy còn bao nhiêu issue Critical chưa đụng tới.
- Một Filter Results liệt kê các issue đang ở trạng thái "Blocked".
Ví dụ 2 — Startup fintech ở Singapore và dashboard cho ban giám đốc
Anh Minh là Senior BA tại một startup fintech tại Singapore, quy mô 30 người, dùng JIRA Cloud. Ban giám đốc (gồm cả nhà đầu tư) muốn xem tiến độ phát triển sản phẩm mỗi tháng nhưng không ai biết dùng JIRA, và cũng không nên cấp quyền JIRA cho nhà đầu tư.
Anh Minh tạo một dashboard "Executive Overview" rất gọn, chỉ 3 gadget cấp cao:
- Created vs Resolved Chart trong 90 ngày, hiển thị xu hướng — chứng minh team đang "đóng" việc nhanh hơn "mở" việc, một tín hiệu tích cực.
- Pie Chart theo Epic, cho thấy nỗ lực đang dồn vào những mảng tính năng nào (ví dụ 60% vào "KYC onboarding", 25% vào "Fraud detection").
- Một Issue Statistics đếm số issue đã hoàn thành theo từng tháng.
Ví dụ 3 — Công ty outsource ở Đà Nẵng và dashboard chất lượng (QA)
Một công ty gia công phần mềm ở Đà Nẵng làm dự án cho khách Nhật, yêu cầu chất lượng cực cao. Chị Hương — BA kiêm điều phối QA — chịu trách nhiệm báo cáo tình hình bug hằng tuần cho khách hàng.
Chị tạo dashboard "Quality Dashboard — Project Sakura" gồm:
- Pie Chart nhóm bug theo Severity (Blocker / Critical / Major / Minor).
- Created vs Resolved riêng cho issue type = Bug, để thấy bug có đang tích tụ không.
- Two Dimensional Statistics với Component (chiều dọc) × Status (chiều ngang) — để chỉ ra module nào đang "ngập" bug nhất, nhờ đó team biết tập trung sửa ở đâu.
- Filter Results liệt kê tất cả bug Blocker còn Open, sắp theo ngày tạo cũ nhất lên trên.
Hướng dẫn từng bước
Bây giờ chúng ta cùng xây một dashboard hoàn chỉnh từ con số 0. Tôi sẽ dùng ví dụ thực tế: dashboard theo dõi sprint cho team BA của bạn.
Bước 1 — Chuẩn bị filter trước. Đây là bước quan trọng nhất mà người mới hay bỏ qua. Trước khi mở dashboard, hãy tạo sẵn các filter bạn cần. Vào Filters → View all filters → Create filter, gõ JQL, ví dụ:
- Filter "Open Bugs":
project = ABC AND issuetype = Bug AND statusCategory != Done - Filter "Sprint Stories":
project = ABC AND sprint in openSprints() AND issuetype = Story
Bước 2 — Tạo dashboard mới. Vào menu Dashboards → Create dashboard. Đặt tên có ý nghĩa, ví dụ "Team ABC — Sprint Tracking". Trong phần Description ghi rõ mục đích để người khác hiểu. Chọn quyền chia sẻ ngay tại đây nếu bạn đã biết ai sẽ xem.
Bước 3 — Chọn layout. Nhấn vào biểu tượng layout, chọn bố cục cột phù hợp. Với dashboard 5–6 gadget, layout 2 cột thường cân đối nhất. Đặt gadget quan trọng nhất ở góc trên bên trái — đó là nơi mắt người ta nhìn vào đầu tiên.
Bước 4 — Thêm gadget. Nhấn Add gadget. JIRA mở thư viện gadget. Tìm gadget bạn cần (ví dụ "Pie Chart"), nhấn Add. Lưu ý: trên JIRA Cloud bản mới, một số gadget có thể cần cài thêm hoặc tên hơi khác — đừng hoảng, cứ gõ từ khóa tìm kiếm trong thư viện.
Bước 5 — Cấu hình gadget. Mỗi gadget vừa thêm sẽ yêu cầu cấu hình. Với Pie Chart, bạn chọn:
- Filter or Project: chọn filter "Open Bugs" đã tạo ở Bước 1.
- Statistic Type: chọn trường để nhóm, ví dụ "Priority".
- Refresh Interval: thường để 15 phút.
Bước 6 — Lặp lại cho các gadget khác và sắp xếp bằng cách kéo-thả tiêu đề gadget tới vị trí mong muốn.
Bước 7 — Kiểm tra và chia sẻ. Đăng xuất thử hoặc nhờ đồng nghiệp mở link để chắc chắn họ thấy được. Nếu cần, vào phần share của dashboard chỉnh lại quyền: chia sẻ theo Group, Project role, hoặc Public (cẩn thận với public).
Lỗi thường gặp & mẹo
Lỗi 1 — Quên share dashboard. Đây là lỗi kinh điển. Bạn dựng xong, gửi link cho sếp, sếp báo "trang trắng / không có quyền". Mẹo: ngay sau khi tạo, hãy mở chế độ ẩn danh hoặc nhờ một người khác kiểm tra quyền xem.
Lỗi 2 — Nhồi nhét quá nhiều gadget. Một dashboard 15 gadget không phải là dashboard mạnh, mà là một mớ hỗn độn khiến người xem không biết nhìn vào đâu. Mẹo: giữ tối đa 6–8 gadget cho một dashboard. Nếu cần nhiều hơn, hãy tách thành nhiều dashboard chuyên đề (một cho sprint, một cho bug, một cho executive).
Lỗi 3 — Filter sai phạm vi nên số liệu lệch. Gadget chỉ chính xác bằng filter nuôi nó. Nếu filter của bạn quên điều kiện project = ABC, dashboard có thể đếm cả issue của dự án khác. Mẹo: luôn chạy thử JQL trong giao diện Search trước, xác nhận số lượng đúng, rồi mới gắn vào gadget.
Lỗi 4 — Dùng sai gadget cho sai đối tượng. Như đã nói ở ví dụ Singapore: sếp cần xu hướng, team cần chi tiết. Mẹo: trước khi chọn gadget, tự hỏi "ai sẽ xem cái này, và họ cần ra quyết định gì?".
Lỗi 5 — Hardcode tên sprint trong filter. Nếu bạn viết sprint = "Sprint 23" thì sang sprint sau dashboard sẽ "chết". Mẹo: dùng hàm động như openSprints() để dashboard tự cập nhật theo sprint đang mở.
Mẹo bonus — Sao chép dashboard có sẵn. Đừng dựng lại từ đầu mỗi lần. JIRA cho phép Copy dashboard. Tìm một dashboard mẫu tốt, copy ra, rồi chỉnh filter theo dự án của bạn. Tiết kiệm hàng giờ đồng hồ.
Mẹo bonus 2 — Đặt dashboard quan trọng làm trang chủ. Bạn có thể đặt một dashboard làm system dashboard hoặc ghim vào mục yêu thích, để mỗi lần đăng nhập JIRA là thấy ngay bức tranh dự án.
Bài tập thực hành
Hãy làm tuần tự, đừng đọc lướt. Kỹ năng dashboard chỉ ngấm khi bạn tự tay kéo-thả.
- Tạo 2 filter: một filter liệt kê tất cả issue chưa hoàn thành trong dự án của bạn (
statusCategory != Done), và một filter liệt kê tất cả Bug. Đặt tên rõ ràng và lưu lại.
- Tạo một dashboard mới tên "Bài tập Dashboard — [Tên bạn]" với layout 2 cột.
- Thêm 4 gadget:
- Thử thách phân tích: Nhìn vào Pie Chart theo Assignee, trả lời câu hỏi: có ai đang ôm số issue nhiều bất thường so với phần còn lại không? Nếu có, đó có thể là dấu hiệu gì?
- Bài tập tư duy stakeholder: Giả sử PM của bạn yêu cầu "một dashboard để báo cáo cho ban giám đốc hằng tháng". Hãy liệt kê ra giấy 3 gadget bạn sẽ chọn và giải thích ngắn gọn vì sao — lưu ý phân biệt với dashboard dành cho team.
- Chia sẻ: Đặt quyền share dashboard cho một nhóm hoặc project role, rồi nhờ một đồng nghiệp xác nhận họ mở được.
Tóm tắt
Dashboard là công cụ biến dữ liệu JIRA rời rạc thành một bức tranh tổng thể, giúp BA giao tiếp với stakeholder bằng số liệu trực quan thay vì email dài dòng. Hãy nhớ chuỗi quan hệ cốt lõi: Filter (JQL) nuôi Gadget, Gadget nằm trong Dashboard. Vì vậy, luôn chuẩn bị filter chính xác trước khi dựng gadget.
Bốn gadget bạn cần thành thạo trước tiên là Filter Results (danh sách chi tiết), Pie Chart (tỷ lệ phân bổ), Created vs Resolved (xu hướng theo thời gian), và Two Dimensional Statistics (cái nhìn ma trận hai chiều). Chúng giải quyết phần lớn nhu cầu báo cáo hằng ngày.
Nguyên tắc vàng từ ba tình huống thực tế: thiết kế dashboard theo đối tượng người xem. Team cần chi tiết và tiến độ sprint; lãnh đạo cần xu hướng và tỷ lệ; khách hàng cần sự minh bạch về chất lượng. Một dashboard tốt không phải dashboard có nhiều gadget nhất, mà là dashboard trả lời đúng những câu hỏi mà người xem thường xuyên đặt ra.
Cuối cùng, đừng quên hai việc dễ bị bỏ sót: chia sẻ quyền xem và dùng hàm động (như openSprints()) để dashboard luôn tự cập nhật. Nắm vững những điều này, bạn đã có trong tay một trong những công cụ tạo uy tín mạnh nhất cho một BA — khả năng khiến cả team và stakeholder tin vào dữ liệu của bạn.