Chuyển đến nội dung chính
Tài nguyên

Checklist 15 điểm cần kiểm tra khi tiếp quản source code

8 phút đọc

Đừng nhận bàn giao mã nguồn nếu đối tác cũ chưa cung cấp đủ các tài nguyên thiết yếu trong danh sách này.

AICâu trả lời trực tiếp

Khi nhận bàn giao source code từ đơn vị cũ, bạn bắt buộc phải kiểm tra: 1) Quyền Admin mã nguồn (Github/Gitlab), 2) Quyền truy cập server và database (AWS/GCP/Cpanel), 3) Danh sách biến môi trường (.env), 4) Mật khẩu các dịch vụ API bên thứ 3, 5) Tài liệu kiến trúc và hướng dẫn cài đặt (README), 6) Thông tin license của các thư viện trả phí. Thiếu 1 trong các yếu tố này có thể khiến hệ thống không thể bảo trì hoặc mở rộng.

Tại sao việc tiếp quản source code lại rủi ro?

Nhiều doanh nghiệp sau khi "nhận bàn giao" phần mềm từ đơn vị cũ mới phát hiện ra rằng họ không thực sự kiểm soát được hệ thống. Server vẫn đang chạy dưới tên account cá nhân của developer cũ. Database password chỉ có một mình họ biết. File .env chứa API keys không được bàn giao. Đây là những tình huống thực tế xảy ra thường xuyên.

Checklist 15 điểm bắt buộc khi tiếp quản

Nhóm A — Quyền truy cập (Access Control)

  1. ✅ Quyền Admin Git Repository: Đảm bảo tài khoản công ty của bạn là Owner trên Github/Gitlab. Không phải Collaborator, phải là Owner. Verify bằng cách kiểm tra có thể xóa/archive repo không.
  2. ✅ Quyền Admin Cloud Server: Root access hoặc IAM Administrator trên AWS/GCP/Azure. Hoặc quyền admin trên hosting (Cpanel, DirectAdmin). Đổi mật khẩu ngay sau khi nhận bàn giao.
  3. ✅ Quyền Admin Database: Database root user credentials. Verify bằng cách kết nối được vào DB management tool (pgAdmin, TablePlus, DBeaver).
  4. ✅ DNS và Domain Control: Tài khoản nhà đăng ký tên miền (Godaddy, Namecheap, Tenten...). Kiểm tra domain và nameserver đang trỏ đúng không.
  5. ✅ SSL Certificate: Thông tin SSL cert (Let's Encrypt auto-renew hay cert thương mại?). Kiểm tra ngày hết hạn.

Nhóm B — Cấu hình hệ thống (Configuration)

  1. ✅ File .env và biến môi trường: Danh sách đầy đủ tất cả environment variables. Đây là bước QUAN TRỌNG NHẤT — thiếu .env là hệ thống không chạy được trên môi trường mới.
  2. ✅ API Keys bên thứ 3: Tất cả API keys (payment gateway, SMS, email service, Google API...). Verify từng key còn hoạt động không và đang gắn với account nào.
  3. ✅ Hướng dẫn cài đặt môi trường (README): Có thể setup được môi trường dev từ đầu chỉ dựa vào README không? Test thực tế bằng cách để một developer mới setup từ đầu.
  4. ✅ Cron jobs và Scheduled tasks: Danh sách các tác vụ chạy tự động (backup, email, sync...). Kiểm tra đang chạy đúng schedule không.

Nhóm C — Tài liệu kỹ thuật (Documentation)

  1. ✅ Database Schema / ERD: Sơ đồ quan hệ database. Nếu không có, yêu cầu export từ DB tool. Thiếu cái này sẽ rất khó khi cần thêm tính năng mới.
  2. ✅ API Documentation: Tài liệu API (Swagger, Postman collection). Bắt buộc nếu có mobile app hoặc hệ thống bên ngoài đang gọi API của bạn.
  3. ✅ Kiến trúc hệ thống: Sơ đồ tổng quan (services, servers, CDN...). Có thể là file Figma, draw.io, hoặc diagram bất kỳ.

Nhóm D — Môi trường và CI/CD

  1. ✅ Staging Environment: Có môi trường test tách biệt với production không? Cực kỳ quan trọng để test trước khi deploy.
  2. ✅ Deployment Process: Quy trình deploy như thế nào? Manual hay có CI/CD pipeline (Github Actions, Gitlab CI)?
  3. ✅ Backup và Recovery: Database backup đang chạy không? Tần suất? Đã test restore thành công chưa? Yêu cầu xem log backup gần nhất.

Quy trình tiếp quản an toàn

Sau khi nhận đủ 15 điểm trên, thực hiện theo thứ tự này:

  1. Backup toàn bộ (database + source code + server config) trước khi làm bất cứ điều gì
  2. Đổi tất cả mật khẩu: server, database, email, third-party APIs
  3. Kiểm tra và rotate tất cả API keys
  4. Setup monitoring (Uptime Robot, Sentry) để biết ngay khi có lỗi
  5. Thực hiện Security Audit cơ bản (SQL injection, XSS, authentication)
  6. Lập tài liệu những gì còn thiếu để làm dần

Bạn đang đối mặt với bài toán tương tự?

Đội ngũ SpeedTechlab có thể phân tích tình huống cụ thể và đề xuất hướng giải quyết phù hợp nhất với ngân sách của bạn — hoàn toàn miễn phí.

Yêu cầu Audit Source Code

Câu hỏi thường gặp

Developer cũ từ chối bàn giao một số thông tin thì phải làm gì?

Tùy theo hợp đồng ban đầu. Nếu có điều khoản bàn giao IP (Intellectual Property), bạn có cơ sở pháp lý để yêu cầu. Nếu không, SpeedTechlab có thể hỗ trợ recover thông qua các phương pháp kỹ thuật hợp pháp.

Nếu không có .env file, hệ thống có chạy được không?

Không, hệ thống sẽ crash hoặc chạy không đúng. SpeedTechlab có thể giúp reverse-engineer các environment variables còn thiếu bằng cách phân tích source code và log hệ thống.

Bài viết liên quan

Sẵn sàng giải quyết bài toán của bạn?

Liên hệ với đội ngũ kỹ sư SpeedTechlab để nhận đánh giá và định hướng giải pháp phù hợp — hoàn toàn miễn phí trong buổi đầu.