Rabu, 29 Desember 2010

Metodologi Pengembangan Sistem Informasi

Pada saat dihadapkan pada pemilihan metodologi pengembangan sistem, banyak diantara kita yang akhirnya bingung. Padahal salah menentukan metodologi, dapat merembet ke penyusunan jadwal, staffing proyek, biaya dan lain-lain. Oleh karena itu, pemilihan metodologi menurut saya merupakan bagian yang lumayan penting, tidak hanya pada saat pengembangan sistem informasi namun juga pada pengembangan proyek-proyek lain.
Dalam pengembangan sebuah sistem, kita mengenal konsep SDLC (system development life cycle). Secara global definisi SDLC dapat dikatakan sebagai suatu proses berkesinambungan untuk menciptakan atau merubah sebuah sistem, merupakan sebuah model atau metodologi yang digunakan untuk melakukan pengembangan sistem. Dapat dikatakan dalam SDLC merupakan usaha bagaimana sebuah sistem informasi dapat mendukung kebutuhan bisnis, rancangan & pembangunan sistem serta delivering-nya kepada pengguna.

Secara umum, tahapan SDLC meliputi proses perencanaan, analisis, desain dan implementasi.
Planning
Proses perencanaan biasanya lebih menekankan pada alasan mengapa sebuah sistem harus dibuat.
Analysis
Tahapan perencanaan ini kemudian dilanjutkan dengan proses analisis yang lebih menekankan pada siapa, apa, kapan dan dimana sebuah sistem akan dibuat.
Design
Sedangkan pada proses desain lebih menekankan kepada bagaimana sistem akan berjalan
Implementation
Tahap terakhir dilanjutkan dengan fase implementasi yaitu proses delivery-nya kepada pengguna.
Pendekatan formal tahapan pengembangan sistem disebut metodologi. Saat ini bermacam-macam metodologi dalam pengembangan sistem. Wah, tambah bingung aja milihnya dong.. Nggak usah kuatir, sampeyan dapat memilih metodologi yang tepat disesuaikan dengan kebutuhan proses bisnis dan data yang mendukungnya.
Beberapa metodologi yang biasa dikenal antara lain Structural Design, Rapid Application Development (RAD) dan Agile Development.
Structural Design
Merupakan sebuah metode pengembangan sistem dimana antara satu fase ke fase yang lain dilakukan secara berurutan.

Biasanya sebuah langkah akan diselesaikan terlebih dahulu sebelum melanjutkan ke fase berikutnya. Keuntungan menggunakan metodologi ini requirement harus didefinisikan lebih mendalam sebelum proses coding dilakukan. Disamping itu metodologi ini memungkinkan sesedikit mungkin perubahan dilakukan pada saat proyek berlangsung. Namun, metodologi ini juga mempunyai beberapa kelemahan, diantaranya desain harus komplit sebelum programming dimulai, serta jika terjadi fase yang terlewati, maka biaya yang akan ditimbulkan akan lumayan besar.
Bagian dari metodologi ini antara lain Waterfall Modeling dan Parallel Development. Berbeda dengan Waterfall Modeling, Parallel Development memungkinkan beberapa fase dilakukan secara bersama-sama untuk mempersingkat waktu.
Rapid Application Development (RAD)
Metodologi ini melakukan beberapa penyesuaian terhadap SDLC pada beberapa bagian sehingga lebih cepat untuk sampai ke tangan pengguna. metodologi ini biasanya mensyaratkan beberapa teknik dan alat2 khusus agar proses bisa cepat, misalnya melakukan sesi joint application development (JAD), penggunaan alat-alat computer aided software engineering (CASE Tools), kode generator dan lain-lain.

Beberapa kategori RAD misalnya Phased Development, Prototyping dan Throw-away Prototyping. Phased Development membagi sistem secara keseluruhan menjadi beberapa versi sistem. Setelah desain untuk versi pertama selesai maka akan dilanjutkan ke implementasi. Setelah versi pertama terselesaikan, maka pengembang akan memulai lagi ke versi selanjutnya.

Metodologi prototyping melakukan analisis, desain dan implementasi secara bersamaan, kemudian dilakukan secara berulang-ulang untuk mendapat review dari pengguna. Sebuah prototiping adalah sebuah sistem dalam fungsi yang sangat minimal.

Sedangkan metodologi Throwaway Prototyping hampir sama dengan metodologi Prototyping. Perbedaannya bahwa pada metodologi ini, analisis dilakukan lebih mendalam lagi.
Agile Development
Bisa dikatakan ini merupakan metodologi yang lebih cepat dalam pengembangan sebuah sistem informasi. Metodologi ini melakukan perampingan pada proses pemodelan dan pembuatan dokumentasi. Pengembangan metodologi ini adalah eXtreme Programming dan Scrum.

Bagaimana memilih metodologi pengembangan sistem yang tepat?
Pada tulisan diatas telah memaparkan beberapa metodologi yang dapat digunakan dalam pengembangan sebuah sistem informasi. Pertanyaannya kemudian, metodologi apa yang sebaiknya digunakan?
Memilih sebuah metodologi bukanlah hal yang mudah dilakukan karena tidak satupun metodologi yang bisa dikatakan terbaik. Setiap organisasi biasanya memiliki standarisasi tertentu. Sebenarnya banyak hal yang bisa dijadikan pertimbangan dalam pemilihan sebuah metodologi. Pada gambar berikut ditampilkan komparasi dari metodologi pengembangan sistem.

Beberapa pertimbangan pemilihan metodologi meliputi; kejelasan kebutuhan pengguna (clarity user requirement), penguasaan teknologi (familiarity with technology), tingkat kerumitan sistem (system complexity), tingkat kehandalan sistem (system realibility), waktu pelaksanaan (short time schedules) dan visibilitas jadwal pelaksanaan (schedule visibility)
 Kejelasan kebutuhan pengguna
Jika pada suatu saat kita dihadapkan pada kondisi ketidakjelasan kebutuhan pengguna, maka metodologi RAD berbasis prototipe dan prototipe sekali pakai (throwaway prototyping) merupakan salah satu metodologi yang tepat untuk digunakan.

 Penguasaan teknologi
Penguasaan teknologi merupakan satu bagian yang vital untuk dipertimbangkan dalam menentukan sebuah metodologi. Familiaritas terhadap teknologi dasar yang tidak memadai akan menimbulkan pembengkakan waktu dan biaya.

 Tingkat kerumitan sistem yang akan dibangun
Sistem yang kompleks membutuhkan analisis dan desain yang sangat hati-hati. Oleh karena itu methodologi agile dan prototyping dipandang kurang begitu baik diterapkan jika tingkat kerumitan sistem sangat tinggi.

 Tingkat kehandalan sistem
Kehandalan sistem biasanya merupakan faktor penting dalam pengembangan sistem. Metodologi berbasis prototipe umumnya bukan pilihan yang baik karena mereka kurang berhati-hati tahap analisis dan desain.

 Waktu pelaksanaan pengembangan
Metodologi berbasis RAD cocok untuk proyek-proyek dengan jadwal waktu singkat yang membutuhkan kecepatan deliverables. metodologi berbasis waterfall adalah pilihan terburuk ketika waktu adalah penting karena tidak memungkinkan untuk memudahkan perubahan jadwal.

 Visibilitas jadwal pelaksanaan
Metodologi berbasis RAD banyak bergerak dari keputusan2 penting sehingga metodologi ini paling cocok diterapkan jika manager proyek mengenali dan memberikan perhatian lebih bagi tahapan yang mempunyai faktor resiko dan ekspetasi yang tinggi.

Tidak ada komentar:

Posting Komentar