Saya akan ragu-ragu untuk membuang Air Terjun di papan begitu cepat.
Meskipun ini adalah model cacat untuk benar-benar membangun sistem perangkat lunak, itu bukan model pengajaran yang buruk untuk mengajarkan praktik-praktik yang baik untuk setiap tahap siklus hidup. Terlepas dari model proses yang Anda terapkan pada proyek, Anda masih melakukan rekayasa persyaratan, arsitektur dan desain sistem, implementasi, pengujian, rilis, dan pemeliharaan (termasuk refactoring dan peningkatan). Perbedaannya adalah bagaimana fase-fase ini diatur dan dilakukan, tetapi semua kegiatan masih terjadi.
Saya berpendapat bahwa transisi Anda dari Waterfall ke Scrum di tengah proyek bukanlah ide terbaik. Kunci keberhasilan Scrum adalah proyek jangka panjang. Tiga hingga lima sprint pertama adalah tim yang bersiap dengan kecepatan, mempelajari prosesnya, dan melalui pengembangan tim. Meskipun Anda melakukan melalui gerakan, itu bukan Scrum pada saat itu. Selain itu, mencoba membuat kurikulum berbasis Scrum secara eksklusif mungkin merupakan ide yang buruk karena Scrum bukan peluru perak - lebih baik untuk mengajarkan praktik terbaik daripada metodologi tunggal. Di dunia kerja, tidak semua proyek akan menggunakan Scrum. Bahkan, di beberapa lingkungan, Scrum akan merugikan keberhasilan proyek.
Anda telah menemukan masalah dengan Scrum di lingkungan akademik, dan beberapa di antaranya sulit diatasi.
Yang tidak menjadi masalah dalam daftar ketidakcocokan Anda adalah bahwa memperkirakan itu sulit. Ya itu. Tetapi satu-satunya cara untuk menjadi lebih baik dalam memperkirakan adalah memperkirakan dan membandingkan yang sebenarnya dengan perkiraan. Siswa harus memperkirakan ukuran, waktu, dan upaya menggunakan berbagai cara (titik cerita, baris kode sumber, jam, halaman, jam kerja) lebih awal sehingga mereka lebih siap untuk melakukannya setelah lulus dan memasuki dunia kerja.
Kebutuhan akan dokumentasi adalah sesuatu yang dapat diatasi baik dari sudut pandang profesor maupun dari perspektif mahasiswa. Pendekatan Lean memberi tahu kami bahwa dokumentasi yang tidak menambah nilai bagi tim atau pelanggan adalah pemborosan (dalam hal waktu dan biaya). Namun, beberapa dokumentasi diperlukan untuk mencapai beberapa tujuan baik dari siswa dan profesor (pelanggan / klien) untuk berbagai keperluan. Secara keseluruhan, ini terdengar seperti kesempatan untuk mengajarkan proses menjahit dan manajemen proyek kuantitatif (yang memang memiliki peran bahkan dalam metode tangkas).
Sehubungan dengan pertemuan dan penjadwalan Scrum, ada dua ide yang muncul di benak saya. Yang pertama adalah ini menunjukkan bahwa Scrum mungkin bukan proses terbaik untuk digunakan dalam lingkungan akademik. Tidak ada "model proses terbaik" tunggal untuk proyek perangkat lunak, dengan faktor-faktor seperti jadwal, kepegawaian, visibilitas, dan pengalaman tim pengembangan (antara lain).
Secara keseluruhan, saya menyarankan untuk menekankan praktik yang baik, penjahitan proses, dan peningkatan proses dari metodologi tunggal. Ini akan membuat Anda menjadi yang paling efektif untuk semua orang yang mengambil kursus, dan memaparkannya pada berbagai metodologi proses dan memahami apa praktik terbaik untuk serangkaian kondisi tertentu.
Karena Anda sedang bekerja untuk membangun kurikulum universitas, saya akan memberikan tinjauan tingkat tinggi tentang bagaimana kurikulum rekayasa perangkat lunak di universitas yang saya ikuti cocok bersama.
Itu adalah rekayasa perangkat lunak pengantar melalui proyek dalam model air terjun, dengan kuliah selama setiap fase sesuai dengan cara yang berbeda untuk melakukan kegiatan fase itu. Tim berkembang melalui fase dengan kecepatan yang sama. Memiliki batasan-batasan yang didefinisikan dengan jelas itu cocok dengan model pengajaran untuk sekelompok orang yang tidak memiliki pengalaman minimal bekerja dalam tim untuk membangun perangkat lunak. Sepanjang kursus, referensi dibuat untuk metodologi lain - berbagai metode gesit (Scrum, XP), Proses Bersatu Rasional, Model Spiral - berkaitan dengan bagaimana kelebihan dan kekurangan mereka.
Dalam hal kegiatan, ada kursus khusus untuk membahas persyaratan teknik, arsitektur dan desain (dua program - satu berfokus pada desain detail menggunakan metode berorientasi objek dan satu berfokus pada arsitektur sistem), sejumlah program yang berfokus pada merancang dan mengimplementasikan berbagai kelas sistem (real-time dan embedded system, sistem perusahaan, sistem bersamaan, sistem terdistribusi, dan sebagainya), dan pengujian perangkat lunak.
Ada juga tiga program yang didedikasikan untuk proses perangkat lunak. Proses Rekayasa Perangkat Lunak dan Manajemen Proyek yang berfokus pada praktik terbaik untuk mengelola proyek perangkat lunak sehubungan dengan berbagai metodologi. Kursus proses kedua mengajarkan pengukuran, metrik, dan peningkatan proses (menekankan CMMI, Six Sigma, dan Lean). Akhirnya, ada kursus proses yang mengajarkan pengembangan perangkat lunak tangkas (Scrum, Extreme Programming, Crystal, DSDM dibahas) menggunakan proyek yang dilakukan menggunakan metodologi Scrum.
Proyek batu penjuru adalah proyek dua perempat yang dilakukan untuk perusahaan sponsor dan dijalankan sepenuhnya oleh tim proyek siswa, dengan bimbingan dari sponsor dan penasihat fakultas. Setiap aspek tentang bagaimana melakukan proyek terserah kepada siswa, dalam batasan apa pun yang ditetapkan oleh sponsor. Tenggat waktu yang diamanatkan oleh universitas hanyalah presentasi setengah jalan (10 minggu) ke dalam proyek, presentasi akhir di akhir, dan presentasi poster empat tak lama sebelum akhir. Yang lainnya terserah sponsor dan tim untuk menyetujuinya.