Minh họa cho Quy tắc 90-90
Law #23 Lập kế hoạch

Quy tắc 90-90

The Ninety-Ninety Rule

Những phần cuối cùng của dự án thường ngốn thời gian nhiều hơn tưởng tượng và phá vỡ kế hoạch ban đầu.

Nguồn tham khảo: Laws of Software Engineering

Tổng quan

Quy tắc 90-90 châm biếm rằng 90% đầu của code chiếm 90% thời gian, 10% cuối lại chiếm thêm 90% nữa. Nó nói về phần việc cuối dự án: tích hợp, edge case, polish và bug fix thường bị đánh giá thấp.

Ý chính

  • "Gần xong" trong phần mềm thường che giấu nhiều việc khó chưa lộ ra.
  • Integration, migration, QA, performance và operational readiness nên được tính từ đầu.
  • Progress theo phần trăm feature không tương đương readiness để ship.

Ví dụ từ nguồn

Một app có core feature sau ba tháng, ai cũng nghĩ còn một tháng để ship. Sau đó integration test, data migration và lỗi edge case kéo dài thêm nhiều tháng.

Một UI đã nhìn đúng screenshot nhưng vẫn thiếu accessibility, loading state, error state và analytics event.

Nguồn gốc

Quy tắc này thường được ghi cho Tom Cargill ở Bell Labs và được Jon Bentley phổ biến trong chuyên mục "Bumper-Sticker Computer Science" năm 1985.

Lưu ý khi áp dụng

Khi báo tiến độ, hãy tách "feature coded" khỏi "production ready"; phần sau mới là nơi 10% cuối thường nở ra.

← Quay lại danh sách 56 luật