Tantangan Kualitas Perangkat Lunak


The Software Quality Challenge

Catatan belajar buku Software Quality Assurance | From theory to implementation. By: Daniel Galin 

Perangkat lunak dewasa ini semakin berkembang. Perkembangan begitu dahsyat dan nyaris tak terkendali. Tapi, hal itu tidak boleh mengendurkan kita untuk semangat belajar. Terutama belajar jaminan kualitas perangkat lunak atau dalam bahasa kerennya software quality assurance (SQA). Di dalam SQA kita akan belajar bagaimana tahapan ilmiah dalam membangun sebuah perangkat lunak secara benar dan sesuai dengan international organization for standardization atau disingkat ISO. Khususnya ISO 9000-3 tentang jaminan kualitas manajemen dan  jaminan kualitas (managements quality and quality assurance). Merupakan pedoman kita untuk membangun, mengembangkan, instalasi dan memelihara perangkat lunak.

Dalam dunia industri, semua tahapan harus direncakan dengan sangat matang. mulai dari pengembangan produk (product development), persiapan produksi produk (product production planning), dan proses pembuatan (manufacturing). Ngga lucu kan kalau kita membuat mobil baru dengan desain yang keren tetapi lupa membuat pintunya? semua tahapan proses pengembangan sampai pembuatan harus benar-benar terencana dengan matang.

SQA biasa dikembangkan oleh:

  • Siswa dan mahasiswa yang sedang mengembangkan perangkat lunak untuk keperluan studinya.
  • Pembuat perangkat lunak amatir yang juga sedang mengembangkan perangkat lunak.
  • Professional, baik dalam dunia teknik, ekonomi, manajemen dsb yang juga sedang mengembangkan perangkat lunak untuk membantu kerja mereka, mengkalkulasi, keperluan riset/penelitian, dan aktivitas survei.
  • Pengembang perangkat lunak profesional (system analysts and programmers) yang sedang mengembangkan produk perangkat lunak atau firmware.

Karakteristik metode SQA:

  1. Kontrak; hasil komitmen dan kondisi yang sudah disepakati oleh pengembang (developer) dan kustomer. Dalam kontrak ini sudah dibahas tentang kebutuhan-kebutuhan yang diperlukan untuk pegembangan perangkat lunak hingga bagaimana merawatnya (maintance)
  2. Hubungan kustomer-pengembang; seluruh proses yang dikerjakan sesuai dengan permintaan kustomer, memungkinkan ada penambahan saat proses pengembangan sudah berlangsung. Maka itu, perlu hubungan dan komunikasi yang baik antara kostumer dan pengembang.
  3. Kerja sama tim; dalam proyek skala besar, pasti perlu beberapa tim pengembang. Diperlukan kerjasama tim yang baik, agar semua proses pengerjaan sesuai dengan timeline yang sudah disepakati bersama.
  4. Kerja sama dan koordinasi tim pengembang; memungkinkan tim pengembang terdiri dari beberapa orang. Pasti perlu adanya kerja sama dan koordinasi dalam tim pengembang untuk timeline proses pengerjaan seperti penggunakan perangkat keras dan perangkat lunak. Seperti apa spesifikasi, harus sesuai permintaan kustomer.
  5. Tampilan dengan sistem perangkat lunak lain; sekarang, banyak kustomer yang meminta untuk meneruskan sistem yang sudah ada. Maka dari itu, kita harus mempelajari struktur dari sistem yang lama untuk keperluan saat proses pengembangan.
  6. Projek tetap jalan, meski anggota tim berubah; suatu ketika, akan ada kalanya saat team leader memberi kabar bahwa salah satu anggota tim mengundurkan diri karena alasan tertentu. Tidak ada jalan lain selain menyisipkan anggota baru di tengah proses pengerjaan, karena the show must go on! yang artinya proyek harus selesai sesuai dengan timeline yang sudah disepakati.
  7. Perawatan di masa mendatang; kustomer biasanya masih memerlukan fitur perawatan (maintenance) pada perangkat lunak yang sudah dibuat, perkiraan jangka waktu yang diperlukan sekitar 5-10 tahun.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s