Tổng quan
Hiệu ứng hệ thống thứ hai xảy ra khi phiên bản kế tiếp của một hệ thống thành công bị nhồi quá nhiều tham vọng. Sau khi bản đầu chạy được nhờ ràng buộc, team dễ tự tin quá mức và đưa mọi thứ từng bị bỏ lại vào bản mới.
Ý chính
- Bản đầu thường gọn vì thiếu thời gian, thiếu nguồn lực hoặc chưa biết đủ để phức tạp hóa.
- Bản thứ hai dễ thành rewrite lớn, nhiều feature, nhiều cấu hình và nhiều abstraction.
- Thành công ban đầu không đảm bảo team đã hiểu đủ để thiết kế hệ thống thay thế phức tạp hơn.
Ví dụ từ nguồn
Một startup có web service tối giản chạy tốt, rồi lên kế hoạch rewrite v2 bằng microservices, plugin system và config khổng lồ trước khi có nhu cầu thật.
Một công cụ nội bộ hữu ích có thể bị biến thành nền tảng tổng quát quá sớm và chậm hơn bản cũ ở các workflow cốt lõi.
Nguồn gốc
Fred Brooks đặt tên hiệu ứng này trong The Mythical Man-Month năm 1975, dựa trên quan sát các hệ thống IBM sau bản đầu thành công.
Lưu ý khi áp dụng
Khi làm v2, hãy giữ danh sách "không làm" rõ như danh sách feature; rewrite nên giải quyết pain point thật, không phải hiện thực mọi ước mơ cũ.