Pada postingan kali ini, saya akan membahas tentang “Perbedaan beberapa model Pengembangan Perangkat Lunak (Software)”. Sebelumnya, Apa itu Pengembangan Perangkat Lunak ( Software development) ?
Proses Pengembangan Perangkat Lunak (Software Development Process) adalah suatu penerapan struktur untuk mengembangkan sistem serta memberikan panduan untuk menyukseskan proyek pengembangan sistem melalui tahapan-tahapan tertentu. Dalam prosesnya, terdapat beberapa paradigma model pengembangan sistem perangkat lunak, diantaranya :
1.Agile Software Development Methodology
Ciri – ciri Agile Software Development Methodology :
- 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 Modeling:
1.Meningkatkan kepuasan kepada klien
2.Pembangunan system dibuat lebih cepat
3.Menambah produktivitas tim
4.Menambah kualitas perangkat lunak
5.Menghemat biaya
Kelemahan dari Agile Modeling:
1.Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.
2.Agile tidak akan berjalan dengan baik jika komitmen tim kurang.
3.Tidak cocok dalam skala tim yang besar (>20 orang).
4.Perkiraan waktu release dan harga perangkat lunak sulit ditentukan.
2.Rapid Application Development (RAD)
Rapid Aplication Development (RAD) adalah model proses pembangunan perangkat lunak yang tergolong dalam teknik incremental (bertingkat). yang menekankan siklus perkembangan yang relatif pendek, singkat, dan cepat (kira-kira 60 sampai 90 hari). Model RAD ini merupakan sebuah adaptasi “kecepatan tinggi” dimana perkembangan cepat dicapai dengan menggunakan pendekatan konstruksi berbasis komponen dan metode iteratif (berulang) dalam mengembangkan sistemnya.
Ciri – ciri Rapid Aplication Development (RAD) :
- Pengembangannya pendek, singkat, dan cepat
- memerlukan komitmen yang kuat antara pengembang dan pemesssan (klien)
1.Lebih efektif dalam menghasilkan sistem yang memenuhi kebutuhan langsung dari pelanggan.
2.Cocok untuk proyek dengan skala besar dan memerlukan waktu yang singkat.
3.Model RAD mengikuti tahap pengembangan sistem seperti pada umumnya, tetapi mempunyai kemampuan untuk menggunakan kembali komponen yang ada sehingga pengembang tidak perlu membuatnya dari awal lagi sehingga waktu pengembangan menjadi lebih singkat dan efisien.
Kekurangan Model RAD :
1.Model RAD memerlukan komitmen yang kuat dari pengembang dan klien untuk melengkapi sebuah sistem di dalam kerangka waktu yang sangat diperpendek. Jika komitmen tersebut tidak ada, proyek RAD akan gagal.
2.Tidak semua aplikasi sesuai untuk RAD, bila system tidak dapat dimodulkan dengan teratur, pembangunan komponen penting pada RAD akan menjadi sangat bermasalah.
3.RAD tidak cocok digunakan untuk sistem yang mempunyai resiko teknik yang tinggi.
4.Membutuhkan Tenaga kerja yang banyak untuk menyelesaikan sebuah proyek dalam skala besar.
5.Jika ada perubahan di tengah-tengah pengerjaan maka harus membuat kontrak baru antara pengembang dan pelanggan.
6.Biaya mahal
3.Dynamic System Development Methodology (DSDM)
Dynamic System Development Methodology (DSDM) adalah model pengembangan software yang mencakup prinsip – prinsip pengembangan Agile.
Ciri – ciri Dynamic System Development Methodology
- Menyajikan kerangka kerja (framework)
- Membangun software dengan cepat
- Menerapkan Aktifitas Feasibility Study
- Menerapkan Aktifitas Business Study
- Menerapkan Aktifitas Functional model
- Menerapkan Aktifitas Design and Built Iteration
- Menerapkan Aktifitas Implementation
- Bisa dikombinasikan dengan XP
Kelebihan Dynamic Software Development Method (DSDM):
1.Menyajikan kerangka kerja (framework) untuk membangun dan memelihara sistem dalam waktu yang terbatas
2.Membangun software dengan cepat
3.DSDM dapat dikombinasikan dengan XP
Kelemahan Dynamic Software Development Method (DSDM):
1.Setiap iterasi bergantung pada prototype sebelumya
2.Menentukan scope dari suatu prototype proyek tidak pernah selesai
3.Dokumentasi sering kali tidak lengkap fokus pada pembuatan prototype
4.Isu-isu mengenai system backup and recovery, system performance dan system security kurang atau tidak diperhatikan dan sering terlupakan
4.Extreme Programing Methodology (XP)
Extreme Programing Methodology (XP) adalah suatu model yang tergolong dalam pendekatan agile yang diusulkan oleh Kent Back. Menurut penjelasannya, definisi XP adalah sebagai berikut: “Extreme Programming (XP) is a lightweight, efficient, low-risk, flexible, predictable, scientific, and fun way to develop software“.
Kelebihan Extreme Programming :
1.Meningkatkan kepuasan kepada client
2.Pembangunan system dibuat lebih cepat
3.Menjalin komunikasi yang baik dengan client.
4.Meningkatkan komunikasi dan sifat saling menghargai antar developer.
Kelemahan Extreme Programming:
1.Cerita-cerita yang menunjukkan requirements kemungkinan besar tidak lengkap sehingga Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.
2.Tidak bisa membuat kode yang detail di awal (prinsip simplicity dan juga anjuran untuk melakukan apa yang diperlukan hari itu juga).
3.XP tidak memiliki dokumentasi formal yang dibuat selama pengembangan.
5.SCRUM Development Methodology
Scrum adalah salah satu komponen dari metodologi pengembangan Agile yang menguraikan proses untuk mengidentifikasi dan katalogisasi pekerjaan yang perlu dilakukan, memprioritaskan yang bekerja dengan berkomunikasi dengan pelanggan atau wakil pelanggan, dan pelaksanaan yang bekerja menggunakan rilis iterative dan memiliki tujuan utama untuk mendapatkan perkiraan berapa lama akan pembangunan. Scrum merupakan suatu kerangka kerja. Jadi, bukannya menyediakan deskripsi rinci tentang bagaimana segala sesuatu yang harus dilakukan pada proyek seperti diserahkan kepada tim pengembangan perangkat lunak pada umumnya. Hal ini dilakukan supaya tim akan tahu bagaimana cara terbaik untuk memecahkan masalah yang mereka sajikan. Ada 3 elemen organisasi utama pada scrum yaitu product owner, Scrum master, dan the Scrum team.
Scrum Development Methodology memiliki prinsip yaitu:
•Ukuran tim yang kecil melancarkan komunikasi, mengurangi biaya, dan memberdayakan satu sama lain
•Proses menghasilkan beberapa software increment
•Pembangunan dan orang yang membangun dibagi dalam tim yang kecil
•Dokumentasi dan pengujian terus menerus dilakukan setelah software dibangun
•Proses scrum mampu menyatakan bahwa produk selesai kapanpun diperlukan
Kelebihan Scrum Development Methodology antara lain:
1.Keperluan berubah dengan cepat
2.Tim berukuran kecil sehingga melancarkan komunikasi, mengurangi biaya dan memberdayakan satu sama lain
3.Pekerjaan terbagi-bagi sehingga dapat diselesaikan dengan cepat
4.Dokumentasi dan pengujian terus menerus dilakukan setelah software dibangun
5.Proses Scrum mampu menyatakan bahwa produk selesai kapanpun diperlukan
Kelemahan Scrum Development Methodology antara lain:
• Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.






Tidak ada komentar:
Posting Komentar