Tentu saja Scrum bermanfaat. Ini adalah metodologi yang melakukan dua hal untuk Anda:
- Ini memungkinkan proyek Anda untuk beradaptasi dengan perubahan dan
- Ini memungkinkan Anda untuk melacak kemajuan, dan mendapatkan ide kapan itu akan selesai
Jadi, ada beberapa nilai dalam menggunakannya.
Saya pikir beberapa prasyarat Anda tidak benar dan di situlah Anda tersesat.
Saya tidak dapat melihat bagaimana setiap cerita dapat dinegosiasikan - semuanya diperlukan untuk kompiler yang bekerja
Ini tidak benar. Anda dapat mendukung subset bahasa dan masih memiliki kompiler yang berfungsi dalam kondisi tertentu. Tentunya kurang berharga dibandingkan kompiler penuh, tetapi tetap bernilai.
Selain itu, Anda salah memahami apa yang dimaksud dengan "Negosiasi": itu tidak selalu berarti "Opsional" dan tidak ada persyaratan bahwa cerita adalah opsional dalam INVEST. Sebuah cerita adalah tujuan yang berharga dan negosiasi tentang bagaimana mencapai tujuan itu. Tentunya akan ada lebih dari cara menerapkan backend dari setiap fitur bahasa. Di situlah Anda membutuhkan negosiasi.
Semua cerita memiliki prioritas yang sama dan tidak masalah urutan apa yang saya berikan.
Ini tidak benar, seperti yang Anda katakan di bawah ini bahwa beberapa cerita tidak "harus dimiliki", jadi tentu saja ada yang kurang berharga. Tetapi bahkan dalam kategori "harus memiliki": beberapa fitur bahasa jauh lebih mendasar daripada yang lain, dan terukur demikian.
Salah satu cara untuk mengukur ini adalah "berapa banyak lagi baris kode yang dapat kita kompilasi pada basis kode yang ada" atau "berapa banyak tes yang lulus" jika Anda memiliki serangkaian tes yang telah ditentukan.
Ada juga opsi lain. Jika Anda mengkompilasi bahasa mirip-C, secara tegas Anda hanya perlu a if
dan goto
loop untuk memiliki (hampir) bahasa fungsional dan Anda dapat mengimplementasikan while
, for
dan repeat
sebagai makro. Dengan asumsi cukup mudah untuk menulis menggunakan precompiler, Anda dapat memiliki solusi sementara murah (hei, apakah kita sedang bernegosiasi? :-)
Mengenai, kemampuan beradaptasi, mendukung bahasa adalah serangkaian persyaratan yang cukup statis, tetapi bahasa juga berubah dan juga pengetahuan Anda tentang perubahan kebutuhan Anda . Apakah Anda perlu mengimplementasikan semuanya? Adakah hal-hal yang tidak Anda butuhkan secara spesifik untuk tujuan Anda? Salah satu penyewa dasar tangkas adalah pengetahuan memiliki pengetahuan yang tidak lengkap, dapatkah Anda memanfaatkannya?
Sebagai kesimpulan, untuk menjawab pertanyaan Anda secara lebih langsung: apakah Anda membutuhkan proses yang gesit ketika persyaratan Anda tidak dapat diubah? Tentu saja tidak! Apakah bisa digunakan? Mungkin iya! Apakah mereka sepadan dengan waktu Anda? Mungkin tidak - tetapi apakah kebutuhan Anda tidak dapat diubah? Dalam pengalaman saya sebelumnya, "persyaratan yang tidak dapat diubah" => "pemilik produk yang malas" - bukan suatu peraturan, tetapi perlu diingat.