Pengalaman saya adalah bahwa ada keseimbangan yang harus dicapai.
Saat ini, saya sedang bekerja (dalam arti menjawab pertanyaan dan memberikan saran pengembangan, tanpa melihat kode apa pun) dengan pengembang yang membuat proyek FOSS yang sangat menarik yang menggunakan kode yang saya tulis. Rilis publik telah berulang kali tertunda oleh realisasi perubahan desain yang akan membuat proyek jauh lebih baik dalam jangka panjang, tetapi yang membutuhkan penulisan ulang kode yang signifikan yang sudah ditulis dan itu sudah "berfungsi". Pandangan saya adalah, seandainya rilis yang berfungsi tetapi tidak sempurna dibuat segera setelah ada sesuatu yang berfungsi untuk ditampilkan, ide-ide untuk perubahan (dan tambalan yang sebenarnya) bisa saja berasal dari komunitas yang lebih luas yang tertarik pada proyek ini dan mempercepatnya daripada memiliki masalah muncul perlahan, satu per satu, sebagai pengembang memikirkan mereka dan meminta umpan balik desain dari saya dan anggota komunitas lain yang tertarik. Jadi dari sudut pandang ini, saya sangat mendukung "rilis awal, rilis sering".
Di sisi lain, rilis berkualitas rendah dapat membuat proyek baru terlihat buruk bahkan sebelum proyek dimulai. Beberapa perangkap yang pernah saya lihat meliputi:
- Pohon kerangka dengan definisi antarmuka tetapi tidak ada kode.
- Kode yang tidak berhasil dikompilasi untuk siapa pun selain pengembang.
- Tidak ada instruksi untuk membangun / menjalankan program.
- Tidak ada dokumentasi tentang aspek-aspek apa yang diharapkan dapat berfungsi.
- Deskripsi yang tidak jelas tentang apa yang bahkan atau akan dilakukan program.
- Kurangnya demonstrasi kegunaan.
Untuk poin terakhir, saya memikirkan hal-hal seperti:
- Kompiler / interpreter yang bahkan tidak dapat mengkompilasi / menjalankan program tipe hello-world.
- Emulator yang setidaknya tidak dapat menjalankan program sampel atau menunjukkan bahwa ia melakukan sesuatu.
- Alat pengolah gambar yang tidak dapat melakukan apa pun selain memuat dan menyimpan kembali gambar yang tidak dimodifikasi.
- Game dengan apa pun kecuali layar judul.
Jenis-jenis masalah ini mengarah pada gambar "vaporware" yang mungkin sulit untuk diguncang kecuali Anda sangat terbuka tentang kurangnya kode kerja untuk memulai.
Akhirnya, buat nomor versi Anda masuk akal. Jangan panggil proyek Anda "1.0" sampai proyek melakukan apa yang diharapkan pengguna tanpa crash. Saya selalu beruntung dengan menggunakan nomor versi di sekitar "0,5" untuk rilis publik awal dan pergi dari sana, tetapi saya juga melihat hal-hal seperti "0,1" atau "0,10" yang masuk akal.