Template Google Sheets Quản Lý Dự Án Phần Mềm: Agile Sprint Board 2026

Tuân HoangTuân Hoang
5 tháng 11, 2026
11 phút đọc
Template Google Sheets Quản Lý Dự Án Phần Mềm: Agile Sprint Board 2026

Template Google Sheets Quản Lý Dự Án Phần Mềm: Agile Sprint Board 2026

Jira quá đắt? Trello quá đơn giản? Đối với các team phần mềm nhỏ (3-15 người), Google Sheets thực sự là một lựa chọn tuyệt vời cho Agile project management. Miễn phí, linh hoạt, và mọi người trong team đều đã biết cách dùng.

Bài viết này cung cấp template Agile Sprint Board hoàn chỉnh cho Google Sheets, kèm hướng dẫn triển khai Scrum, tạo velocity chart, burndown chart và quản lý backlog hiệu quả.

1. Tại Sao Dùng Google Sheets Cho Agile Project Management?

Ưu điểm so với công cụ chuyên dụng

Tiêu chí Jira Trello Google Sheets
Chi phí (10 người) ~$100-200/tháng ~$50-100/tháng Miễn phí
Tùy chỉnh workflow Cao (phức tạp) Thấp Rất cao
Báo cáo tùy chỉnh Có (cần plugin) Rất hạn chế Rất linh hoạt
Học sử dụng Khó Dễ Dễ (ai cũng biết)
Phù hợp team size 10+ người 5-20 người 3-15 người

Nên dùng khi: Team nhỏ dưới 15 người, budget hạn chế, cần tùy chỉnh báo cáo phức tạp, đang bắt đầu Agile muốn thử nghiệm trước.

Không nên dùng khi: Team lớn hơn 20 người, cần kanban board trực quan real-time, cần tích hợp CI/CD pipeline và Git commits.

2. Cấu Trúc Template Agile Sprint Board

Tab 1: Dashboard - Tổng quan dự án

  • Sprint hiện tại: số, ngày bắt đầu/kết thúc, mục tiêu sprint
  • Story points: Committed vs Completed vs Remaining
  • Velocity trung bình 5 sprint gần nhất
  • Burndown chart mini và số bugs mở/đóng

Tab 2: Product Backlog

  • ID, Loại (Epic/Story/Bug/Task/Spike)
  • Tiêu đề và mô tả User Story
  • Story Points (1/2/3/5/8/13)
  • Priority (Must Have/Should Have/Could Have)
  • Status (Backlog/Refined/Ready/In Sprint/Done)
  • Assigned To, Sprint, Acceptance Criteria

Tab 3: Sprint Board (Kanban View)

  • Cột: To Do, In Progress, Code Review, Testing, Done
  • Filter theo Assignee, Priority, Type
  • Theo dõi Blockers và dependencies

Tab 4-7: Burndown, Velocity, Retrospective, Team Capacity

  • Burndown: ideal line vs actual line mỗi ngày trong sprint
  • Velocity: points committed vs completed, dự báo sprint tiếp theo
  • Retrospective: What went well / What didn't / Action items
  • Capacity: ngày vắng mặt, giờ khả dụng từng thành viên

3. Quản Lý Product Backlog Hiệu Quả

Cấu trúc User Story chuẩn


STORY ID: US-001
EPIC: Authentication & Authorization
TIEU DE: Dang nhap bang Google OAuth

AS A: Nguoi dung chua co tai khoan
I WANT TO: Dang nhap nhanh bang tai khoan Google
SO THAT: Khong can nho them mat khau moi

ACCEPTANCE CRITERIA:
- Hien thi nut "Dang nhap voi Google" tren trang login
- Sau khi xac thuc, redirect ve dashboard
- Tu dong tao tai khoan neu email chua ton tai

STORY POINTS: 5
PRIORITY: Must Have
  

Backlog Refinement hàng tuần

  1. PM cập nhật cột "Ready for Refinement" = TRUE
  2. Team họp refinement, thảo luận từng story
  3. Cập nhật Acceptance Criteria chi tiết hơn
  4. Team vote Story Points (Planning Poker)
  5. Top stories Ready được đưa vào sprint tiếp theo

Công thức lọc backlog theo priority


// Lọc stories theo priority
=QUERY(Backlog!A:L,
  "SELECT A,B,C,D,E,F
   WHERE G = 'Must Have'
   AND H = 'Ready'
   ORDER BY E DESC",
  1)

// Đếm story points theo priority
=SUMIF(Backlog!G:G, "Must Have", Backlog!E:E)
  

4. Sprint Planning Với Google Sheets

Tính team capacity cho sprint


// Số ngày làm việc trong sprint
=NETWORKDAYS(sprint_start, sprint_end) - so_ngay_nghi_le

// Capacity thực tế (70% productive time)
=so_ngay_lam_viec * 8 * so_thanh_vien * 0.7

// Quy đổi sang story points
=capacity_thuc_te / (8 * so_thanh_vien)
  

Definition of Done checklist

  • Code được review và approved bởi ít nhất 1 người
  • Unit tests được viết với độ bao phủ tốt
  • Integration tests pass
  • Code merge vào develop branch và documentation cập nhật
  • Demo được QA team verify và Product Owner accept

5. Tạo Burndown Chart Trong Google Sheets

Chuẩn bị dữ liệu burndown


// Cột A: Ngày | Cột B: Ideal Remaining | Cột C: Actual Remaining

// Tính Ideal Remaining từng ngày:
=sprint_total_points - (sprint_total_points / sprint_total_days * (ROW()-2))

// Actual Remaining = Stories chưa Done tính theo points
=SUMIF(SprintBoard!H:H, "<>Done", SprintBoard!E:E)
  

Tạo biểu đồ burndown

  1. Chọn vùng dữ liệu A:C (Ngày, Ideal, Actual)
  2. Insert → Chart → Line chart
  3. Ideal line: màu xám, dashed
  4. Actual line: màu xanh dương, bold
  5. Y-axis: Story Points Remaining | X-axis: Ngày trong sprint

Script cập nhật burndown tự động


function capNhatBurndown() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sprintBoard = ss.getSheetByName('Sprint Board');
  const burndown = ss.getSheetByName('Burndown Chart');

  const data = sprintBoard.getDataRange().getValues();
  let remaining = 0;
  for (let i = 1; i < data.length; i++) {
    if (data[i][7] !== 'Done') {
      remaining += parseInt(data[i][4]) || 0;
    }
  }

  const today = new Date();
  const burndownData = burndown.getDataRange().getValues();
  for (let i = 1; i < burndownData.length; i++) {
    if (burndownData[i][0].toDateString() === today.toDateString()) {
      burndown.getRange(i + 1, 3).setValue(remaining);
      break;
    }
  }
}
  

6. Velocity Chart Theo Dõi Tốc Độ Team


// Velocity trung bình 5 sprint gần nhất
=AVERAGE(OFFSET(VelocityData!C2, COUNT(VelocityData!C:C)-5, 0, 5, 1))

// Dự báo số sprint cần để hoàn thành backlog
=CEILING(remaining_backlog_points / average_velocity)

// Dự báo ngày hoàn thành
=TODAY() + (sprints_needed * sprint_length_days)

// % thời gian dành cho bugs vs features
=SUMIF(SprintHistory!D:D, "Bug", SprintHistory!F:F) / SUM(SprintHistory!F:F) * 100
  

7. Sprint Retrospective Template

Format 4Ls (Liked/Learned/Lacked/Longed For)

Liked (Thích) Learned (Học được) Lacked (Thiếu) Longed For (Mong muốn)
CI/CD pipeline hoạt động ổn định Kỹ thuật React Query cải thiện performance Thiếu documentation cho API mới Muốn có automated E2E tests
Daily standup ngắn gọn, đúng giờ Cách debug memory leaks Thiếu design spec trước khi dev Cần code review nhanh hơn

8. Tự Động Hóa Với Google Apps Script


function taoSprintMoi() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const config = ss.getSheetByName('Config');
  const current_sprint = config.getRange('B2').getValue();
  const new_sprint_num = current_sprint + 1;

  const template = ss.getSheetByName('Sprint Template');
  const new_sprint = template.copyTo(ss);
  new_sprint.setName('Sprint ' + new_sprint_num);
  new_sprint.setTabColor('#4CAF50');
  config.getRange('B2').setValue(new_sprint_num);

  const start_date = new Date();
  const end_date = new Date(start_date.getTime() + 14 * 24 * 60 * 60 * 1000);
  new_sprint.getRange('B1').setValue(start_date);
  new_sprint.getRange('B2').setValue(end_date);

  SpreadsheetApp.getUi().alert('Sprint ' + new_sprint_num + ' da duoc tao!');
}
  

Tips Thực Tế Từ Team Đang Dùng

Tip 1: Color coding cho status

Dùng conditional formatting tô màu tự động: To Do (xám), In Progress (xanh dương), Code Review (cam), Testing (vàng), Done (xanh lá), Blocked (đỏ).

Tip 2: Data validation cho Story Points

Data → Data validation → List of items: 1, 2, 3, 5, 8, 13, 21 — chỉ cho phép nhập Fibonacci numbers.

Tip 3: Link đến Pull Requests

Thêm cột "PR Link" trong Sprint Board để link trực tiếp đến GitHub/GitLab Pull Request. Giúp code reviewer dễ truy cập.

Kết Luận

Google Sheets hoàn toàn có thể đáp ứng nhu cầu Agile project management cho team phần mềm nhỏ và vừa. Chi phí bằng 0, tùy chỉnh vô hạn, không cần train team về tool mới.

Bắt đầu với template cơ bản, thêm dần automation sau vài sprint khi team đã quen workflow. Khi team grow lên 20+ người, đó là lúc cân nhắc upgrade lên Jira hoặc Linear.

Xem thêm các giải pháp quản lý dự án tại SheetStore.

Tài Nguyên

Chia sẻ bài viết:

Tuân Hoang

Tuân Hoang

Đội ngũ SheetStore

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.

Nhận thông báo khi có bài viết mới. Không spam, hứa luôn! 😊

Bình luận (0)

Vui lòng đăng nhập để tham gia thảo luận