📱 Học IELTS miễn phí: App IELTS 6.0

Giới Thiệu

Bạn đã bao giờ mở Jira và thấy những ticket kiểu này chưa?

1
2
Title: Fix bug
Description: (trống)

Hay:

1
2
Title: Làm tính năng login
Description: Anh cần tính năng login, em fix giúp nhé

😅 Không ai hiểu phải làm gì, scope tới đâu, test thế nào.

Trong môi trường làm việc quốc tế, viết Jira ticket rõ ràng bằng tiếng Anh là kỹ năng quan trọng mà developer, QA, và PM đều cần. Ticket tốt giúp team hiểu chính xác cần làm gì, giảm meeting, giảm miscommunication.

Bài viết này hướng dẫn bạn cách viết 3 loại ticket phổ biến nhất: User Story, Task, và Bug — với mẫu câu, từ vựng, và ví dụ thực tế.


1. User Story — Mô Tả Tính Năng Từ Góc Nhìn Người Dùng

Format chuẩn

1
As a [role], I want to [action], so that [benefit].

Ví dụ thực tế

User StoryGiải thích
As a logged-in user, I want to reset my password via email, so that I can regain access if I forget it.Người dùng đã đăng nhập muốn đổi mật khẩu qua email
As an admin, I want to export user data as CSV, so that I can generate monthly reports.Admin muốn xuất dữ liệu người dùng dạng CSV
As a mobile user, I want to receive push notifications for order updates, so that I can track my delivery in real time.Người dùng mobile muốn nhận thông báo đơn hàng

Acceptance Criteria (Tiêu chí chấp nhận)

Đây là phần quan trọng nhất — nếu thiếu, developer không biết khi nào thì “xong”.

Format Given-When-Then:

1
2
3
Given [precondition]
When [action]
Then [expected result]

Ví dụ:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
Acceptance Criteria:

Given the user is on the login page
When they click "Forgot Password" and enter their email
Then they receive a password reset link within 5 minutes

Given the reset link is valid
When the user sets a new password (min 8 characters)
Then they are redirected to the login page with a success message

Given the reset link has expired (after 24 hours)
When the user clicks the link
Then they see an error message: "This link has expired"

Các mẫu câu hay dùng trong User Story

EnglishTiếng Việt
As a user, I want to…Là người dùng, tôi muốn…
So that I can…Để tôi có thể…
This feature should…Tính năng này nên…
The system shall…Hệ thống sẽ…
Out of scope: …Ngoài phạm vi: …
Edge case: …Trường hợp biên: …
Dependencies: …Phụ thuộc: …
Priority: Critical / High / Medium / LowMức ưu tiên: Nghiêm trọng / Cao / Trung bình / Thấp

2. Task — Công Việc Kỹ Thuật Cụ Thể

Task khác User Story ở chỗ: nó không viết từ góc nhìn người dùng, mà mô tả công việc kỹ thuật cần làm.

Template

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
Title: [Verb] + [Object] + [Context]

Description:
## Objective
[What needs to be done and why]

## Technical Details
- [Detail 1]
- [Detail 2]

## Definition of Done
- [ ] [Checklist item 1]
- [ ] [Checklist item 2]

## Notes
[Any additional context]

Ví dụ thực tế

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Title: Set up CI/CD pipeline for staging environment

Description:
## Objective
Configure GitHub Actions to automatically deploy the staging
branch to our AWS staging environment, reducing manual deployment
time from 30 minutes to under 5 minutes.

## Technical Details
- Create `.github/workflows/staging-deploy.yml`
- Use AWS ECS Fargate for container deployment
- Add Slack notification on deployment success/failure
- Environment variables stored in GitHub Secrets

## Definition of Done
- [ ] Pipeline triggers on push to `staging` branch
- [ ] Docker image built and pushed to ECR
- [ ] ECS service updated with new task definition
- [ ] Slack notification sent on success and failure
- [ ] Pipeline runs under 10 minutes
- [ ] Documentation updated in README

## Notes
- Reuse existing Dockerfile from production pipeline
- Staging DB credentials in AWS Secrets Manager

Động từ hay dùng trong Task title

VerbNghĩaVí dụ
Set upThiết lậpSet up monitoring dashboard
ImplementTriển khaiImplement caching layer
ConfigureCấu hìnhConfigure SSL certificates
MigrateDi chuyểnMigrate database to PostgreSQL
RefactorTái cấu trúcRefactor authentication module
OptimizeTối ưuOptimize image loading performance
UpgradeNâng cấpUpgrade Node.js to v20 LTS
IntegrateTích hợpIntegrate Stripe payment gateway
InvestigateĐiều traInvestigate memory leak in production
DocumentViết tài liệuDocument API endpoints

3. Bug Report — Báo Cáo Lỗi

Template

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Title: [Component] — [Brief description of the bug]

Description:
## Environment
- Browser/Device: [e.g., Chrome 120, iPhone 15]
- OS: [e.g., macOS 14.2, Android 14]
- Environment: [staging/production]
- Version/Build: [e.g., v2.3.1]

## Steps to Reproduce
1. [Step 1]
2. [Step 2]
3. [Step 3]

## Expected Behavior
[What should happen]

## Actual Behavior
[What actually happens]

## Screenshots/Logs
[Attach evidence]

## Severity
[Critical / Major / Minor / Trivial]

## Additional Context
[Any other relevant info]

Ví dụ thực tế

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Title: Checkout  Payment fails silently when using Visa cards

## Environment
- Browser: Chrome 122 on macOS 14.3
- Environment: Production
- Version: v3.1.0

## Steps to Reproduce
1. Add any item to cart
2. Proceed to checkout
3. Select "Credit Card" as payment method
4. Enter a valid Visa card number
5. Click "Place Order"

## Expected Behavior
Order is processed and user sees confirmation page.

## Actual Behavior
Page reloads without any error message. Order is NOT created.
Console shows: `Uncaught TypeError: Cannot read property
'token' of undefined`

## Screenshots/Logs
- Console error: [screenshot attached]
- Network tab shows 500 error on POST /api/payments

## Severity
Critical  Affects all Visa card payments (est. 60% of transactions)

## Additional Context
- Mastercard payments work correctly
- Issue started after deployment on 2026-04-09
- Possibly related to Stripe SDK upgrade in PR #847

Mức độ nghiêm trọng (Severity)

SeverityNghĩaKhi nào dùng
Critical /ˈkrɪtɪkəl/Nghiêm trọngHệ thống sập, mất dữ liệu, không dùng được
Major /ˈmeɪdʒər/LớnTính năng chính bị lỗi, có workaround
Minor /ˈmaɪnər/NhỏTính năng phụ bị lỗi, ít ảnh hưởng
Trivial /ˈtrɪviəl/Rất nhỏLỗi UI nhỏ, typo, cosmetic

4. Bảng Từ Vựng Jira Quan Trọng

Từ vựngPhiên âm IPANghĩa tiếng Việt
Ticket/ˈtɪkɪt/Phiếu công việc
User Story/ˈjuːzər ˈstɔːri/Câu chuyện người dùng
Epic/ˈɛpɪk/Nhóm tính năng lớn
Sprint/sprɪnt/Giai đoạn phát triển (1-4 tuần)
Backlog/ˈbæklɒɡ/Danh sách công việc chờ
Acceptance Criteria/əkˈsɛptəns kraɪˈtɪəriə/Tiêu chí chấp nhận
Definition of Done/ˌdɛfɪˈnɪʃən əv dʌn/Định nghĩa hoàn thành
Blocker/ˈblɒkər/Vấn đề chặn tiến độ
Assignee/ˌæsaɪˈniː/Người được giao việc
Reporter/rɪˈpɔːrtər/Người báo cáo/tạo ticket
Story Points/ˈstɔːri pɔɪnts/Điểm ước lượng độ phức tạp
Subtask/ˈsʌbtɑːsk/Công việc con
Linked Issue/lɪŋkt ˈɪʃuː/Vấn đề liên quan
Due Date/djuː deɪt/Hạn chót
Workflow/ˈwɜːrkfloʊ/Quy trình làm việc
Resolution/ˌrɛzəˈluːʃən/Cách giải quyết
Reproduce/ˌriːprəˈdjuːs/Tái hiện (lỗi)
Workaround/ˈwɜːrkəˌraʊnd/Giải pháp tạm thời
Regression/rɪˈɡrɛʃən/Lỗi quay lại (do code mới)
Scope/skoʊp/Phạm vi công việc

5. Những Lỗi Thường Gặp Khi Viết Ticket

❌ Sai → ✅ Đúng

SaiĐúngTại sao
“Fix login bug”“Login — Users cannot log in with Google SSO on mobile”Cụ thể component, vấn đề, platform
“Add new feature”“Implement export-to-PDF for invoice page”Nói rõ tính năng gì, ở đâu
“It doesn’t work”“API returns 500 when request body exceeds 10MB”Mô tả chính xác lỗi gì
“ASAP”“Priority: Critical — Blocking release v3.2”Dùng severity level chuẩn
Description trốngĐủ Steps to Reproduce + Expected/ActualKhông ai đoán được ý bạn
“Em test thấy lỗi”“Tested on Chrome 122, macOS 14.3, staging env”Ghi rõ environment

Tips viết ticket tốt

  1. Một ticket = một việc — Đừng gộp nhiều bug vào 1 ticket
  2. Title phải self-explanatory — Đọc title là hiểu cần làm gì
  3. Luôn có Acceptance Criteria — Không có = không biết khi nào xong
  4. Attach evidence — Screenshot, log, video recording
  5. Link related tickets — “Blocked by PROJ-123”, “Related to PROJ-456”
  6. Update status — Đừng để ticket “In Progress” 3 tuần không update

6. Mẫu Comment Trong Jira

Khi update tiến độ hoặc thảo luận trong ticket:

Báo cáo tiến độ

1
2
3
Update: Completed the database migration script.
Currently running integration tests.
ETA for completion: Tomorrow EOD.

Hỏi clarification

1
2
3
4
5
6
@PM — Could you clarify the expected behavior when the user
has multiple addresses? Should we:
a) Use the most recent address as default, or
b) Prompt the user to select one?

This affects the checkout flow and estimated effort.

Báo blocker

1
2
3
4
5
⚠️ Blocked: Cannot proceed with payment integration.
The Stripe API key for staging is expired.

Action needed: @DevOps please update the key in AWS Secrets Manager.
Ref: PROJ-890

Đóng ticket

1
2
3
4
Resolved in PR #523.
- Tested on staging ✅
- QA verified ✅
- Ready for production deployment.

7. Practice — Bài Tập Thực Hành

Bài 1: Viết User Story

Viết User Story cho tính năng: “Người dùng muốn lọc sản phẩm theo giá”

Gợi ý format:

1
2
3
4
5
6
As a [___], I want to [___], so that [___].

Acceptance Criteria:
Given [___]
When [___]
Then [___]

Bài 2: Viết Bug Report

Bạn phát hiện lỗi: Nút “Add to Cart” không hoạt động trên Safari mobile. Hãy viết bug report đầy đủ.

Bài 3: Sửa ticket title

Sửa các title sau cho đúng chuẩn:

  1. “bug” → ___
  2. “update database” → ___
  3. “khách hàng phàn nàn” → ___
  4. “todo” → ___
📝 Đáp án gợi ý

Bài 1:

1
2
3
4
5
6
7
8
As a shopper, I want to filter products by price range,
so that I can quickly find items within my budget.

Acceptance Criteria:
Given the user is on the product listing page
When they set the price filter from $10 to $50
Then only products within that range are displayed
And the product count updates accordingly

Bài 3:

  1. “Login — Google SSO returns 403 error on production”
  2. “Migrate user table from MySQL 5.7 to MySQL 8.0”
  3. “Dashboard — Page load time exceeds 10s for accounts with 1000+ records”
  4. “Implement email notification for order status changes”

Kết Luận

Viết Jira ticket tốt bằng tiếng Anh không khó — chỉ cần follow templateđủ thông tin. Nhớ 3 nguyên tắc:

  1. Clear — Rõ ràng, ai đọc cũng hiểu
  2. Complete — Đủ thông tin để bắt tay vào làm
  3. Concise — Ngắn gọn, không lan man

Ticket tốt = ít meeting hơn = ship nhanh hơn = team vui hơn! 🚀


Bài viết thuộc series Workplace English — Tiếng Anh cho dân IT đi làm. Theo dõi eng4it.com để cập nhật bài mới mỗi ngày!