Tôi đã tìm thấy từ kinh nghiệm cá nhân của mình rằng tốt nhất là tránh thêm các tính năng mới ngoài dự kiến càng sớm càng tốt.
Từ quan điểm thiết kế, một tính năng đã được thêm vào trong thời điểm này "sẽ không tốt nếu có tính năng x" sẽ thêm rất nhiều thời gian phát triển, có thể không tích hợp tốt với mã và có thể không hoàn toàn phù hợp với phần còn lại của thiết kế của bạn.
Trong trường hợp xấu nhất, một dự án có nhiều khoảnh khắc này có thể cảm thấy như một sự kết hợp các tính năng lộn xộn, bị hack cùng nhau, điều thực sự đáng lẽ phải dành nhiều thời gian hơn cho chúng trong giai đoạn thiết kế và kết quả là trông kém chuyên nghiệp hơn.
Theo nguyên tắc chung, tôi cố gắng tuân theo các quy tắc sau:
Nếu một tính năng mới xuất hiện sớm trong dự án, hãy dành thời gian quay lại giai đoạn thiết kế và thực sự xem tính năng này có thể hoạt động như thế nào với sản phẩm của bạn trong khi vẫn phù hợp với phần còn lại của thiết kế.
Nếu dự án đang tiến gần hơn để phát hành, hãy xem xét lập danh sách các tính năng để thêm vào phiên bản mới.
- Nếu bạn thấy rằng có rất nhiều tính năng tiếp tục phát triển mà bạn thực sự muốn triển khai, có lẽ bạn nên xem xét quay lại thiết kế và xem tại sao những tính năng mới này chưa được xem xét trước đó, có thể do thiếu nỗ lực trong giai đoạn thiết kế.
Rõ ràng điều này phù hợp với một số dự án tốt hơn các dự án khác, nhưng thực sự nếu bạn có một tính năng đến muộn trong dự án, bạn có thể sẽ ổn nếu không có nó, ít nhất là cho đến khi bạn bắt đầu làm việc trên một phiên bản mới.