Kamis, 26 April 2012

Pengukuran Software: Metrik Proses dan Proyek

Pengukuran merupakan bagian dari dunia keteknikan. Kegiatan mengukur, dasarnya adalah membandingkan sesuatu dengan sesuatu yang lain yang dianggap sebagai patokan atau standard. Jadi kegiatan mengukur sebenarnya adalah untuk mendapat perbandingan, sehingga acuan perbandingan tersebut dapat dikelola. Paradigma ini sesuai dengan apa yang Lord Kelvin katakan:
... what we cannot measure, we cannot manage ...

Dalam keilmuan software engineering, kegiatan mengukur menjadi lebih sulit dari biasanya. Permasalahan yang ditemui adalah kesulitan dalam menetapkan nilai dari obyek yang diukur dan sulitnya menetapkan parameter-parameter yang bisa diukur. Karena secara praktis, mengukur perangkat lunak, adalah mengukur sesuatu yang sepertinya “tidak kelihatan”.
Pendekatan yang dapat digunakan dalam mengukur perangkat lunak adalah dengan (1) indikator proses perangkat lunak dan (2) indikator proyek perangkat lunak. Indikator proses digunakan oleh organisasi atau perusahaan yang bergerak dalam bidang rekayasa perangkat lunak untuk memperoleh data-data yang dapat digunakan untuk meningkatkan efisiensi dalam proses pengembangan perangkat lunak. Indikator proyek digunakan oleh manajer proyek untuk: mendapatkan status dari proyek yang sedang dikerjakan, mengidentifikasi resiko-resiko yang bisa terjadi, melakukan evaluasi kemampuan tim dalam proyek untuk melakukan kontrol terhadap kualitas produk perangkat lunak. Dalam beberapa kasus, suatu metrik yang sama dapat digunakan secara bersama-sama sebagai indikator proses dan indikator proyek.

(1) Indikator Proses Perangkat Lunak
Proses dalam perangkat lunak, berada di tengah-tengah segitiga yang terhubung pada tiga faktor utama, yaitu: sumber daya manusia, kompleksitas produk, dan perkembangan teknologi. Dari ketiga faktor tersebut yang paling berpengaruh dalam hal kualitas dan performa proses adalah sumber daya manusia. Segitiga proses terdapat di dalam sebuah lingkaran dari kondisi lingkungan dari proses yang sedang berjalan, yang terdiri dari lingkungan pengembangan sistem,  kondisi bisnis (misalnya:  deadline, aturan bisnis), dan karakteristik pelanggan atau pengguna (misalnya: kemudahan komunikasi). 


Efisiensi dari suatu proses dapat diukur secara tidak langsung dengan cara menentukan sekumpulan metrik berdasarkan kesimpulan yang dapat diambil dari suatu proses. Kesimpulan dapat diambil  dari perhitungan kesalahan-kesalahan yang belum dapat diatasi sebelum perangkat lunak diterbitkan maupun kesalahan yang dilaporkan oleh pengguna secara langsung. Kesimpulan juga dapat diambil dari ukuran produktifitas pekerjaan, tenaga kerja yang digunakan, waktu yang dihabiskan, kedisiplinan jadual, dan ukuran-ukuran lain yang lebih spesifik.
Untuk memudahkan suatu organisasi dalam melakukan analisis proses, dibuat suatu pendekatan yang disebut dengan Statistical Software Process Improvement (SSPI). SSPI menggunakan analisis kesalahan yang terdapat pada perangkat lunak untuk mengumpulkan informasi mengenai semua kesalahan dan  kekurangan yang dapat terjadi pada aplikasi atau sistem.

Analisis kesalahan dilakukan pada hal-hal berikut:
  1. Semua kesalahan dan kekurangan yang dikategorikan berdasarkan sumber dari kesalahan
  2. Pencatatan biaya untuk memperbaiki tiap kesalahan
  3. Jumlah kesalahan dan kekurangan pada tiap kategori dijumlahkan dan diurutkan mulai dari yang paling banyak sampai yang paling sedikit
  4. Semua biaya dari kesalahan dan kekurangan dari tiap kategori dihitung
  5. Data resultan dianalisa untuk menutupi kategori-kategori yang memerlukan biaya paling besar
  6. Perencanaan yang cermat dibuat untuk melakukan perubahan pada proses dengan mengurangi frekuensi kesalahan dan kekurangan yang paling banyak menghabiskan biaya.
 (2) Indikator Proyek Perangkat Lunak
Indikator proyek perangkat lunak biasanya digunakan oleh manajer proyek dan tim pengembang untuk perencanaan proyek. Metrik proyek memiliki dua macam sasaran. Pertama, metrik digunakan untuk melakukan optimalisasi scheduling sehingga jadwal dapat dipersingkat. Kedua, metrik digunakan untuk menaksir dan meningkatkan kualitas produk. Apabila kualitas meningkat, kesalahan dapat berkurang, maka jumlah revisi yang perlu dilakukan ikut berkurang, sehingga biaya produksi dapat ditekan.

Hal-hal yang harus diukur dalam suatu proyek adalah:
  1. Masukan, mengukur sumber daya (tenaga kerja, lingkungan) yang diperlukan dalam proyek
  2. Keluaran, mengukur hasil yang diperoleh dari suatu proyek pada saat proses rekayasa perangkat lunak
  3. Hasil, mengukur indikasi efektifitas dari produk yang dihasilkan
Sebenarnya, model di atas dapat diterapkan pada proses maupun pada proyek. Model tersebut dapat juga digunakan secara berurutan dalam suatu aktivitas kerangka kerja ke aktivitas kerangka kerja lainnya. Keluaran kerangka kerja tertentu bisa menjadi masukan bagi kerangka kerja yang lain dalam sebuah proyek. Di dalam aliran dari kerangka kerja satu ke kerangka kerja yang lain ini bisa diperoleh metrik hasil sebagai indikasi efektifitas antar kerangka kerja yang saling berhubungan. 
 Tulisan lain yang membahas paradigma indikator proyek perangkat lunak, dapat dilihat disini

Tidak ada komentar:

Posting Komentar