Tôi sẽ do dự để loại bỏ Thác nước trên bảng rất nhanh.
Mặc dù nó là một mô hình thiếu sót để thực sự xây dựng các hệ thống phần mềm, nhưng đó không phải là một mô hình giảng dạy tồi để hướng dẫn các thực hành tốt cho từng giai đoạn của vòng đời. Bất kể mô hình quy trình mà bạn áp dụng cho dự án, bạn vẫn thực hiện các yêu cầu kỹ thuật, kiến trúc và thiết kế hệ thống, thực hiện, thử nghiệm, phát hành và bảo trì (bao gồm cả tái cấu trúc và nâng cao). Sự khác biệt là cách các giai đoạn này được tổ chức và tiến hành, nhưng tất cả các hoạt động vẫn diễn ra.
Tôi cho rằng việc bạn chuyển từ Waterfall sang Scrum ở giữa dự án không phải là ý tưởng hay nhất. Chìa khóa thành công của Scrum là một dự án dài hạn. Ba đến năm lần chạy nước rút đầu tiên là nhóm giải quyết một vận tốc, tìm hiểu quá trình và trải qua quá trình phát triển đội. Mặc dù bạn đang thực hiện các chuyển động, nhưng nó không thực sự là Scrum vào thời điểm đó. Ngoài ra, cố gắng tạo ra một chương trình giảng dạy dựa trên Scrum độc quyền có lẽ là một ý tưởng tồi vì Scrum không phải là viên đạn bạc - tốt hơn là dạy các cách thực hành tốt nhất thay vì một phương pháp duy nhất. Trong lực lượng lao động, không phải tất cả các dự án sẽ sử dụng Scrum. Trên thực tế, trong một số môi trường, Scrum sẽ gây bất lợi cho sự thành công của dự án.
Bạn đã tìm thấy vấn đề với Scrum trong môi trường học thuật và một số vấn đề khó giải quyết thỏa đáng.
Vấn đề không nằm trong danh sách không tương thích của bạn là việc ước tính là khó khăn. Vâng, đúng vậy. Nhưng cách duy nhất để có được ước tính tốt hơn là ước tính và so sánh thực tế với ước tính. Học sinh nên ước tính kích thước, thời gian và nỗ lực bằng cách sử dụng các phương tiện khác nhau (điểm câu chuyện, dòng mã nguồn, giờ, trang, giờ người) để họ sẵn sàng hơn để làm điều đó sau khi tốt nghiệp và gia nhập lực lượng lao động.
Nhu cầu về tài liệu là một cái gì đó có thể được giải quyết từ cả quan điểm của giáo sư và quan điểm của các sinh viên. Các phương pháp Lean cho chúng ta biết rằng tài liệu không tăng thêm giá trị cho nhóm hoặc khách hàng là lãng phí (về thời gian và chi phí). Tuy nhiên, một số tài liệu là cần thiết để đạt được một số mục tiêu của cả sinh viên và giáo sư (khách hàng / khách hàng) cho các mục đích khác nhau. Nhìn chung, nó có vẻ như là một cơ hội để dạy quy trình may và quản lý dự án định lượng (có vai trò ngay cả trong các phương pháp nhanh).
Đối với các cuộc họp và lên lịch Scrum, có hai ý tưởng nảy ra trong đầu tôi. Đầu tiên là điều này chỉ ra rằng Scrum có thể không phải là quy trình tốt nhất để sử dụng trong môi trường học thuật. Không có "mô hình quy trình tốt nhất" duy nhất cho các dự án phần mềm, với các yếu tố như lịch trình, nhân sự, khả năng hiển thị và kinh nghiệm của nhóm phát triển (trong số những người khác).
Nhìn chung, tôi khuyên bạn nên nhấn mạnh các thực tiễn tốt, quy trình may và cải tiến quy trình so với các phương pháp đơn lẻ. Điều này sẽ cho phép bạn có hiệu quả nhất đối với mọi người tham gia các khóa học, và đưa họ đến nhiều phương pháp quy trình khác nhau và hiểu những cách thực hành tốt nhất cho một tập hợp các điều kiện nhất định.
Vì bạn đang làm việc để xây dựng một chương trình giảng dạy đại học, tôi sẽ cung cấp một cái nhìn tổng quan ở mức độ cao về cách chương trình giảng dạy kỹ thuật phần mềm tại trường đại học mà tôi theo học phù hợp với nhau.
Đây là một kỹ thuật phần mềm giới thiệu đã đi qua dự án theo mô hình thác nước, với các bài giảng trong mỗi giai đoạn tương ứng với các cách khác nhau để tiến hành các hoạt động của giai đoạn đó. Các đội đã tiến bộ qua các giai đoạn với cùng một tỷ lệ. Có những ranh giới được xác định rõ ràng phù hợp với mô hình giảng dạy cho một nhóm người không có kinh nghiệm tối thiểu làm việc trong các nhóm để xây dựng phần mềm. Trong suốt khóa học, các tài liệu tham khảo đã được thực hiện cho các phương pháp khác - các phương pháp nhanh khác nhau (Scrum, XP), Quy trình hợp nhất Rational, Mô hình xoắn ốc - liên quan đến các ưu điểm và nhược điểm của chúng.
Về các hoạt động, có các khóa học cụ thể để thảo luận về yêu cầu kỹ thuật, kiến trúc và thiết kế (hai khóa học - một khóa tập trung vào thiết kế chi tiết sử dụng phương pháp hướng đối tượng và một khóa tập trung vào kiến trúc hệ thống), một số khóa học tập trung vào thiết kế và triển khai khác nhau các lớp hệ thống (thời gian thực và hệ thống nhúng, hệ thống doanh nghiệp, hệ thống đồng thời, hệ thống phân tán, v.v.) và kiểm thử phần mềm.
Ngoài ra còn có ba khóa học dành riêng cho quy trình phần mềm. Quy trình kỹ thuật phần mềm và Quản lý dự án tập trung vào các thực tiễn tốt nhất để quản lý dự án phần mềm liên quan đến nhiều phương pháp. Một khóa học quy trình thứ hai dạy các phép đo, số liệu và cải tiến quy trình (nhấn mạnh CMMI, Six Sigma và Lean). Cuối cùng, có một khóa học quy trình dạy phát triển phần mềm linh hoạt (Scrum, Lập trình cực đoan, Crystal, DSDM đã thảo luận) bằng cách sử dụng một dự án được thực hiện bằng phương pháp Scrum.
Dự án capstone là một dự án hai phần tư được thực hiện cho một công ty tài trợ và được điều hành hoàn toàn bởi nhóm dự án sinh viên, với sự hướng dẫn từ cả các nhà tài trợ và cố vấn giảng viên. Mọi khía cạnh của cách tiến hành dự án là tùy thuộc vào sinh viên, trong bất kỳ ràng buộc nào được quy định bởi các nhà tài trợ. Thời hạn duy nhất bắt buộc của trường đại học là một bài thuyết trình tạm thời nửa chừng (10 tuần) vào dự án, một bài thuyết trình cuối cùng ở cuối và một bài thuyết trình poster bốn ngay trước khi kết thúc. Mọi thứ khác tùy thuộc vào nhà tài trợ và nhóm đồng ý.