3. Phương pháp giảng dạy môn quản lý dự án CNTT
3.2.1. Qui trình thác nước (Waterfall Life Cycle)
25
Đây là QTPTPM „cổ xưa‟ nhất. Ngày nay nó vẫn được sử dụng rộng rãi trong việc phát triển các ứng dụng. Qui trình này là một dãy các giai đoạn, mỗi giai đoạn phải được hoàn tất trước khi giai đoạn kế tiếp bắt đầu. Các giai đoạn này thường là: phân tích, thiết kế, cài đặt và thử nghiệm. Một số biến thể của qui trình này là có thêm giai đoạn thu thập yêu cầu vào đầu qui trình và giai đoạn bảo trì vào cuối qui trình. Không thể bắt đầu thực hiện một giai đoạn nếu giai đoạn trước nó chưa hoàn tất, và cũng không thể trở lui lại giai đoạn trước đó. Giống như thác nước, người ta chỉ có thể chèo thuyền đi xuống chứ không đi ngược lên được.
Qui trình này có khuyết điểm là không thể áp dụng cho những dự án lớn hoặc những dự án có phạm vi được xác định không tốthoặc phạm vi có khả năng bị thay đổi. Với những dự án mà khách hàng không biết rõ mình muốn gì, hoặc các yêu cầu có thể bị thay đổi, hoặc một sự kiện nào đó bị bỏ sót thì việc quay lui là không thể. Việc thay đổi một công việc đã được hoàn tất thì tốn thời gian và chi phí, do đó qui trình thác nước không cho phép quay lui lại giai đoạn trước để chỉnh sửa.
Việc quay lui để chỉnh sửa chắc chắn là tốn kém. Nhưng thực tế thì những phát hiện sai sót, hoặc những thay đổi xẩy ra trong lúc làm dự án hoặc sau đó thì hệ thống vẫn phải cập nhật được các thay đổi đó. Độ phức tạp của những cập nhật này không chỉ phụ thuộc vào bản chất của thay đổi mà còn phụ thuộc vào tính uyển chuyển của hệ thống. Ví dụ một ứng dụng dùng các tập tin định dạng binary để lưu trữ dữ liệu thì khó thay đổi hơn là những cái dùng cơ sở dữ liệu quan hệ. Tuy nhiên đây là loại vấn đề thuộc kỹ thuật mà dự án dùng trong thiết kế, chứ không phải của qui trình thác nước.
Qui trình này thích hợp với những dự án đã biết rõ yêu cầu của khách hàng. Do đó qui trình này thường được dùng sau khi đã thu thập đầy đủ yêu cầu bằng các qui trình khác (ví dụ qui trình prototype).