This Is Mind - Pada zaman sekarang siapa yang tidak tahu mengenai Aplikasi, software, program atau dengan kata lainnya yaitu perangkat lunak, sudah banyak orang yang memakai perangkat lunak dalam kegiatannya sehari-hari. Semakin berkembangnya zaman dan kemajuan ilmu pengetahuan, perangkat lunak mengalami sebuah pengembangan untuk menambah fungsi-fungsi atau mengubah dari perangkat lunak tersebut.
Metodologi pengembangan perangkat lunak sendiri adalah sebuah metodologi yang digunakan untuk membuat struktur, rencana, dan kontrol pengerjaan suatu proyek, sedangkan Proses pengembangan perangkat lunak adalah model-model dan metodologi yang digunakan untuk mengembangkan suatu perangkat lunak. Ada beberapa model Metodologi pengembangan perangkat lunak diantaranya : waterfall, fountain, spiral, rapid, prototyping, incremental, build & fix, dan extreme programing. Dari setiap model pengembangan perangkat lunak tersebut terdapat langkah dasar yang digunakan pada setiap model, diantaranya ; perencanaan, implementasi, tes perangkat lunak, dokumentasi, dan pemeliharaan.
Sebelum melakukan pengembangan perangkat lunak kita harus memilih model yang tepat yang akan kita gunakan, pemilihan model ini bertujuan untuk menghindari terjadinya over budget, dan over time yang dapat merugikan pengembang.
Contoh dalam pengembangan perangkat lunak berskala besar menurut saya permodelan yang efektif yaitu kita memakai tahapan dari model spiral, dan extreme programing. Kenapa kita memakai tahapan pada spiral ? karena pada model spiral pengerjaannya dibagi menjadi beberapa modul. Pada model ini ada tahapan menganalisa resiko, dimana pada tahapan ini semua resiko akan dianalisa baik itu resiko dari manajemen proyek atapun resiko teknis sehingga dapat meminimalisir resiko yang akan terjadi. Pada model spiral juga ada tahapan prototipe, tahapan ini digunakan sebagai mekanisme pengurangan resiko dan pada setiap keadaan di dalam evolusi produk. Prototipe ini bisa digunakan untuk memperlihatkan modul-modul yang sudah dibuat kepada customer sehingga customer bisa mencoba memakainya.
Kenapa kita memakai tahapan extreme programing ? Dilihat dari namanya saja kita sudah bisa mengambil kesimpulan bahwa programer yang yang ada pada model ini memanglah orang-orang yang handal. Jadi hampir seperti spiral, pada pemodelan ini perangkat lunak yang besar dibagi menjadi beberapa fungsi-fungsi yang sudah didesain, sehingga pada tahap pemrograman bisa diharapkan bisa cepat diselesaikan. Dan pada model ini juga ada tahapan testing untuk mengetes perfungsi yang telah diselesaikan oleh tim programer. Testing ini bisa dilakukan oleh tim developer maupun customer. Jika ada perubahan yang diminta customer sang programer langsung merubahnya saaat itu juga.
Dan hasil gabungan dari tahapan model spiral dan model extreme programing sehingga kita membentuk tahapan baru yaitu Komunikasi dengan customer, Planning, analisa resiko, coding/production,prototipe dan testing. Tahapan komunikasi dengan customer, planning, analisa resiko,dan prototipe diambil dari tahapan spiral, sedangkan coding/production dan testing diambil dari tahapan extreme programing. Dari gabungan ini diharapkan dapat menutupi kekurangan dari masing-masing model.
Demikian hasil ulasan singkat dari Rochman Widi mengenai model yang efektif yang dapat digunakan untuk pengembangan perangkat lunak dengan skala besar.