Dalam kesempatan kali ini saya ingin membahas salah satu
tahap penting dalam perencanaan proyek, yang merupakan bagian dari manajemen
proyek dan rekayasa perangkat lunak, yaitu Estimation Techniques atau teknik
estimasi dalam proyek perangkat lunak.
Ketika proyek akan dilaksanakan, terlebih dahulu kita
melakukan perencanaan proyek. Dalam perencanaan proyek ada lima aktivitas
utama, salah satunya adalah estimasi. Estimasi berarti menentukan seberapa
besar biaya, jumlah kerja, sumber daya dan waktu yang akan dibutuhkan untuk
membangun sebuah sistem. Estimasi biasanya dilakukan oleh manajer proyek,
dengan menggunakan informasi dari stakeholder atau data metrik proyek yang
sudah pernah dilakukan. Hal-hal yang umumnya diestimasi dalam proyek perangkat
lunak yaitu jadwal (waktu), biaya, performa sistem dan resiko.
Ada banyak sekali ketidakpastian dalam melaksanakan sebuah
proyek, sehingga tidak mungkin untuk memperkirakan biaya pengembangan sistem
dengan akurat di tahap awal proyek. Terlalu banyak variabel, termasuk sumber
daya manusia dan kemampuannya yang terlibat dalam proyek. Namun estimasi proyek
perangkat lunak bisa berubah menjadi serangkaian langkah yang sistematis
sehingga dapat menghasilkan perkiraan dengan resiko yang bisa diterima.
Teknik estimasi meliputi analogi, pengalaman, penilaian dari
ahli, dan penggunaan model parametrik seperti model PRICE untuk hardware,
COCOMO untuk proyek perangkat lunak, dan COSYMO untuk proyek sistem.
Ada dua teknik yang bisa dilakukan dalam estimasi:
- Teknik berdasarkan pengalaman
- Algorithmic cost modelling
Teknik berdasarkan pengalaman adalah teknik dengan
memperkirakan jumlah kerja yang akan dilakukan berdasarkan pengalaman manager
pada proyek yang pernah ia laksanakan dan domain aplikasi. Teknik ini lebih
baik dilakukan dengan bantuan anggota tim proyek dengan menjelaskan
masing-masing estimasi yang dilakukan. Ini dapat memunculkan hal-hal baru yang
mungkin tidak disadari oleh anggota tim yang lain maupun oleh manajer, kemudian
dirumuskan estimasi kesepakatan tim. Kesulitan jika menggunakan teknik ini
adalah proyek perangkat lunak yang akan dikembangkan mungkin tidak memiliki
banyak persamaan dengan proyek sebelumnya. Hal ini akan menyulitkan estimasi
dengan akurat sebab pengalaman di masa lalu akan tidak banyak membantu.
Pengembangan perangkat lunak berubah pesat dan terkadang menggunakan teknik
yang tidak familiar seperti web services dan pengembangan berdasarkan COTS.
Algorithmic Cost Modelling menggunakan formula matematika
untuk memprediksi biaya proyek berdasarkan pada perkiraan ukuran proyek; jenis
perangkat lunak yang dikembangkan; dan faktor tim, proses dan produk lainnya. Algorithmic
Cost Modelling digunakan terutama untuk membuat estimasi biaya pengembangan
perangkat lunak. Model ini adalah cara sistematis untuk memperkirakan jumlah
kerja yang dibutuhkan untuk mengembangkan sistem. Namun model ini kompleks dan
susah digunakan, sehingga model semacam ini hanya digunakan oleh beberapa
perusahaan saja.
Untuk beberapa jenis pengembangan tertentu, ada estimasi
khusus yang digunakan. Seperti pada agile development. Pada agile development,
pendekatan estimasi yang digunakan lebih informal dan ringkas, sesuai dengan
sumber daya yang ada. Estimasi khusus ini memudahkan alokasi jumlah kerja agar
dapat menyesuaikan kondisi seiring berjalannya proses pengembangan.
Estimasi proyek perangkat lunak tidak pernah bisa dirumuskan
dengan 100 persen akurat, akan tetapi dengan mengkombinasikan data historis
yang baik dan teknik-teknik yang sistematis, kita bisa meningkatkan akurasi
dari estimasi tersebut.
Sekian penyampaian materi oleh saya, semoga dapat bermanfaat
bagi pembaca sekalian.
Link video: https://youtu.be/Vtvio5DjUa0
EmoticonEmoticon