Quản Lý Dự Án Agile/Scrum Bằng Google Sheets [Không Cần Jira 2026]
![Ảnh minh họa bài viết: Quản Lý Dự Án Agile/Scrum Bằng Google Sheets [Không Cần Jira 2026]](/og-image.jpg)
Khi Nào Không Cần Jira? (Và Tại Sao Google Sheets Đủ Dùng)
Jira là công cụ quản lý dự án mạnh mẽ — nhưng không phải team nào cũng cần đến nó. Với mức giá $8–15/user/tháng, một team 10 người đã tốn hơn $1.000/năm chỉ cho phần mềm quản lý. Chưa kể thời gian thiết lập 2–4 giờ, vô số tùy chọn phức tạp và đường cong học tập dốc.
Google Sheets phù hợp thay thế Jira khi team của bạn thuộc một trong các trường hợp sau:
- Team ≤15 người: Đủ nhỏ để quản lý trong bảng tính mà không bị mất kiểm soát.
- Startup hoặc SMB không muốn trả $8–15/user/tháng: Google Sheets miễn phí với mọi tài khoản Google.
- Dự án không quá phức tạp: Không cần custom workflow nâng cao, tích hợp CI/CD, hay automation pipeline.
- Team không quen tool phức tạp: Sheets là thứ mọi người đã biết dùng — không cần đào tạo thêm.
Bài viết này sẽ hướng dẫn bạn xây dựng hệ thống quản lý Agile/Scrum đầy đủ trong Google Sheets, gồm 6 sheet chức năng từ Product Backlog đến Retrospective — tất cả trong vòng 30 phút setup.
Tổng Quan Template 6 Sheet
Hệ thống Agile/Scrum trong Google Sheets được tổ chức thành 6 sheet, mỗi sheet phục vụ một mục đích cụ thể trong quy trình Scrum:
- Product Backlog — Kho chứa toàn bộ user story và yêu cầu
- Sprint Board — Bảng Kanban cho sprint hiện tại
- Sprint Planning — Lập kế hoạch và quản lý capacity
- Burndown Chart — Theo dõi tiến độ sprint theo ngày
- Velocity Tracking — Lịch sử tốc độ hoàn thành của team
- Retrospective — Ghi chép bài học và hành động cải thiện
Tạo một Google Sheets mới, đặt tên file theo project (ví dụ: "Project X — Agile Board"), rồi tạo 6 tab tương ứng theo hướng dẫn dưới đây.
Sheet 1: Product Backlog
Product Backlog là trái tim của Agile — nơi chứa toàn bộ những gì team cần xây dựng, sắp xếp theo mức độ ưu tiên.
Cấu trúc cột
| Cột | Mô tả | Ví dụ |
|---|---|---|
| Story ID | Mã định danh duy nhất | US-001, US-002 |
| User Story | Câu chuyện người dùng theo format chuẩn | Là user, tôi muốn... để... |
| Priority | Mức độ ưu tiên MoSCoW | Must / Should / Could / Won't |
| Story Points | Ước tính độ phức tạp (Fibonacci: 1,2,3,5,8,13) | 3 |
| Epic | Nhóm tính năng lớn | Authentication, Payment |
| Trạng thái | Vị trí hiện tại trong quy trình | Backlog / In Sprint / Done |
| Sprint | Sprint được assign vào | Sprint 3 |
| Ghi chú | Acceptance criteria hoặc ghi chú kỹ thuật | Cần test trên mobile |
Ví dụ user story chuẩn
Format chuẩn của user story theo Agile:
"Là [vai trò], tôi muốn [hành động] để [mục đích]"
Ví dụ thực tế:
- "Là user, tôi muốn đăng nhập bằng Google để không phải nhớ mật khẩu"
- "Là admin, tôi muốn xem báo cáo doanh thu theo tuần để theo dõi xu hướng"
- "Là khách hàng, tôi muốn nhận email xác nhận đơn hàng để biết đơn đã được xử lý"
Prioritization với MoSCoW
MoSCoW giúp team đồng thuận về mức độ ưu tiên:
- Must Have: Bắt buộc phải có — sản phẩm không thể ra mắt thiếu tính năng này
- Should Have: Quan trọng nhưng không bắt buộc cho MVP
- Could Have: Nice-to-have nếu còn thời gian
- Won't Have: Đồng ý không làm trong giai đoạn này
Áp dụng Data Validation cho cột Priority: chọn cột → Data → Data Validation → List of items: Must,Should,Could,Won't.
Sheet 2: Sprint Board (Kanban Hiện Tại)
Sprint Board là nơi team nhìn vào mỗi ngày trong daily standup. Thiết kế theo phong cách Kanban với 4 cột trạng thái.
Cấu trúc Kanban 4 cột
Tổ chức sheet thành 4 vùng ngang tương ứng 4 trạng thái:
| To Do | In Progress | Review | Done |
|---|---|---|---|
| Chưa bắt đầu | Đang làm | Đang review/test | Hoàn thành |
Mỗi task trong Sprint Board gồm các thông tin:
- Story ID: Liên kết về Product Backlog (ví dụ: US-001)
- Mô tả: Tóm tắt ngắn gọn tác vụ cụ thể
- Người làm: Tên thành viên được assign
- Story Points: Điểm phức tạp đã estimate
- Ngày bắt đầu: Khi nào task được pick up
- Ngày xong thực tế: Khi nào task chuyển sang Done
Conditional Formatting để nhìn trực quan
Thiết lập màu sắc để trạng thái nổi bật ngay lập tức:
- Chọn vùng dữ liệu → Format → Conditional Formatting
- Thêm rule:
Text contains "In Progress"→ nền xanh lá nhạt (#e8f5e9) - Thêm rule:
Text contains "Done"→ nền xám nhạt (#f5f5f5), chữ mờ - Thêm rule cho cột Ngày xong:
Custom formula: =AND(F2="",E2<TODAY())→ nền đỏ nhạt (task bị trễ)
Counter tự động theo trạng thái
Thêm một vùng tóm tắt ở đầu sheet để xem nhanh tình trạng sprint:
// Đặt ở ô H1:K2
To Do: =COUNTIF(D:D,"To Do")
In Progress: =COUNTIF(D:D,"In Progress")
Review: =COUNTIF(D:D,"Review")
Done: =COUNTIF(D:D,"Done")
Sheet 3: Sprint Planning
Sprint Planning sheet giúp Product Owner và Scrum Master chuẩn bị cho mỗi sprint — từ chọn story đến tính toán capacity team.
Thông tin Sprint Header
Sprint Number: Sprint 5
Start Date: 01/07/2026
End Date: 14/07/2026
Sprint Goal: Hoàn thiện tính năng thanh toán và email thông báo
Sprint Duration: 14 ngày
Working Days: 10 ngày (trừ cuối tuần)
Tính Capacity Team
Capacity = số giờ thực tế team có thể làm việc trong sprint:
// Bảng capacity từng thành viên
Tên | Giờ/ngày | Ngày làm | Capacity (giờ)
----------- | -------- | -------- | ---------------
Minh | 6 | 10 | 60
Thu | 7 | 8 | 56
Khoa | 6 | 10 | 60
Tổng capacity: 176 giờ
// Velocity sprint trước để ước tính
Velocity Sprint 4: 34 SP
Velocity trung bình 3 sprint gần nhất: 31 SP
// Story points planned cho Sprint 5
Planned SP: 32 (trong khoảng velocity ± 20%)
Danh sách Story Được Chọn
Liệt kê các story sẽ đưa vào sprint với tổng story points:
Story ID | User Story (tóm tắt) | SP | Người nhận
-------- | ------------------------------ | --- | ----------
US-012 | Tích hợp cổng thanh toán | 8 | Minh
US-013 | Email xác nhận đơn hàng | 5 | Thu
US-014 | Trang lịch sử giao dịch | 5 | Khoa
US-015 | Dashboard admin — doanh thu | 8 | Minh
US-016 | Xử lý lỗi thanh toán thất bại | 3 | Thu
US-017 | Unit test module payment | 3 | Khoa
Tổng: 32 SP
Sheet 4: Burndown Chart
Burndown Chart là biểu đồ quan trọng nhất trong Scrum — nó cho thấy team đang đi đúng hướng hay đang trễ so với kế hoạch.
Cấu trúc dữ liệu Burndown
Tạo bảng dữ liệu với hai cột chính: đường lý tưởng và đường thực tế.
| Ngày (Cột A) | SP Lý Tưởng (Cột B) | SP Thực Tế (Cột C) |
|---|---|---|
| Ngày 0 (Start) | 32 | 32 |
| Ngày 1 | 28.8 | 30 |
| Ngày 2 | 25.6 | 27 |
| Ngày 3 | 22.4 | 25 |
| ... | ... | Cập nhật hàng ngày |
| Ngày 10 (End) | 0 | ? |
Công thức tính đường lý tưởng
// Ô B1 (ngày 0): =TongSP (ví dụ: 32)
// Ô B2 (ngày 1): =B1 - (TongSP / WorkingDays)
// Kéo công thức xuống đến ngày cuối sprint
// Hoặc dùng công thức tổng quát cho ô B(n):
=TongSP * (1 - (ROW()-2) / WorkingDays)
Công thức tính story points còn lại mỗi ngày
// Story points còn lại = Tổng SP - SP của các task đã Done
// Cập nhật ô C tương ứng mỗi ngày sau standup:
=C_hôm_qua - SUMIFS(SprintBoard!D:D,"Done", SprintBoard!F:F, A_ngày_hôm_nay, SprintBoard!C:C)
// Đơn giản hơn: sau standup, nhập thủ công số SP Done vào cột E
// rồi C(n) = C(n-1) - E(n)
Ví dụ:
Ngày 4: Done thêm 5 SP → C4 = C3 - 5 = 25 - 5 = 20
Tạo biểu đồ Burndown
- Chọn vùng dữ liệu A1:C11 (hoặc tương ứng số ngày sprint)
- Insert → Chart
- Chọn Line chart
- Chart type: Line (không phải Smooth line)
- X-axis: Cột A (ngày)
- Series 1: Cột B — đặt tên "Ideal Burndown", màu xanh dương, đường đứt nét
- Series 2: Cột C — đặt tên "Actual Burndown", màu cam, đường liền
- Title: "Sprint 5 Burndown Chart"
Đọc kết quả burndown:
- Đường thực tế trên đường lý tưởng → team đang chậm, cần action
- Đường thực tế dưới đường lý tưởng → team đang ahead of schedule
- Đường thực tế phẳng nhiều ngày → có blocker, cần escalate
Sheet 5: Velocity Tracking
Velocity là thước đo quan trọng nhất để dự đoán khả năng delivery của team. Theo dõi velocity qua các sprint giúp team estimate chính xác hơn theo thời gian.
Cấu trúc Velocity Sheet
| Sprint | SP Committed | SP Completed | Velocity | Ghi chú |
|---|---|---|---|---|
| Sprint 1 | 20 | 18 | 18 | Sprint đầu, team mới quen |
| Sprint 2 | 25 | 22 | 22 | Một thành viên nghỉ 2 ngày |
| Sprint 3 | 30 | 30 | 30 | Sprint tốt nhất |
| Sprint 4 | 35 | 34 | 34 | Technical debt ảnh hưởng nhẹ |
| Sprint 5 | 32 | ... | ... | Đang chạy |
Công thức Velocity hữu ích
// Velocity trung bình toàn bộ sprint
=AVERAGE(C2:C10)
// Velocity trung bình 3 sprint gần nhất (rolling average)
=AVERAGE(OFFSET(C2,COUNT(C2:C10)-3,0,3,1))
// % hoàn thành so với committed
=C2/B2 // Format ô này thành Percentage
// Dự đoán SP cho sprint tiếp (dựa trên rolling average)
=ROUND(AVERAGE(OFFSET(C2,COUNT(C2:C10)-3,0,3,1)),0)
Biểu đồ Velocity
- Chọn cột Sprint (A) và SP Completed (C)
- Insert → Chart → Column chart
- Thêm SP Committed (B) làm series thứ 2 — đường ngang hoặc cột mờ
- Điều này giúp thấy rõ sprint nào team bị under-deliver
Cách dùng velocity để plan sprint: Nếu rolling average 3 sprint là 28 SP, hãy plan sprint tiếp ở mức 26–30 SP. Không nên commit quá 110% velocity trung bình.
Sheet 6: Retrospective
Retrospective là buổi họp cuối sprint, giúp team liên tục cải thiện quy trình. Ghi lại kết quả retro trong sheet để theo dõi action items.
Template Retro Start/Stop/Continue
| Sprint | START (Nên bắt đầu làm) | STOP (Nên ngừng làm) | CONTINUE (Tiếp tục làm tốt) |
|---|---|---|---|
| Sprint 4 | Code review trước khi merge; Viết test trước khi code | Họp ad-hoc không cần thiết; Commit thẳng vào main | Daily standup đúng giờ 9h; Pair programming cho task khó |
Cột Action Items
Phần quan trọng nhất của retro là action items cụ thể:
| Sprint | Action Item | Owner | Deadline | Done? |
|---|---|---|---|---|
| Sprint 4 | Setup CI pipeline tự động chạy test khi có PR | Minh | Sprint 5 ngày 3 | ☐ |
| Sprint 4 | Tạo template definition of done chung cho team | Scrum Master | Trước Sprint 5 planning | ☑ |
| Sprint 4 | Review và giảm technical debt trong module auth | Thu | Sprint 5 | ☐ |
Thêm checkbox vào cột Done bằng cách: chọn ô → Insert → Checkbox. Khi check xong action item, ô sẽ tick tự động.
Công Thức Tổng Hợp Cho Toàn Bộ Hệ Thống
Một số công thức hữu ích bạn sẽ dùng thường xuyên:
// % hoàn thành sprint hiện tại
=COUNTIF(SprintBoard!D:D,"Done") / COUNTA(SprintBoard!A2:A100)
// Format: Percentage → ví dụ 65%
// Story points còn lại trong sprint
=SUMIF(SprintBoard!D:D,"<>Done", SprintBoard!C:C)
// Trả về: tổng SP chưa Done
// Team capacity tổng (giờ)
=SUMPRODUCT(Planning!C2:C5 * Planning!D2:D5)
// C = giờ/ngày, D = ngày làm trong sprint
// Burndown — SP done hôm nay
=SUMIFS(SprintBoard!C:C, SprintBoard!D:D, "Done", SprintBoard!F:F, TODAY())
// C = Story Points, D = Trạng thái, F = Ngày hoàn thành
// Kiểm tra task nào bị trễ (chưa Done mà đã quá ngày)
=COUNTIFS(SprintBoard!D:D,"<>Done", SprintBoard!E:E,"<"&TODAY())
// Trả về số task đang bị trễ
Quy Trình Hàng Ngày Với Hệ Thống Này
Để hệ thống thực sự hoạt động, mọi người phải cập nhật đều đặn. Đây là quy trình đề xuất:
Daily Standup (15 phút)
- Mở Sprint Board — mọi người nhìn chung một màn hình
- Lần lượt từng người: "Hôm qua làm gì? Hôm nay làm gì? Có blocker không?"
- Người làm di chuyển task sang trạng thái mới (In Progress → Review → Done)
- Update Burndown Chart: nhập số SP Done hôm nay vào cột C
- Nếu có blocker → ghi vào cột Ghi chú, assign người giải quyết
Cuối Sprint
- Sprint Review: Demo sản phẩm cho stakeholder, review Sprint Board
- Velocity Update: Tổng kết SP completed vào Velocity Sheet
- Retrospective: Họp 1 giờ, điền vào Retro Sheet, tạo action items
- Sprint Planning mới: Chọn story từ Backlog, tính capacity, tạo Sprint Board mới
Tips Để Mọi Người Thực Sự Cập Nhật
- Pin link Google Sheets vào Slack/Teams channel của team
- Đặt Scrum Master làm người check và nhắc cập nhật mỗi ngày
- Giữ Sprint Board đơn giản — đừng thêm quá nhiều cột không cần thiết
- Review Burndown Chart cùng nhau trong standup để mọi người thấy ý nghĩa
So Sánh Sheets vs Jira: Khi Nào Nên Nâng Cấp?
| Tiêu chí | Google Sheets | Jira |
|---|---|---|
| Chi phí | Miễn phí | $8–15/user/tháng |
| Setup time | 30 phút | 2–4 giờ |
| Automation | Apps Script (cần code) | Built-in automation rules |
| Reporting | Tự xây biểu đồ | Built-in dashboard, custom JQL |
| Integration | API/Zapier/Make | 1.000+ integrations |
| Custom Workflow | Hạn chế | Đầy đủ (state machine) |
| CI/CD Integration | Không | GitHub, Bitbucket, Jenkins |
| Phù hợp cho | Team ≤15, dự án đơn giản | Team lớn, workflow phức tạp |
Dấu hiệu cần chuyển sang Jira
- Team vượt 15 người và việc cập nhật Sheets trở nên hỗn loạn
- Bạn cần tích hợp với GitHub, GitLab để link commit với task
- Cần custom workflow phức tạp: nhiều trạng thái, điều kiện chuyển trạng thái
- Cần permission phân cấp (dev chỉ thấy task của mình, manager thấy tất cả)
- Cần audit trail — ai đã làm gì, lúc mấy giờ
Kết Luận
Agile không phải là về tool — nó là về mindset và quy trình. Google Sheets với 6 sheet trong bài này đủ sức hỗ trợ một team nhỏ chạy Scrum đúng nghĩa: có backlog, có sprint planning, có burndown chart theo dõi tiến độ hàng ngày, có retrospective để cải thiện liên tục.
Setup mất khoảng 30 phút. Chi phí: $0. Và vì mọi người đã quen Sheets, không cần thêm một buổi training nào.
Bắt đầu với Sprint 1 đơn giản — chỉ dùng Product Backlog và Sprint Board. Sau 2–3 sprint khi team đã quen quy trình, thêm Burndown Chart và Velocity Tracking. Đến lúc bạn thực sự cần nhiều hơn những gì Sheets có thể làm, bạn đã biết chính xác tính năng nào mình cần từ Jira — và đó là lúc hợp lý để nâng cấp.
Tài liệu tham khảo: The Scrum Guide 2020 | Google Sheets Help
Chia sẻ bài viết:
Tuân Hoang
Đội ngũ SheetStore
Google Workspace Certified, 5+ years experience
Bạn thấy bài viết hữu ích?
Đăng ký nhận thông báo khi có bài viết mới.
