0

7 Giai Đoạn Phát Triển Phần Mềm Với AI – Bí Quyết Ship Code Chất Lượng Cao Từ Matt Pocock

Hôm nay mình vừa xem xong video mới toanh của Matt Pocock (một trong những dev TypeScript nổi tiếng nhất thế giới) có tiêu đề “The 7 phases of AI-driven development”. Video chỉ dài khoảng 8 phút nhưng cực kỳ cô đọng và thực tế. Nếu bạn đang dùng Claude Code, Cursor, Windsurf hay bất kỳ AI coding assistant nào thì đây chính là “bản đồ” giúp bạn không còn rơi vào tình trạng “vibe coding” nữa, mà ship được sản phẩm sạch, bền và chuyên nghiệp.

Mình sẽ tóm tắt + diễn giải chi tiết 7 giai đoạn này, kèm cách áp dụng thực tế để bạn có thể copy-paste ngay vào workflow của mình.

1. Idea (Ý tưởng)

Bắt đầu từ một ý tưởng đơn giản:

  • Build một app mới
  • Thêm feature
  • Fix bug
  • Hay chỉ refactor codebase

Mẹo thực tế: Đừng vội nhảy thẳng vào code. Hãy viết ra 1–2 câu mô tả rõ ràng ý tưởng đó giải quyết vấn đề gì của người dùng.

2. Research (Nghiên cứu)

Đây là giai đoạn cực kỳ quan trọng mà đa số dev bỏ qua khi dùng AI.

  • Tìm hiểu thư viện, API, best practices
  • So sánh các cách tiếp cận khác nhau
  • Ghi chú lại những thứ quan trọng vào file research.md (Matt khuyên nên cache luôn để AI sau này đọc được)

Lợi ích: AI sẽ không bị “hallucinate” lung tung vì đã có dữ liệu thực tế trong repo.

3. Prototype (Xây dựng mẫu thử)

Tạo nhanh 1–2 phiên bản prototype để “impose your taste” (áp đặt gu thẩm mỹ của bạn).

  • UI prototype (Figma hoặc code nhanh)
  • Architecture prototype (cách tổ chức folder, state management…)

Sau đó chọn cái nào phù hợp nhất rồi mới đi sâu.

Matt nói: “Prototype là cách nhanh nhất để bạn quyết định hướng đi mà không phí công sức lớn.”

4. PRD – Product Requirements Document (Tài liệu yêu cầu sản phẩm)

Đây là “bản thiết kế cuối cùng” của toàn bộ dự án.

Nội dung nên có:

  • Hành vi người dùng cuối (user-facing behavior)
  • Các quyết định thiết kế đã chọn
  • Edge cases quan trọng
  • Non-functional requirements (performance, security…)

Matt khuyên dùng GitHub Issues hoặc Linear để viết PRD này, vì sau này dễ chuyển thành tickets.

5. Implementation Planning (Lập kế hoạch thực thi)

Phân tích PRD thành các tasks/tickets nhỏ.

  • Sử dụng Kanban board (GitHub Projects, Linear, Notion…)
  • Xác định dependencies (task nào phải làm trước)
  • Quyết định task nào làm song song được

Giai đoạn này giúp AI agent không bị “lạc đường” khi chạy loop.

6. Execution (Thực thi)

Bây giờ mới đến lúc “thả” AI vào làm thật!

  • Chạy Ralph loop, GSD (Get Stuff Done) hoặc SpecKit
  • Có thể chạy nhiều agent song song nếu dùng Claude Code worktree
  • AI sẽ tự implement từng ticket một

Matt nhấn mạnh: “Execution không phải là giai đoạn duy nhất – nó chỉ là 1/7.”

7. QA (Quality Assurance) – Giai đoạn quan trọng nhất

Không có QA thì mọi thứ trước đều vô ích!

Quy trình Matt khuyến nghị:

  1. AI tự tạo QA plan (danh sách test cases)
  2. Human review code (bạn hoặc senior)
  3. Chạy test, fix bug → quay lại Execution nếu cần
  4. Lặp lại đến khi đạt chất lượng

“Human-in-the-loop” vẫn cực kỳ quan trọng, đặc biệt ở QA.

Tại sao quy trình này mạnh đến vậy?

  • Giúp bạn ship nhanh hơn nhưng vẫn giữ được chất lượng engineering cao
  • Tránh tình trạng codebase thành “mớ hỗn độn” vì AI
  • Dễ scale khi team có nhiều người + nhiều AI agent làm cùng lúc

Matt kết luận: “AI không thay thế engineer giỏi, mà biến engineer giỏi thành siêu engineer.”

Cách áp dụng ngay hôm nay

  1. Tạo template folder trong mọi project:
    ├── research.md
    ├── prd.md
    ├── qa-plan.md
    └── tasks/ (kanban)
    
  2. Lần sau muốn build feature nào, cứ đi tuần tự 7 bước này.
  3. Kết hợp với công cụ Matt đang phát triển: Ralph (aihero.dev) – một AI agent cực mạnh.

Link xem video gốc

https://www.youtube.com/watch?v=Ah9p7v7nJWg


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí