Chúng tôi có một trang web lớn (hơn 1200 giờ) có nhiều nợ kỹ thuật. Điều này chủ yếu được gây ra bởi các lý do (thông thường) sau đây.
- Nhiều lập trình viên đến và đi trong quá trình phát triển.
- Thay đổi thông số kỹ thuật trong quá trình phát triển.
- Nhiều chức năng được thêm vào (trong một thời gian ngắn).
Khách hàng muốn rất nhiều chức năng mới, và điều đó về cơ bản bắt đầu hoạt động trong dự án này hàng tuần trong hơn 10 giờ.
Do các khoản nợ kỹ thuật, chúng tôi dành RẤT NHIỀU giờ để sửa chữa hoặc điều tra các vấn đề, thường tìm thấy nguồn gốc của chúng theo một trong những điều sau đây:
- Một lỗi không biết xấu hổ, ngớ ngẩn khiến người ta khóc.
- Một tính năng mới dẫn đến kết quả ở trên vì chúng tôi đã không lường trước tất cả các vị trí mà tính năng mới sẽ có ảnh hưởng.
- Một số vấn đề khác mà chúng tôi đã gặp phải (di chuyển máy chủ, nâng cấp)
Chúng tôi có vấn đề hàng ngày và chúng tôi đã cố gắng làm theo mọi thứ để tạm dừng vấn đề này:
- Tạo tài liệu kỹ thuật liên quan đến nhập khẩu, thanh toán và làm việc chung của trang web.
- Có cuộc họp vào đầu tuần - thảo luận về các vấn đề hoặc cải tiến hiện tại và cách giải quyết chúng.
- Có kế hoạch kiểm tra. Lập trình viên A kiểm tra B, B kiểm tra C và C kiểm tra A. Sau đó, Người quản lý dự án của chúng tôi sẽ đưa ra một số thử nghiệm. Về tác động của tính năng, chúng tôi ném nó vào môi trường dàn dựng và để khách hàng tự kiểm tra.
Vấn đề là các vấn đề liên tục xảy ra ... và bằng cách nào đó chúng ta không thể nắm bắt được nó. Các tính năng mới vẫn gây ra lỗi và lỗi cũ tiếp tục nói xin chào. Bằng cách nào đó - có lẽ do quy mô của dự án - dường như chúng ta không thể nắm bắt được dự án này.
Tôi giả sử có rất nhiều lập trình viên làm việc trong các dự án lớn hơn thế này. Đó là lý do tại sao tôi đi đến câu hỏi của mình:
Chúng tôi có thể làm gì, hoặc bạn làm gì để tránh những vấn đề này trong các dự án lớn?
Chỉnh sửa nhỏ, thông tin thêm:
- Chúng tôi sử dụng kiểm soát phiên bản (SVN).
- Chúng tôi có quy trình phát triển DTAP.