Model Pengembangan Software
Hai sobat blogger hari ini mimin bakalan share beberapa model pengembangan yang sudah ada di dunia ini ,model pengembangan ini ada akibat dari pesatnya perkembangan teknologi pada saat ini dan juga permintaan dari instansi maupun organisasi semakin meningkat :v oke langsung saja kita mulai
1. Agile Software Development Methodelogy
Nah yang pertama adalah agile software development ,mari kita ulas sedikit sejarahdari methode ini . Methode inidi kembangkan pada tahun 90-an yang bersifat cepat ,ringan ,bebas bergerak dan waspada.methode ini mengandalkan fleksibilitas pada pengembangan pengembangan softwarenya.methode ini di cetuskan dicetuskan oleh kent back dan di bantu oleh 16 temannya.
Agile methods merupakan salah satu dari beberapa metode yang digunakan dalam pengembangan software. Agile method adalah jenis pegembangan sistem jangka pendek yang memerlukan adaptasi cepat dan pengembang terhadap perubahan dalam bentuk apapun.
Agile development methods terdefinisi dalam empat nilai, biasa di sebut Agile Alliance’s Manifesto,diantaranya :
Kelebihan dari Agile Method
Yang kedua adalah Rapid Application Development pertama kali dikembangkan dan berhasil digunakan selama pertengahan 1970-an oleh Sistem Pusat Pengembangan New York Telephone Co di bawah arahan Dan Gielan. Rapid application development (RAD) atau rapid prototyping adalah model proses pembangunan perangkat lunak yang tergolong dalam teknik incremental (bertingkat). RAD menekankan pada siklus pembangunan pendek, singkat, dan cepat. Waktu yang singkat adalah batasan yang penting untuk model ini. Rapid application development menggunakan metode iteratif (berulang) dalam mengembangkan sistem dimana working model (model bekerja) sistem dikonstruksikan di awal tahap pengembangan dengan tujuan menetapkan kebutuhan (requirement) user dan selanjutnya disingkirkan. Working model digunakan kadang-kadang saja sebagai basis desain dan implementasi sistem final.
Model RAD mengadopsi model "waterfall" dan pembangunan dalam waktu singkat yang dicapai dengan menerapkan :
yang ke tiga adalah Dynamic System Development Model Methodology .dikembangkan oleh Konsorsium Vendor dan Para Expert dalam bidang pengembangan Sistem Informasi(IS) di United Kingdom pada tahun 1990 dan pertamakali go public pada tahun 1995. Metodologi ini merupakan pengembangan tahap lanjut dari metode Rapid Application Development (RAD) yang sangat menerapkan metode incremental dan iteratif. metode ini sangat ideal digunakan ketika suatu software dituntut untuk sangat fokus dan mementingkan tampilan yang mudah dan aspek kegunaan yang baik dari produk tersebut.
Ada delapan prinsip yang mendasari DSDM . Prinsip-prinsip ini mengarahkan tim dalam sikap yang harus mereka ambil dan pola pikir yang harus mereka adopsi agar dapat disampaikan secara konsisten :
Nah yang ke empat adalah Extreme Program(yang disingkat sebagai XP) sejarah singkatnya XP Pertama kali diusulkan oleh Kent Beck dan Ward Cunningham pada bulan Maret 1996, asal mula XP digunakan karena pada saat itu permintaan dari customer yang sering berubah dengan cepat sehingga mengakibatkan putaran kehidupan metode pengembangan perangkat lunak tradisional menjadi lebih pendek dan tidak selaras dengan metode tradisional karena pada umumnya memerlukan desain yang luas dan itu mengakibatkan perubahan desain yang terjadi dan tentu saja memerlukan biaya yang lebih tinggi.
Extreme Programming itu sendiri adalah sebuah pendekatan atau model pengembangan perangkat lunak yang mencoba menyederhanakan berbagai tahapan dalam proses pengembangan tersebut sehingga menjadi lebih adaptif dan fleksibel. XP bukan hanya berfokus pada coding tetapi meliputi seluruh area pengembangan perangkat lunak. XP mengambil pendekatan ‘ekstrim’ dalam iterative development.
yang terakhir atau yang ke 5 adalah Metodologi Scrum (Scrum Methodology) merupakan sebuah kerangka kerja untuk mengembangkan sebuah produk yang kompleks, di mana visi dari Scrum adalah produk yang bernilai tinggi secara kreativitas maupun produktivitas.
Scrum saat ini menjadi alternatif yang mulai banyak digunakan dalam proses pengembangan perangkat lunak. Scrum sendiri sebenarnya adalah sebuah framework yang mengimplementasikan proses Agile Development. Untuk menjelaskan bagaimana Scrum mengubah paradigma dalam proses bekerja dan apa perbedaannya dengan RUP,
1. Agile Software Development Methodelogy
Nah yang pertama adalah agile software development ,mari kita ulas sedikit sejarahdari methode ini . Methode inidi kembangkan pada tahun 90-an yang bersifat cepat ,ringan ,bebas bergerak dan waspada.methode ini mengandalkan fleksibilitas pada pengembangan pengembangan softwarenya.methode ini di cetuskan dicetuskan oleh kent back dan di bantu oleh 16 temannya.
Agile methods merupakan salah satu dari beberapa metode yang digunakan dalam pengembangan software. Agile method adalah jenis pegembangan sistem jangka pendek yang memerlukan adaptasi cepat dan pengembang terhadap perubahan dalam bentuk apapun.
Agile development methods terdefinisi dalam empat nilai, biasa di sebut Agile Alliance’s Manifesto,diantaranya :
- Interaksi dan personel lebih penting daripada proses dan alat.
- Perangkat lunak yang berfungsi lebih penting daripada dokumentasi yang lengkap.
- Kolaborasi dengan klien lebih penting daripada negosiasi kontrak.
- Respon terhadap perubahan lebih penting daripada mengikuti rencana.
Kelebihan dari Agile Method
- Meningkatkan kepuasan kepada klien
- Pembangunan system dibuat lebih cepat
- Mengurangi resiko kegagalan implementasi software dari segi non-teknis
- Jika pada saat pembangunan system terjadi kegagalan,kerugian dar segi materi relative kecil
Kekurangan dari agile
- Developer harus selalu siap dengan perubahan karena perubahan harus selalu di terima
- Agile tidak akan berjalan dengan baik jika komitmen tim kurang.
- Tidak cocok dalam skala tim yang besar (> 19 orang)
- Perkiraan waktu relase dan harga sulit di tentukan
Yang kedua adalah Rapid Application Development pertama kali dikembangkan dan berhasil digunakan selama pertengahan 1970-an oleh Sistem Pusat Pengembangan New York Telephone Co di bawah arahan Dan Gielan. Rapid application development (RAD) atau rapid prototyping adalah model proses pembangunan perangkat lunak yang tergolong dalam teknik incremental (bertingkat). RAD menekankan pada siklus pembangunan pendek, singkat, dan cepat. Waktu yang singkat adalah batasan yang penting untuk model ini. Rapid application development menggunakan metode iteratif (berulang) dalam mengembangkan sistem dimana working model (model bekerja) sistem dikonstruksikan di awal tahap pengembangan dengan tujuan menetapkan kebutuhan (requirement) user dan selanjutnya disingkirkan. Working model digunakan kadang-kadang saja sebagai basis desain dan implementasi sistem final.
Model RAD mengadopsi model "waterfall" dan pembangunan dalam waktu singkat yang dicapai dengan menerapkan :
- Component based construction ( pemrograman berbasis komponen bukan prosedural).
- Penekanan pada penggunaan ulang (reuse) komponen perangkat lunak yang telah ada.
- Pembangkitan kode program otomatis/semi otomatis.
- Multiple team (banyak tim), tiap tim menyelesaikan satu tugas yang selevel tetapi tidak sama. Banyaknya tim tergantung dari area dan kompleksitasnya sistem yang dibangun.
- RAD mengikuti tahapan pengembangan sistem sepeti umumnya, tetapi mempunyai kemampuan untuk menggunakan kembali komponen yang ada (reusable object) sehingga pengembang tidak perlu membuat dari awal lagi dan waktu yang lebih singkat.
- Setiap fungsi mayor dapat dimodulkan dalam waktu tertentu kurang dari 3 bulan dan dapat dibicarakan oleh tim RAD yang terpisah dan kemudian diintegrasikan sehingga waktunya lebih efisien.
- Tidak cocok untuk proyek skala besar.
- Proyek bisa gagal karena waktu yang disepakati tidak dipenuhi.
- Sistem yang tidak bisa dimodularisasi tidak cocok untuk model ini.
- Resiko teknis yang tinggi juga kurang cocok untuk model ini.
- penghalusan dan penggabungan dari beberapa tim di akhir proses sangat diperlukan dan ini memerlukan kerja keras.
- kinerja dari perangkat lunak yang dihasilkan dapat menjadi masalah manakala kebutuhan-kebutuhan diawal proses tidak dapat dimodulkan, sehingga pendekatan dengan model ini kurang bagus.
- Model RAD memerlukan komitmen yang kuat antara pengembang dan pemesssan, bahkan keduanya bisa tergabung dalam 1 tim
- Model RAD memerlukan sumber daya yang cukup besar, terutama untuk proyek dengan skala besar.
yang ke tiga adalah Dynamic System Development Model Methodology .dikembangkan oleh Konsorsium Vendor dan Para Expert dalam bidang pengembangan Sistem Informasi(IS) di United Kingdom pada tahun 1990 dan pertamakali go public pada tahun 1995. Metodologi ini merupakan pengembangan tahap lanjut dari metode Rapid Application Development (RAD) yang sangat menerapkan metode incremental dan iteratif. metode ini sangat ideal digunakan ketika suatu software dituntut untuk sangat fokus dan mementingkan tampilan yang mudah dan aspek kegunaan yang baik dari produk tersebut.
Ada delapan prinsip yang mendasari DSDM . Prinsip-prinsip ini mengarahkan tim dalam sikap yang harus mereka ambil dan pola pikir yang harus mereka adopsi agar dapat disampaikan secara konsisten :
- Fokus pada kebutuhan bisnis
- Kirim tepat waktu
- Berkolaborasi
- Jangan kompromi kualitas
- Bangun secara bertahap dari fondasi yang kuat
- Kembangkan secara iteratif
- Berkomunikasi terus menerus dan jelas
- Tunjukkan kontrol
- Menyajikan kerangka kerja (framework) untuk membangun dan memelihara sistem dalam waktu yang terbatas melalui penggunaan prototyping yang incremental dalam lingkungan yang terkondisikan;
- Membangun software dengan cepat;
- DSDM dapat dikombinasikan dengan XP menghasilkan kombinasi model proses yang mengikuti DSDM dan praktek yang sejalan dengan XP
Kelemahan dari DSDM:
- Biaya lisensi
- Penghalang yang relatif tinggi untuk masuk
- Pergeseran budaya dalam organisasi
Nah yang ke empat adalah Extreme Program(yang disingkat sebagai XP) sejarah singkatnya XP Pertama kali diusulkan oleh Kent Beck dan Ward Cunningham pada bulan Maret 1996, asal mula XP digunakan karena pada saat itu permintaan dari customer yang sering berubah dengan cepat sehingga mengakibatkan putaran kehidupan metode pengembangan perangkat lunak tradisional menjadi lebih pendek dan tidak selaras dengan metode tradisional karena pada umumnya memerlukan desain yang luas dan itu mengakibatkan perubahan desain yang terjadi dan tentu saja memerlukan biaya yang lebih tinggi.
Extreme Programming itu sendiri adalah sebuah pendekatan atau model pengembangan perangkat lunak yang mencoba menyederhanakan berbagai tahapan dalam proses pengembangan tersebut sehingga menjadi lebih adaptif dan fleksibel. XP bukan hanya berfokus pada coding tetapi meliputi seluruh area pengembangan perangkat lunak. XP mengambil pendekatan ‘ekstrim’ dalam iterative development.
Kelebihan model Extreme Programming :
- Komunikasi dalam XP dibangun dengan melakukan pemrograman berpasangan (pair programming). Developer didampingi oleh pihak klien dalam melakukan coding dan unit testing sehingga klien bisa terlibat langsung dalam pemrograman sambil berkomunikasi dengan developer. Selain itu perkiraan beban tugas juga diperhitungkan.
- Menekankan pada kesederhanaan dalam pengkodean: “What is the simplest thing that could possibly work?” Lebih baik melakukan hal yang sederhana dan mengembangkannya besok jika diperlukan. Komunikasi yang lebih banyak mempermudah, dan rancangan yang sederhana mengurangi penjelasan.
- Setiap feed back ditanggapi dengan melakukan tes, unit test atau system integration dan jangan menunda karena biaya akan membengkak (uang, tenaga, waktu).
- Banyak ide baru dan berani mencobanya, berani mengerjakan kembali dan setiap kali kesalahan ditemukan, langsung diperbaiki.
Kelemahan model Extreme Programming :
- Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.
- Tidak bisa membuat kode yang detail di awal (prinsip simplicity dan juga anjuran untuk melakukan apa yang diperlukan hari itu juga).
yang terakhir atau yang ke 5 adalah Metodologi Scrum (Scrum Methodology) merupakan sebuah kerangka kerja untuk mengembangkan sebuah produk yang kompleks, di mana visi dari Scrum adalah produk yang bernilai tinggi secara kreativitas maupun produktivitas.
Scrum saat ini menjadi alternatif yang mulai banyak digunakan dalam proses pengembangan perangkat lunak. Scrum sendiri sebenarnya adalah sebuah framework yang mengimplementasikan proses Agile Development. Untuk menjelaskan bagaimana Scrum mengubah paradigma dalam proses bekerja dan apa perbedaannya dengan RUP,
Kelebihan Metodologi Scrum antara lain:
- Keperluan berubah dengan cepat
- Tim berukuran kecil sehingga melancarkan komunikasi, mengurangi biaya dan memberdayakan satu sama lain
- Pekerjaan terbagi-bagi sehingga dapat diselesaikan dengan cepat
- Dokumentasi dan pengujian terus menerus dilakukan setelah software dibangun
- Proses Scrum mampu menyatakan bahwa produk selesai kapanpun diperlukan
Kekurangan Metodologi Scrum antara lain :
- Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.
- Lemah dalam perencanaan arsitektur





Komentar
Posting Komentar