Tentukan "siap produksi"


25

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?


2
"Ini bekerja di mesin saya."?
Benteng

2
Status kode ketika saatnya untuk mengirim kode.
Gilbert Le Blanc

Jawaban:


41

Tergantung siapa dirimu.

Definisi Programmer tentang "siap produksi":

  • itu berjalan
  • memenuhi persyaratan proyek
  • desainnya dipikirkan dengan baik
  • itu stabil
  • itu bisa dipelihara
  • itu scalable
  • itu didokumentasikan

Definisi manajemen tentang "siap produksi":

  • itu berjalan
  • itu akan menghasilkan keuntungan

Maaf untuk mengulangi pertanyaan lama ini, tetapi saya kebetulan menemukannya dan tidak bisa menolak.


Suatu hal besar yang akan saya tambahkan ke daftar ini adalah .. ketika sesuatu merusak sistem memberikan informasi yang cukup sehingga Anda dapat mengetahuinya.
ShaneC

Dan jangan lupa, definisi masyarakat ops: Pemantauan saat ini, jalur pembaruan yang didokumentasikan dengan baik dan mudah, rencana rilis, keamanan, kinerja, otomatisasi, ... Beberapa orang mungkin meletakkannya di bawah poin Anda "persyaratan proyek" dan "dapat dipertahankan", tetapi sebagian besar pada saat itu, perspektif orang ops hilang. (Hanya berlaku untuk perangkat lunak yang dijalankan melalui orang-orang ops)
Christian

6
Ditemukan ini hari ini, dan saya tergoda untuk mengubah jawaban itu dengan menghapus bagian "dijalankan" dari paragraf manajemen ;-)
Doc Brown

8

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).


1

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:

  1. 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".

  2. 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.


0

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.


0

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.


0

Definisi internal kami tentang bangunan yang akan kami kirim ke produksi sangat sederhana ...

  • Tidak ada masalah Tingkat Permasalahan 1 yang beredar; dan,
  • Masalah No Severity 2 luar biasa yang tidak ditandai "Diketahui Dikenal"

Keputusan KS dibuat oleh saya dan satu orang lainnya.


-2

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.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.