Saya ingin tahu tentang ini untuk sementara waktu. Apa sebenarnya yang dimaksud dengan "siap produksi" atau variasinya? Baru-baru ini saya mencari informasi tentang sqlite dan menemukan utas ini , di mana banyak orang menyarankan sqlite belum siap untuk diproduksi.
Saya tahu perbedaan antara pengembangan / pengujian dan produksi; definisi produksi saya adalah segala sesuatu yang disediakan untuk pelanggan atau akan digunakan oleh non-programmer.
Namun, tampaknya ada banyak item yang tidak didefinisikan sebagai siap produksi. Tetapi pada kenyataannya, mereka mungkin sangat cocok dan orang hanya memiliki predujice terhadap mereka, misalnya sqlite, python, produk non-MS, dll.
Kantor kecil vs. perusahaan? Pengguna tunggal vs multi-pengguna? Klien vs. server? Di mana Anda menggambar garis?
sumber
Jawaban:
Tergantung siapa dirimu.
Definisi Programmer tentang "siap produksi":
Definisi manajemen tentang "siap produksi":
Maaf untuk mengulangi pertanyaan lama ini, tetapi saya kebetulan menemukannya dan tidak bisa menolak.
sumber
Umum, "X belum siap produksi" berarti ada masalah dengan fitur yang hilang, stabilitas, dan / atau skalabilitas, sehingga dapat digunakan untuk skenario yang tidak terlalu menuntut tetapi mungkin gagal untuk penyebaran skala besar (penyebaran tingkat Perusahaan dan Internet).
sumber
Ada banyak definisi yang dapat digunakan untuk "siap produksi".
Pribadi saya sendiri tercantum di bawah ini - dan semuanya agak praktis , dan sangat tergantung pada konteks - dalam beberapa konteks solusi yang tepat dapat dianggap "siap produksi" sementara dalam konteks lain bahwa solusi yang sama akan - kadang-kadang secara harfiah - menjadi " produksi siap atas mayat saya ".
Definisi di bawah ini menganggap bahwa "produksi" memiliki konteks "beberapa hasil serius tergantung pada keberhasilan jalannya produk".
Dengan kata lain, perangkat lunak yang menjalankan forum "anggrek terbaik Anda untuk tumbuh di Nevada" menghasilkan Anda $ 3 / bulan dalam pendapatan AdSense berada jauh di luar konteks produksi, sementara firmware Space Shuttle tegas dalam konteks itu.
Segala sesuatu yang lain dalam skala, dengan beberapa hal agak abu-abu (misalnya, beberapa perangkat lunak melakukan penelitian akademis - di satu sisi tidak ada dampak produksi yang jelas jika rusak dalam situasi umum; di sisi lain keputusan politik multi-triliun dolar adalah dibuat oleh pemerintah berdasarkan penelitian tertentu).
2 definisi yang dapat saya temukan sekarang adalah:
Dapat digunakan untuk tujuan yang, ketika hal-hal pecah, menyiratkan kerugian material, di bawah analisis risiko standar.
Ini tidak berarti jaminan kurangnya kerusakan / bug - tidak ada perangkat lunak yang dapat melakukan itu - tetapi tingkat kepastian yang wajar dalam stabilitas untuk tujuan yang dimaksud.
Misalnya manfaat menggunakan solusi ini melebihi besarnya potensi kerugian dari kerusakan dikalikan dengan probabilitas itu akan pecah.
Karenanya, penafian Jawa yang terkenal "tidak untuk digunakan dalam pembangkit listrik tenaga nuklir".
Dapat diperkirakan telah lulus Uji Tuntas oleh rekan-rekan Anda.
Misalnya, jika, dalam kasus gugatan, satu set pakar N acak dari bidang yang Anda berikan ditanya "dengan perincian ini, apakah produksi ini siap?", Anda cukup yakin bahwa sebagian besar pakar tersebut akan setuju dengan Anda bahwa itu adalah siap, berdasarkan investigasi dan upaya kerja yang dapat Anda lakukan secara wajar dalam situasi tersebut. Jika Anda gagal menulis lebih dari 10% kasus uji, Anda gagal Uji Tuntas. Jika program Anda gagal karena bug yang sebelumnya tidak dikenal dalam kompiler gcc, Anda mungkin tidak gagal kecuali perangkat lunak Anda menjalankan sesuatu yang sangat penting yang memerlukan tingkat pengawasan yang diperlukan untuk menangkap bahkan bug itu.
sumber
SQLite tidak dapat digunakan untuk database produksi karena dirancang secara eksplisit tanpa banyak fitur yang dianggap "wajib". Misalnya, kunci memengaruhi seluruh basis data, tidak ada kunci asing, dan hingga SQLite3 bahkan tidak ada tipe data apa pun.
Secara umum, ini berarti bahwa sistem yang berfungsi dengan baik untuk sejumlah kecil pengguna (1-5) dalam pengembangan akan macet dan terbakar ketika terkena beban yang lebih berat.
Saya harus menyebutkan bahwa ini tergantung pada lingkungan aplikasi yang digunakan, juga. Kembali ke contoh SQLite, itu sempurna untuk digunakan dalam produksi jika hanya ada satu klien. Mac OS X menggunakan SQLite secara luas melalui kerangka CoreData - saya percaya ia menangani hal-hal seperti database musik iTunes pengguna dan kotak surat iMail. Hanya saja, jangan mencoba menggunakannya seperti database klien-server nyata.
sumber
Seperti yang Anda sarankan di bagian akhir dari pertanyaan, "Siap Produksi" belum tentu merupakan definisi ukuran penyebaran, tetapi apakah itu sesuai untuk penggunaan dan persyaratan yang dimaksudkan. Misalnya untuk aplikasi klien pengguna tunggal, SQLite mungkin siap produksi. Pasar yang dimaksud akan paling sering menentukan apakah suatu aplikasi atau sistem siap diproduksi dalam penggunaan aplikasi atau sistem tersebut.
sumber
Definisi internal kami tentang bangunan yang akan kami kirim ke produksi sangat sederhana ...
Keputusan KS dibuat oleh saya dan satu orang lainnya.
sumber
Nah, pendapat saya tentang siap produksi adalah, sudah ditandatangani oleh manajemen. Itu berjalan, memenuhi persyaratan atau skalabilitasnya dll sudah terpenuhi bahkan sebelum kita dapat mengatakan kata p. Penandatanganan adalah titik keluar yang disepakati bersama dari sudut pandang manajemen. Ps. Saya tidak akan mempertimbangkan produksi apa pun yang siap dengan sev 4 bug tetap terbuka.
sumber