Pernahkah anda bertanya tentang bagaimana sebenernya sistem pemberian nama versi dari sebuah software yang umum ada? Dalam posting ini saya akan membahas secara jelas bagaimana perputaran daur hidup dari sebuah versi software, dalam bahasa Inggris hal ini bernama Software Release Lifecycle. Untuk lebih memperjelas, silahkan cermati terlebih dahulu gambar berikut:

TAHAP PENGEMBANGAN (DEVELOPMENT AND TESTING PERIOD)

- Pre-Alpha
Pre-Alpha merujuk pada semua aktifitas pembuatan dan pengembangan software sebelum dilakukan testing, aktifitas ini bisa berupa analisa kebutuhan, desain perangkat lunak, pengembangan unit maupun pengujian unit software.

- Alpha
Fase Alpha dalam daur hidup perangkat lunak adalah tahap pertama untuk melakukan pengujian pada software (penggunaan alpha berasal dari huruf pertama dalam sistem alfabet Yunani kuno yang diartikan sebagai angka 1). Pada tahap ini developer software biasanya melakukan pengujian terhadap software dengan menggunakan teknik bernama white box techniques. Tambahan validasi kemudian dilakukan dengan menggunakan teknik bernama black box or gray box techniques oleh tim pengujian yang lain. Perpindahan pada metode pengujian black box dalam sebuah organisasi ini disebut dengan alpha release.
Software alpha bisa saja tidak stabil dan dapat menyebabkan error maupun kehilangan data, jarang sekali software pada tahap alpha tersedia secara bebas untuk publik, terkecuali digunakan untuk bonus pre-order.

- Beta
Beta adalah tahap pengembangan software yang mengikuti tahap alpha (penggunaan istilah beta berasal dari bahasa Yunani kuno yang diartikan sebagai angka 2). Tahap ini biasanya tahap dimana software telah memiliki fitur yang lengkap, beberapa organisasi menyebut tahap ini sebagai prototype atau technical preview. Fokus dari tahap beta adalah mengurangi dampak buruk pada pengguna, yang biasanya berupa pengujian penggunaan produk. Beta release biasanya merupakan tahap pertama sebuah perangkat lunak tersedia untuk pihak diluar pengembang software.
Pengguna dari versi beta ini disebut beta tester, biasanya adalah pengguna atau calon pengguna dari produk yang ada, mau melakukan pengujian terhadap produk perangkat lunak tanpa bayaran dan biasanya menerima hasil akhir software secara cuma-cuma atau dengan pengurangan harga (untuk software berbayar).
Beberapa pengembang software meluncurkan closed beta maupun open beta dimana closed beta version adalah produk yang diluncurkan untuk sekelompok orang atau grup sebagai pengguna penguji sedangkan open beta diluncurkan untuk komunitas pengguna secara umum maupun siapa saja yang tertarik. Pengguna kemudian melaporkan adanya kesalahan yang ditemukan maupun memberi saran untuk tambahan fitur yang seharusnya ada pada produk akhir.

- Release Candidate (RC)
Pengunaan istilah Release Candidate atau RC yaitu merujuk pada suatu versi perangkat lunak yang dilihat sebagai potensi sebuah produk akhir, yang kemudian akan diluncurkan jika tidak terdapat kesalahan fatal pada produk software yang ada. Pada tahap ini produk sudah lebih stabil dan semua fitur sudah didesain dan diuji melalui beberapa kali beta testing tanpa menunjukkan kesalahan. Beberapa developer software seperti Apple Inc. menggunakan istilah ‘Golden Master’ untuk mengindikasikan versi RC yang dimilikinya. Beberapa developer menggunakan istilah Gamma dan Delta untuk mengindikasikan versi yang sudah komplit tapi masih butuh beberapa pengujian, Omega atau Zenith untuk mengindikasikan versi pengujian akhir yang dipercaya sudah lebih bebas kesalahan dan siap untuk diproduksi.

TAHAP PELUNCURAN (RELEASE PERIOD)

- Release To Manufacturing / Release To Marketing (RTM)
Penggunaan istilah Release To Manufacturing atau Release To Marketing (keduanya disingkat dengan RTM, inisial yang sama juga digunakan untuk “Return To Manufacturer” atau barang yang rusak, meski artinya berbeda) disebut juga Going Gold digunakan untuk software yang siap untuk dikirimkan maupun digunakan oleh pengguna. Istilah ini biasanya digunakan untuk software yang digunakan untuk produksi masal dimana software dijual sebagai bagian dari kelengkapan hardware komputer atau distribusi masal retail (berkebalikan dengan software yang khusus diproduksi untuk proyek komersial atau distribusi terbatas). RTM biasanya merupakan tahap sebelum software disediakan untuk umum (GA).

- General Availability (GA)
General Availability atau General Acceptance adalah titik dimana semua hal yang diperlukan untuk kegiatan komersialisasi produk telah dilakukan dan software sudah siap untuk disediakan pada pasar atau publik baik melalui web atau media fisik. Istilah lain yang memiliki arti yang hampir sama dengan GA adalah First Customer Shipment (FCS), istilah ini digunakan oleh beberapa perusahaan seperti Sun Microsystem dan Cisco untuk mendeskripsikan software yang telah dikirimkan untuk mendapatkan pendapatan. Beberapa versi mungkin di klasifikasikan sebagai Long Term Support (LTS) yang disertai dengan kemampuan untuk diupgrade ke versi LTS selanjutnya dan akan terus didukung, update ataupun ditambah patch untuk waktu yang panjang dibandingkan versi non-LTS.

- Support Release
Istilah Support Release atau dalam sistem operasi Windows disebut dengan Service Pack tidak selalu ada dalam sebuah daur hidup perangkat lunak. Biasa disebut juga dengan Update Patch, paket ini berisi koleksi update, perbaikan maupun penambahan fitur dalam sebuah paket yang dapat diinstal.

- End Of Life
Tahap ini adalah tahap dimana sebuah software sudah tidak lagi diproduksi, dijual maupun didukung dengan support release.

Sekarang anda sudah tahu bagaimana sebuah software melewati tahap pengembangan dan pengujian sehingga dapat dipakai secara umum oleh kita semua. Tapi mungkin masih ada pertanyaan diantara kita semua tentang bagaimana standard penomoran suatu versi software? Contohnya seperti Flash Player 10.3.181.14 atau Skype 5.3.0.116.
Setahu saya tidak ada standarisasi penomoran versi suatu software seperti standar daur hidup peluncuran produk software, jadi penomoran versi suatu software sepenuhnya kebijakan dari developer perangkat lunak itu sendiri.

Source