BAHUB.VN
Glossary

Constraint

RequirementsRàng buộc

Giới hạn mà giải pháp buộc phải nằm trong: ngân sách, thời gian, công nghệ có sẵn, quy định pháp lý, chính sách công ty. Không phải thứ để thương lượng, mà là khung để thiết kế.

Định nghĩa

Trước khi nghĩ ra giải pháp, bạn cần biết cái hộp mình được phép vẽ trong đó rộng bao nhiêu. Constraint chính là các cạnh của cái hộp: hệ thống phải chạy trên hạ tầng sẵn có, ngân sách không quá con số này, phải lên sóng trước ngày kia vì quy định có hiệu lực, không được đưa dữ liệu ra khỏi lãnh thổ.

Khác với assumption, constraint là thứ đã biết chắc. Bạn không kiểm chứng nó, bạn thiết kế bên trong nó.

Ràng buộc thu hẹp không gian giải pháp. Biết sớm thì tiết kiệm được vài tuần vẽ ra những phương án không bao giờ khả thi.

Các loại ràng buộc

Hai loại quen mặt nhất là ngân sách và thời gian. Ngân sách gồm cả tổng chi phí lẫn phí license hằng năm, và thường kèm điều kiện không được phát sinh chi phí vận hành ngoài hạ tầng đang có. Thời gian thì hiếm khi do dự án tự đặt: mùa vụ, ngày một quy định có hiệu lực, hoặc một mốc trong hợp đồng với đối tác.

Còn lại:

  • Công nghệ — phải dùng ngôn ngữ, framework, cơ sở dữ liệu mà đội IT khách vận hành được; phải sống chung với hệ thống lõi không ai dám đụng vào.
  • Tổ chức — chính sách công ty, quy trình phê duyệt nội bộ, đội có ba người và không tuyển thêm.
  • Pháp lý, tuân thủ và vận hành — quy định về dữ liệu cá nhân, hoá đơn điện tử, lưu trữ chứng từ; cửa sổ bảo trì 2 giờ đêm chủ nhật; không được downtime trong giờ giao dịch.

BABOK chia ràng buộc thành hai nhóm lớn: business constraint (ngân sách, thời gian, chính sách, pháp lý) và technical constraint (công nghệ, hạ tầng, hệ thống lõi không sửa được). Trong tài liệu thực tế thì cứ liệt kê theo nhóm như trên cho dễ đọc.

Ví dụ thực tế

Cái hộp của dự án này hẹp tới đâu? Hệ thống quản lý đơn hàng cho một doanh nghiệp sản xuất bao bì, 128 nhân sự, 370 đơn mỗi tháng.

Ràng buộc ghi trong tài liệu:

  1. Chạy trên máy chủ vật lý đặt tại nhà máy, không dùng dịch vụ đám mây công cộng — do chính sách của tập đoàn mẹ.
  2. Cơ sở dữ liệu bắt buộc là SQL Server vì đội IT nội bộ chỉ vận hành được nền tảng này.
  3. Ngân sách phần mềm 1,2 tỷ, không bao gồm chi phí license phát sinh hằng năm.
  4. Go-live trước ngày 1/10 vì đó là đầu chu kỳ kế hoạch sản xuất, lệch thì phải chờ 12 tháng.
  5. Nhà máy chỉ ngừng vận hành hệ thống 4 giờ vào đêm chủ nhật.

Ràng buộc số 1 loại thẳng một loạt phương án dùng dịch vụ quản trị sẵn có. Ràng buộc số 5 quyết định toàn bộ kịch bản chuyển đổi dữ liệu: 4 giờ là không đủ để chuyển 6 năm dữ liệu, nên phải chuyển trước phần lịch sử và chỉ chuyển phần delta trong cửa sổ đó.

Ràng buộc thật và ràng buộc giả

Rất nhiều thứ được nói ra như ràng buộc, hỏi kỹ thì hoá ra chỉ là thói quen hoặc sở thích. Đào chỗ này ra là phần việc đáng tiền của BA.

Câu nóiHỏi lạiThường lộ ra là
Phải dùng OracleVì sao, có license sẵn không, ai vận hànhThói quen của người tiền nhiệm
Bắt buộc xong trước 30/6Chuyện gì xảy ra nếu 15/7Mốc do một cuộc họp đặt ra, không gắn với sự kiện thật
Không được sửa hệ thống cũAi sở hữu, đã hỏi chưaChưa ai hỏi, chỉ ngại
Phải giống hệt phần mềm cũVì sao, nhân viên sợ đổi hay quy trình bắt buộcNỗi lo đào tạo, giải được bằng cách khác

Cách hỏi tốt nhất là hỏi hậu quả: "Nếu không đáp ứng được điều này thì điều gì xảy ra." Ràng buộc thật luôn có câu trả lời cụ thể — bị phạt, mất hợp đồng, không vận hành nổi. Ràng buộc giả thì câu trả lời là "thì cũng không sao, nhưng..." Đến đó là bạn có thêm không gian để thiết kế.

Ngược lại, đừng biến việc chất vấn thành thói quen tranh cãi. Với ràng buộc pháp lý và ràng buộc do tập đoàn mẹ áp xuống, hỏi một lần cho rõ rồi nhận, đừng mất ba buổi họp để chứng minh mình đúng về mặt kỹ thuật.

Câu hay bị hỏi phỏng vấn

"Constraint khác requirement chỗ nào." Trả lời: requirement nói giải pháp phải làm được gì, constraint nói giải pháp không được vượt qua ranh giới nào. Một cái mô tả nội dung, một cái mô tả giới hạn.

Câu tiếp theo hay ra: "Gặp một ràng buộc khiến yêu cầu không thể đáp ứng thì làm sao." Đừng trả lời "báo cáo cấp trên". Nói cụ thể: trình bày ba phương án kèm đánh đổi, chỉ rõ phương án nào phải nới ràng buộc nào và giá của việc nới đó, rồi để người có thẩm quyền chọn.