selamat datang di blog sederhana ini semoga terhibur,dan jangan lupa di follow

Sunday, November 26, 2017

5 Software Development Methods


Assalamualaikum wr. wb.
kali ini saya akan membahas 5 software development methods. yaitu sebuah cara pengembangan software yang bermacam macam.untuk lebih jelasnya langung saja lihat disni.



1.Agile Software Development Methods

     Agile Software Development Methods adalah sekelompok metodologi pengembangan perangkat lunak yang didasarkan pada prinsip-prinsip yang sama atau pengembangan sistem jangka pendek yang memerlukan adaptasi cepat dari pengembang terhadap perubahan dalam bentuk apapun. Agile Software development adalah salah satu metodelogi dalam pengembangan sebuah perangkat lunak (software). Kata Agile berarti bersifat cepat, ringan, bebas bergerak, waspada. Kata ini digunakan sebagai kata yang menggambarkan konsep model proses yang berbeda dari konsep model-model proses yang sudah ada. Konsep Agile software development dicetuskan oleh Kent Beck dan 16 rekannya dengan menyatakan bahwa Agile Software Development adalah cara membangun software dengan melakukannya dan membantu orang lain membangunnya sekaligus.

Agile development methods terdefinisi dalam empat nilai, yang di sebut Agile Alliance’s Manifesto, diantaranya :
  1. Interaksi dan personel lebih penting dari pada proses dan alat.
  2. Perangkat lunak yang berfungsi lebih penting daripada dokumentasi yang lengkap.
  3. Kolaborasi dengan klien lebih penting dari pada negosiasi kontrak.
  4. Respon terhadap perubahan lebih penting daripada mengikuti rencana
Beberapa kelebihan dari agile diantaranya :
•    82% Menambah produktivitas tim.
•    77% Menambah kualitas perangkat lunak.
•    78% Menambah kepuasan klien.
•    37% Menghemat biaya.

kekurangan dari agile antara lain :
•    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.


2. Rapid application development (RAD)

     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. alam mengembangkan sistem di mana 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.

Kelebihan dari RAD :
  1.  Membeli sistem yang baru memungkinkan untuk lebih menghemat biaya ketimbang mengembangkan sendiri.
  2.  Proses pengiriman menjadi lebih mudah, hal ini dikarenakan proses pembuatan lebih banyak menggunakan potongan-potongan script.
  3.  Mudah untuk diamati karena menggunakan model prototype, sehingga user lebih mengerti akan sistem yang dikembangkan.
  4. Lebih fleksibel karena pengembang dapat melakukan proses desain ulang pada saat yang bersamaan.
  5. Bisa mengurangi penulisan kode yang kompleks karena menggunakan wizard.
  6. Keterlibatan user semakin meningkat karena merupakan bagian dari tim secara keseluruhan.
  7. Mampu meminimalkan kesalahan-kesalahan dengan menggunakan alat-alat bantuan (CASE tools).
  8. Mempercepat waktu pengembangan sistem secara keseluruhan karena cenderung mengabaikan kualitas.
  9. Tampilan yang lebih standar dan nyaman dengan bantuan software-software pendukung.

Kelemahan dari RAD :
  1. Dengan melakukan pembelian belum tentu bisa menghemat biaya dibandingkan dengan mengembangkan sendiri.
  2. Membutuhkan biaya tersendiri untuk membeli peralatan-peralatan penunjang seperti misalnya software dan hardware.
  3. Kesulitan melakukan pengukuran mengenai kemajuan proses.
  4. Kurang efisien karena apabila melakukan pengkodean dengan menggunakan tangan bisa lebih efisien.
  5. Ketelitian menjadi berkurang karena tidak menggunakan metode yang formal dalam melakukan pengkodean.
  6. Lebih banyak terjadi kesalahan apabila hanya mengutamakan kecepatan dibandingkan dengan biaya dan kualitas.
  7. Fasilitas-fasilitas banyak yang dikurangi karena terbatasnya waktu yang tersedia.
  8. Sistem sulit diaplikasikan di tempat yang lain.
  9. Fasilitas yang tidak perlu terkadang harus disertakan, karena menggunakan komponen yang sudah jadi, sehingga hal ini membuat biaya semakin meningkat.
Contoh Penerapan dalam Kehidupan


Model RAD mengadopsi model waterfall dan pembangunan dalam waktu singkat yang dicapai dengan menerapkan :
  1.  Component based construction (pemrograman berbasis komponen bukan prosedural).
  2.  Penekanan pada penggunaan ulang (reuse) komponen perangkat lunak yang telah ada.
  3.  Pembangkitan kode program otomatis/semi otomatis.
  4.  Multiple team (banyak tim), tiap tim menyelesaikan satu tugas yang selevel tapi tidak sama. Banyaknya tim tergantung dari area dan kompleksitasnya sistem yang dibangun.


 3.Dynamic System Development Method (DSDM) 



     Dynamic System Development Method (DSDM)  diluncurkan pada Februari 1995. Dynamic Software Development Method (DSDM) pada dasarnya merupakan suatu metodelogi pengembangan perangkat lunak yang didasarkan pada metodelogi RAD.

Tahapan Dynamic Software Development Method (DSDM)
  1.  Feasibility study (Studi Kelayakan)
  2. Business study – prioritized requirements (Studi Bisnis - Persyaratan Diprioritaskan)
  3.  Functional model iteration (Fungsional Model Iterasi)
  4.  Risk analysis (Analisis Resiko)
  5. Time-box plan (Rencana Waktu)
  6.  Design and build iteration (Desain dan Membangun Iterasi)
  7.  Implementation (Implementasi)

Kelebihan Dynamic Software Development Method (DSDM)
  1. Menyajikan kerangka kerja (framework) untuk membangun dan memelihara sistem dalam waktu yang terbatas melalui penggunaan prototyping yang incremental dalam lingkungan yang terkondisikan
  2. Membangun software dengan cepat
  3. DSDM dapat dikombinasikan dengan XP menghasilkan kombinasi model proses yang mengikuti DSDM dan praktek yang sejalan 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/tidak diperhatikan dan sering terlupakan

          Waktu Penggunaan
Dynamic Sofware Development Method (DSDM) digunakan untuk proyek yang membutuhkan waktu singkat dan tidak memerlukan kinerja tinggi, ini karena DSDM berdasar pada model RAD.



4.Extreme Programming 


     Extreme Programming adalah suatu model yang termasuk dalam pendekatan agile yang diperkenalkan oleh Kent Back. Menurut penjelasannya, definisi XP adalah sebagai berikut: “Extreme Programming (XP) adalah metode pengembangan software yang cepat, efisien, beresiko rendah, fleksibel, terprediksi, scientific, dan menyenangkan.“.
Tahapan-tahapan yang harus dilalui antara lain: Planning, Design, Coding, dan Testing.

Extreme Programming tepat untuk dipergunakan untuk pembuatan program yang:
•    Membutuhkan perubahan yang cepat (misalnya: Game Mobile)
•    Proyek beresiko tinggi dengan tantangan yang berat
•    Tim programmer sedikit, yaitu sekitar 2–10 orang
•    Adanya permintaan dari pelanggan secara langsung

Kelebihan Extreme Programming, yaitu:

  •   Meningkatkan kepuasan kepada klien
  • Pembangunan system dibuat lebih cepat
  • Menjalin komunikasi yang baik dengan client.
  • Meningkatkan komunikasi dan sifat saling menghargai antar developer.
Kelemahan Extreme Programming, yaitu:
  •  Cerita-cerita yang menunjukkan requirements dari pelanggan kemungkinan besar tidak lengkap sehingga 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).
  • XP tidak memiliki dokumentasi formal yang dibuat selama pengembangan. Satu-satunya dokumentasi adalah dokumentasi awal yang dilakukan oleh user.



5.Scrum Development Methodology




     Scrum Development Methodology Pertama kali diperkenalkan oleh Jeff Sutherland tahun awal tahun 1990an, dan dikembangkan selanjutnya dilakukan oleh Schwaber dan Beedle.
Pada dasarnya Scrum merupakan salah satu komponen dari metodologi pengembangan Agile mengenai pertemuan harian untuk membahas kemajuan sedangkan XP adalah menekankan metodologi yang berbeda yaitu ujian, pemrograman dan pembangunan. Scrum 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.

Scrum tepat digunakan saat kondisi:

  •   Keperluan berubah dengan cepat
  • Tim programmer sedikit, yaitu 5-9 orang
  • Pelanggan tidak terlalu paham dengan apa yang diinginkan
Scrum memiliki prinsip yaitu:
  • Ukuran tim yang kecil melancarkan komunikasi, mengurangi biaya, dan memberdayakan satu sama lainProses 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
Kelebihan 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
  •  Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.
 





No comments:

Post a Comment