Latest Reviews

Rabu, 22 November 2017

Model Pengembangan Software

Pada kesempatan kali ini saya menjelaskan beberapa perbedaan dari software pengembang antara lain:
1. Agile Development Methods, 
2. Rapid Application Development,
3. Dynamic System Development Methodology,
4. Extreme Programing Methodology dan 
5. Scrum Development Methodology.

Berikut perbedaannya.
Agile Development Methods

Pengertian.

Agile development methods merupakan salah satu dari Metodologi pengembangan perangkat lunak yang digunakan dalam pengembangan perangkat lunak. Agile memiliki pengertian bersifat cepat, ringan, bebas bergerak, dan waspada.

Tujuan.

 Diharapkan dengan memakai agile development methods dapat dihasilkan perangkat lunak yang mempunyai nilai jual yang tinggi, biaya pembuatan bisa di tekan dan perangkat lunak bisa berjalan dengan baik.

Prinsip.

1.Kepuasan klien adalah prioritas utama dengan menghasilkan produk lebih awal dan terus menerus
2.Menerima perubahan kebutuhan, sekalipun diakhir pengembangan.
3.Penyerahan hasil/software dalam hitungan waktu dua minggu sampai dua bulan.
4.Bagian bisnis dan pembangun kerja sama tiap hari selama proyek berlangsung.
5.Membangun proyek dilingkungan orang-orang yang bermotivasi tinggi yang bekerja dalam lingkungan yang mendukun dan yang dipercaya untuk dapat menyelesaikan proyek.
6.Komunikasi dengan berhadapan langsung adalah komunikasi yang efektif dan efisien
7.Software yang berfungsi adalah ukuran utama dari kemajuan proyek.
8.Dukungan yang stabil dari sponsor, pembangun, dan pengguna diperlukan untuk menjaga perkembangan yang berkesinambungan.
9. Perhatian kepada kehebatan teknis dan desain yang bagus meningkatkan sifat agile.
10.Kesederhanaan itu penting.
11.Arsitektur, kebutuhan dan desain yang bagus muncuk dari tim yang mengatur dirinya sendiri.
12.Secara periodik tim evaluasi diri dan mencari cara untuk lebih efektif dan segera melakukannya.

Kelebihan.

Beberapa kelebihan dari agile diantaranya:
1. Menambah produktivitas tim.
2. Menambah kualitas perangkat lunak.
3. Menambah kepuasan klien.
4. Menghemat biaya. 

Kekurangan.

Sedangkan kekurangan dari agile antara lain :
1. Agile tidak akan berjalan dengan baik jika komitmen tim kurang.
2. Tidak cocok dalam skala tim yang besar (>20 orang).
3. Perkiraan waktu release dan harga perangkat lunak sulit ditentukan.

Metode.


Rapid Application Development

Pengertian.

    Rapid Application Development (RAD) adalah metodologi pengembangan perangkat lunak yang berfokus pada membangun aplikasi dalam waktu yang sangat singkat.

Tujuan.

    Untuk menggambarkan suatu proses pembangunan yang melibatkan  application   prototyping dan iterative development. 

Prinsip.

    RAD memiliki banyak unsur­unsur yang membuat sebuah metodologi yang unik termasuk  prototyping, iterative development, time boxing, team members, management approach, dan RAD tools. 

Kelebihan.

RAD mempunyai kelebihan sebagai berikut:

1.Sangat berguna dilakukan pada kondisi user tidak memahami kebutuhan apa aja yang digunakan pada proses pengembangan perangkat lunak. 
2.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 waktunya lebih singkat. 
3.Karena mempunyai kemampuan untuk menggunakan komponen yang sudah ada dan waktu yang lebih singkat maka membuat biaya menjadi lebih rendah  

Kekurangan.

Beberapa   hal   yang   perlu   diperhatikan   dalam   implementasi   pengembangan menggunakan model RAD :

1.Proyek yang berskala besar, RAD memerlukan sumber daya manusia yang memadai untuk menciptakan jumlah tim yang baik.  
2.RAD menuntut pengembang dan pelanggan memiliki komitmen dalam aktivitas rapid fire yang diperlukan untuk melengkapi sebuah sistem dalam waktu singkat. jika komitmen tersebut tidak ada maka proyek RAD akan gagal.

Metode.





Dynamic System Development Methodology


Pengertian.

   Kerangka penyampaian proyek tangkas, yang awalnya digunakan sebagai metode pengembangan perangkat lunak.

Tujuan.

   DSDM bertujuan untuk membangun dan memelihara sistem dalam waktu yang terbatas melalui penggunaan prototyping yang incremental dalam lingkungan yang terkondisikan.

Prinsip.

Beberapa prinsip DSDM antara lain:

1. Fokus pada kebutuhan bisnis
2. Kirimkan tepat waktu
3. Berkolaborasi
4. Jangan kompromi kualitas
5. Bangun secara bertahap dari fondasi yang kuat
6. Kembangkan secara iteratif
7. Berkomunikasi terus menerus dan jelas
8. Menunjukkan control

Kelebihan

Membangun software dengan cepat: 80% dari proyek diserahkan dalam 20% dari waktu total untuk menyerahkan proyek secara utuh.

Kelemahan.

1 Memerlukan banyak waktu untuk mempelajari metode.
2 Metode tidak mencakup semua siklus pengembangan sistem.
3 Metode terlalu rumit untuk digunakan.
4 Penggunaan metode memperpanjang durasi proyek.

Metode.



Extreme Programing Methodology

Pengertian.

   Agile methods yang paling populer saat ini. XP digunakan untuk mengatasi masalah requirements yang tidak jelas dan sering berubah-ubah (vague and volatile requirements).

Tujuan.

   XP dimunculkan untuk menangani perubahan-perubahan yang biasanya sering terjadi pada saat pengembangan berlangsung bahkan pada saat proses pengembangan sudah hampir berakhir. Selain itu XP juga dimunculkan untuk mengatasi berbagai requirements yang tidak jelasdari user.

Prinsip.

1. Aliran umpan balik (Rapid Feedback)
2. Asumsi kesederhanaan (Asume Simplicity)
3. Penambahan perubahan (Incremental Change)
4. Pemelukan pekerjaan (Embrace Work)
5.  Kualitas kerja (Quality Work)

Kelebihan.

1. Menjalin komunikasi yang baik dengan klien. (Planning Phase)
2. Menurunkan biaya pengembangan (Implementation Phase)
3. Meningkatkan komunikasi dan sifat saling menghargai antar developer. (Implementation Phase)
4. XP merupakan metodologi yang semi formal. (Planning Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima, atau dengan kata lain eksibel. (Maintenance Phase.

Kelemahan.

Jika terlalu banyak dokumentasi (formal), maka sebuah metodologi pengembangan perangkat lunak tidak lagi dapat diklasifikasikan ke dalam agile methods.

Metode.





Scrum Development Methodology

Pengertian.

  Kerangka kerja proses yang telah digunakan untuk mengelola pengembangan produk kompleks

Tujuan.

Untuk mengembangkan & mengelola produk kompleks.

Prinsip.

Scrum didasari oleh teori kontrol proses empiris, atau dengan kata lain, empirisme. Empirisme menekankan bahwa pengetahuan berasal dari pengalaman dan pembuatan keputusan didasari oleh pengetahuan yang telah dimiliki hingga saat ini. Scrum menggunakan pendekatan berkala (iterative) dan bertahap (incremental) untuk meningkatkan prediktabilitas dan mengendalikan resiko. Ada tiga pilar dari setiap implementasi kontrol proses empiris yakni: transparansi, inspeksi dan adaptasi.

Kekuatan & kelemahan.

Kekuatan sekaligus kelemahan Scrum adalah anda dipaksa untuk mengadaptasi Scrum terhadap situasi sepesifik yang anda hadapi.

Metode.

beberapa sumber dan referensi:

https://www1.in.tum.de/lehrstuhl_1/files/teaching/ws0809/SE1/L16_Methodologies_XP_and_Scrum.pdf
http://www.students.science.uu.nl/~slegt001/me/final_5767202_Slegten.pdf
http://sharif.edu/~ramsin/index_files/sdmlecture8.pdf
http://www.uml.org.cn/softwareprocess/201012304.ppt
http://www.itu.dk/people/katten/speciale/RAD_a_quality_software_process.pdf
https://books.google.co.id/books?id=5K1EV57lYfwC&printsec=frontcover&dq=Rapid+Application+Development+pdf&hl=jv&sa=X&ved=0ahUKEwihlObLkNLXAhXJK48KHTjNBYgQ6AEIKTAB#v=onepage&q&f=false
https://books.google.co.id/books?id=JRhGAAAAQBAJ&pg=PA53&dq=Agile+development+methods+pdf&hl=jv&sa=X&ved=0ahUKEwiWzP_jkNLXAhUMOo8KHeAbAR4Q6AEIODAD#v=onepage&q=Agile%20development%20methods%20pdf&f=false



sekian blog kali ini, semoga bermanfaat dan dapat menambah wawasan.





    Choose :
  • OR
  • To comment
Tidak ada komentar:
Write komentar