Perkembangan dunia bisnis meningkatkan ketergantungan terhadap perangkat
lunak terutama dikarenakan kebutuhan bisnis untuk meningkatkan produktivitas
dan kualitas dalam waktu yang lebih singkat. Pengembangan perangkat lunak
mengalami peningkatan baik dalam hal ukuran, kompleksitas, persebaran maupun
tingkat kepentingan dari aplikasi yang digunakan dalam bisnis. Peningkatan kebutuhan pengembangan perangkat
lunak tidak sejalan dengan peningkatan SDM berkualitas untuk memenuhi kebutuhan
tersebut. Keterbatasan SDM yang dimiliki untuk memenuhi kebutuhan pengembangan
perangkat lunak yang meningkat menyebabkan banyak proyek pengembangan perangkat
lunak mengalami kegagalan.
Kegagalan yang terjadi pada pengembangan perangkat lunak seringkali diketahui
hanya terbatas pada gejala permasalahan tanpa mengetahui akar permasalahan yang
dimiliki. Penanganan yang dilakukan terdahap masalah pun terbatas pada mengatasi
gejala yang timbul tanpa menyelesaikan akar permasalahan yang sebenarnya. Hal
ini menyebabkan banyak proyek pengembangan perangkat lunak gagal ataupun tidak
sesuai dengan anggaran dan waktu yang telah ditetapkan.
Untuk mengatasi kegagalan-kegagalan yang terjadi dalam proyek perangkat
lunak sejumlah gejala dan akar permasalahan yang pernah terjadi diidentifikasi
dan dipelajari. Hasil penelitian terhadap penyebab kegagalan tersebut kemudian
dijadikan dasar dalam menyusun sebuah best
practice dalam pengembangan perangkat lunak untuk meminimalisasi
kemungkinan terjadinya kegagalan tersebut. Adapun beberapa best practice tersebut antara lain :
Develop Iteratively
Pengembangan secara iterative dilakukan
dengan membangun perangkat lunak secara bertahap untuk mengurangi resiko. Pengembangan
dilakukan dengan membuat prototype atau model yang merupakan inti dari sebuah
perangkat lunak yang menjadi landasan untuk pengembangan pada tahap
selanjutnya. Keberadaan prototype mmbuat pengembang dapat lebih cepat mengetahui
kekurangan dan dapat dengan segera melakukan perubahan. Dengan demikian
pengembang dapat menekan resiko pada tahapan awal dan membuat mitigasi resiko.
Manage Requirements
Requirements merupakan hal yang penting dalam pengembangan
perangkat lunak. Tujuan utama dalam pengembangan perangkat lunak ialah membuat
sistem yang tepat untuk memberikan solusi berdasarkan requirement yang disampaikan. Oleh karena itu, pengelolaan
requirement penting dilakukan untuk memastikan pengembang menyelesaikan masalah
yang tepat dengan membuat sistem yang tepat. Pengelolaan requirement dapat dilakukan dngan cara mengelisitasi, mengelola,
dan mendokumentasikan fungsionalitas dan constraint yang dibutuhkan
sistem, menetapkan dan mengelola persetujuan mengenai perubahan requirement sebuah perangkat lunak. Mengelola
requirements dengan baik mengurangi
kesalahan yang terjadi dan mengurangi kegagalan pengembangan perangkat lunak
yang dapat terjadi.
Use Component Architectures
Pengembangan berbasis komponen merupakan hal yang penting dalam
pengembangan perangkat lunak. Pengembangan berbasis komponen memungkinkan
penggunaan kembali (reuse) dan
kustomisasi komponen perangkat lunak dari berbagai sumber yang pernah dibuat
sebelumnya.
Model Visually
Pemodelan visual ialah proses penggambaran kode dalam bentuk visual.
Penggambaran secara visual mendeskripsikan sistem dari berbagai perspektif,
memperlihatkan konsistensi sistem, serta membantu pengecekan kesesuaian
implementasi sitem dengan rancangan awal. Pemodelan visual pada RUP dibantu
oleh keberadaan UML yang merupakan bahasa pemodelan terpadu. Dengan pemodelan
visual, kompleksitas dari perangkat lunak menjadi lebih mudah dipahami.
Verify Quality
Verifikasi kualitas perangkat lunak perlu dilakukan untuk mengetahui
kualitas suatu perangkat lunak dengan cara melihat beberapa aspek yaitu fungsionalitas,
kehandalan serta kinerja dari aplikasi dan sistem yang dikembangkan. Verifikasi
kualitas perlu dilakukan secara berkala untuk menghindari besarnya biaya yang
dikeluarkan untuk memperbaiki sistem apabila sistem telah dideploy. Dengan melakukan verifikasi
kualitas secara berkala, dapat diketahui kualitas perangkat lunak sehingga
perbaikan dini terhadap perangkat lunak dapat dilakukan dan biaya yang
dikeluarkan dapat berkurang.
Control Changes
Kontrol perubahan sangat diperlukan dalam proses pengembangan perangkat
lunak. Tidak adanya kontrol terhadap perubahan-perubahan yang terjadi dalam
proses pengembangan perangkat lunak dapat
menimbulkan resiko yang besar dan berdampak pada kekacauan. RUP menyediakan kemampuan untuk melakukan manajemen
control yang baik dengan mendokumentasikan semua perubahan yang telah
dilakukan, sehingga terstruktur dengan baik dan dapat dilihat dengan mudah.
Tidak ada komentar:
Posting Komentar