Kelebihan
- Mudah diaplikasikan.
- Memberikan template tentang metode analisis, desain, pengkodean, pengujian, dan
pemeliharaan.
Kekurangan
- Jarang sekali proyek riil mengikuti aliran sekuensial yang dianjurkan model karena
model ini bisa melakukan itersi tidak langsung.
- Pelanggan sulit untuk menyatakan kebutuhan secara eksplisit sehingga sulit untuk
megakomodasi ketidakpastian pada saat awal proyek.
- Pelanggan harus bersikap sabar karena harus menunggu sampai akhir proyrk dilalui.
Sebuah kesalahan jika tidak diketahui dari awal akan menjadi masalah besar karena harus
mengulang dari awal.
- Pengembang sering malakukan penundaan yang tidak perlu karena anggota tim proyek
harus menunggu tim lain untuk melengkapi tugas karena memiliki ketergantungan hal ini
menyebabkan penggunaan waktu tidak efesien.
Waterfall
Waterfall adalah pengerjaan dari suatu sistem dilakukan secara berurutan atau secara
linear. Jadi jika langkah satu belum dikerjakan maka tidak akan bisa melakukan pengerjaan
langkah 2, 3 dan seterusnya. Secara otomatis tahapan ke-3 akan bisa dilakukan jika tahap ke-1
dan ke-2 sudah dilakukan.
Secara garis besar metode waterfall mempunyai langkah-langkah sebagai berikut : Analisa,
Design, Code dan Testing, Penerapan dan Pemeliharaan.
1. Analisa
Langkah ini merupakan analisa terhadap kebutuhan sistem. Pengumpulan data dalam
tahap ini bisa malakukan sebuah penelitian, wawancara atau study literature.Tahapan ini akan
menghasilkan dokumen user requirment atau bisa dikatakan sebagai data yang berhubungan
dengan keinginan user dalam pembuatan sistem. Dokumen ini lah yang akan menjadi acuan
sistem analis untuk menterjemahkan ke dalam bahasa pemprogram.
2. Design
Proses desain akan menerjemahkan syarat kebutuhan ke sebuah perancangan perangkat
lunak yang dapat diperkirakan sebelum dibuat coding. Proses ini berfokus pada : struktur data,
arsitektur perangkat lunak, representasi interface, dan detail (algoritma) prosedural. Tahapan ini
akan menghasilkan dokumen yang disebut software requirment. Dokumen inilah yang akan
digunakan proggrammer untuk melakukan aktivitas pembuatan sistemnya.
4. Penerapan
Tahapan ini bisa dikatakan final dalam pembuatan sebuah sistem. Setelah melakukan
analisa, design dan pengkodean maka sistem yang sudah jadi akan digunakan oleh user.
5. Pemeliharaan
Perangkat lunak yang sudah disampaikan kepada pelanggan pasti akan mengalami
perubahan. Perubahan tersebut bisa karena mengalami kesalahan karena perangkat lunak harus
menyesuaikan dengan lingkungan (periperal atau sistem operasi baru) baru, atau karena
pelanggan membutuhkan perkembangan fungsional.
Model Prototyping
Pengumpulan Kebutuhan
Membangun Prototyping
Menggunakan Sistem
Evaluasi ini dilakukan oleh pelanggan apakah prototyping yang sudah dibangun sudah sesuai
dengan keinginann pelanggan.
Mengkodekan Sistem
Dalam tahap ini prototyping yang sudah di sepakati diterjemahkan ke dalam bahasa
pemrograman yang sesuai.
Menguji Sistem
Setelah sistem sudah menjadi suatu perangkat lunak yang siap pakai, harus dites dahulu
sebelum digunakan. Pengujian ini dilakukan dengan White Box, Black Box, Basis Path,
pengujian arsitektur dan lain-lain.
Evaluasi Sistem
Pelanggan mengevaluasi apakah sistem yang sudah jadi sudah sesuai dengan yang
diharapkan.
Evaluasi Protoptyping
Perangkat lunak yang telah diuji dan diterima pelanggan siap untuk digunakan.
Kelebihan
Kekurangan
Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.
Agile tidak akan berjalan dengan baik jika komitmen tim kurang.
Tidak cocok dalam skala tim yang besar (>20 orang).
Perkiraan waktu release dan harga perangkat lunak sulit ditentukan.
Scrum
Scrum adalah iteratif dan pengembangan perangkat lunak kerangka kerja tambahan
tangkas untuk proyek-proyek perangkat lunak dan mengelola produk atau pengembangan
aplikasi. Fokusnya adalah pada "strategi, pengembangan produk fleksibel holistik di
mana tim pengembangan bekerja sebagai sebuah unit untuk mencapai tujuan bersama"
sebagai lawan dari "pendekatan tradisional, berurutan".
Karakteristik
Ukuran tim yang kecil melancarkan komunikasi, mengurangi biaya, dan memberdayakan
satu sama lain
Proses dapat beradaptasi terhadap perubahan teknis dan bisnis
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
2). Sprints
Aktifitas Sprints merupakanunit pekerjaan yang diperlukan untuk memenuhi kebutuhan yang
ditetapkan dalam backlog sesuai dengan waktu yang ditetapkan dalam time-box (biasanya
30hari). Selama proses ini berlangsung backlog tidak ada penambahan.
4). Demo
Aktifitas Demo adalah penyerahan software increment ke klien didemonstrasikan dan
dievaluasi oleh klien.
Kelebihan
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
Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.
Ability to Develop
systems Extremen
Prototypin Throwaway
Waterfall Parallel Phased Programmin SCRUM
g Prototyping
g
With unfamiliar
Poor Poor Good Poor Excellent Good Good
technology
That are complex Good Good Good Poor Excellent Good Good
Excellen
That are reliable Good Good Good Poor Excellent Excellent
t