Thursday, February 17, 2011

Software Cycle

Baru baru ini Indonesia “dikejutkan” dengan kehadiran 2 bocah (literally) yang bisa bikin Antivirus, dan Jejaring Sosial. Dikejutkan karena kayaknya media overhyped with this, dan karena sebenarnya dua hal ini bisa dilakukan oleh siapa saja yang bekemauan dan mempunyai source Google yang cukup. Heheheh… :D

Dan kemudian dua bocah itu mengundang kontroversi. Yang satu dituduh menghilangkan banner lisensi, yang kemudian rame, kemudian dia bilang udah bayar kok, kemudian bayar setelah “dipaksa”. Yang satu lagi dituduh nyuri source code, yang kemudian bisa dibuktikan, yang kemudian minta ijin, lalu semuanya keburu bete. Gw gak akan ke soal lisensi segala macem. Tapi melihat suatu produk yang sangat immature (bukan anaknya! produknya!) mengingatkan lagi gw kepada yang namanya Software Cycle yang seharusnya diterapkan ke sebuah produk.

Gw tahu dua produk ini sangat immature dan overhyped karena setelah melalui real test world, sangat banyak bug-nya. Terutama yang antivirus itu. Antivirus yang katanya bisa membasmi virus Yuyun, yang entah apa karena gw udah jarang kena virus ini mendeteksi SEMUA file shortcut (.lnk) sebagai Yuyun. Ngekngok gak tuh?

Sebenernya ini nggak perlu kejadian kalo si developer mengikuti apa yang disebut dengan Software Cycle. Software Cycle ini ada beberapa tahap, ada yang 5 tahap ada yang 6 tahap tergantung si pembuatnya maunya begimane

Development Part

Semua dimulai dari yang namanya Pre-Alpha, atau juga Development atau juga Milestone. Pada tahap ini software dibuat dari awal, scratch, lembar notepad kosong. Developer akan meng-coding satu demi satu baris, lalu kemudian mengetesnya sendiri.

Lalu kemudian datanglah Alpha. Alpha adalah dimana developer mulai mengetesnya dalam lingkungan internal perusahaan. Kadang software masih bisa dibilang nggak stabil, ada bug disana sini dan lain lain. Yang jelas ini fiturnya belum komplit. Dalam kasus antivirus tadi, status Alpha ini bisa diraih dengan cara mengetes antivirus ini ke laptop punya temen, kakak, sodara, tetangga, pokoknya komputer lain. Nomer versinya pun biasanya masih dibawah 1 atau mencantumkan “a”.

Then comes Beta. Fitur dalam software beta sudah komplit, semua sudah sesuai yang diinginkan developer, cuma mungkin masih ada bug disana sini. Pengetesan mulai dilakukan orang luar perusahaan. Bisa dipilih, bisa bebas. Microsoft sering menyebutnya dengan Community Technical Preview atau CTP.

Fase terakhir dari development adalah Release Candidate. RC ini bener bener sudah komplit fiturnya, tidak ada bug yang bisa membuat program berhenti seketika… well mungkin tidak di semua komputer seperti itu. Tapi ada angka misal 99.99% komputer yang diuji tidak bermasalah ketika program dijalankan. Pada saat RC, tidak ada lagi kode ditambahkan, kecuali kode kode perbaikan.

Release

Release to Manufacturer adalah kebiasaan perusahaan gede. Seperti Microsoft dan Apple misalnya, ketika akan mengeluarkan Windows versi baru atau OS X versi baru selalu meluncurkannya dulu kepada perusahaan. Maksudnya supaya mereka siap siap bikin driver dan segala macemnya.

Untuk perusahaan kecil atau yang tidak butuh RTM, mereka akan masuk ke tahap berikutnya. General Avability. Alias ketersediaan secara umum. Software yang sudah dinyatakan lengkap, bebas bug, direlease ke publik untuk dipakai.

Saat General Avability berlangsung, dua hal akan dilakukan oleh developer. Support kepada program, dan kemudian seperti juga kehidupan, all must come to an end. Support akan dicabut untuk sesuatu yang lebih baik. Software akan dimatikan dengan cara menghentikan support dan menghentikan usaha untuk menambal bug, dinamakan End of Life.

Posisi Antivirus itu…

Lalu dimana posisi si Antivirus itu? Entah kenapa, gw agak yakin kalo antivirus yang dibikin sama anak kecil itu masih dalam tahap Alpha atau Beta. Mungkin fiturnya sudah komplit, tapi karena masih banyak banget bug, nggak bisalah disebut produk yang sudah matang.

Saran saya dek, kalau memang itu produk masih belum mateng, segera tempelkan kata BETA atau ALPHA diatasnya. Nomor versi pun jangan dibiarkan ngelunjak terlalu cepat, gunakan BUILD saja. Jangan dikit dikit ngerubah versi minor atau versi mayor.

Oh iya, satu hal lagi. Jangan gunakan yang namanya Software Developing untuk meraih beasiswa. Duit dari Dev jauh lebih gede daripada beasiswa. Coding sambil belajar jauh lebih menguntungkan daripada belajar sambil coding. :)

2 comments:

  1. tadinya nyari software.. eh malah keenakan baca tulisan ente gan.... lumayan nambah ilmu ane tentang bijimane tahapan yg harus di lakukan seorang developer software untuk menciptakan software..

    thanks :-bd

    ReplyDelete
  2. senang juga bisa dapat tambahan ilmu,
    tadinya masih nol, skr dah tau sistem software
    thanks berag gan,

    ReplyDelete

Apa yang kamu pikirkan tentang post diatas? Omongin aja, jangan malu malu.

Tapi...
- Ga terima iklan colongan, komen yang bener dan sesuai dengan artikel.
- Kualitas diatas kuantitas, gw gak bisa terima komentar 'one liner' yang cuma buat masang URL
- Gak ngerti artikelnya, gak usah komen.
- be nice, gw gak ngomersilin blog ini, jadi jangan manfaatin blog ini buat tawarin diri/barang lo.

Related Posts Plugin for WordPress, Blogger...