Software Development Model: Specialized Process Model, Agile Method, dan Scrum

Oleh: Naufal Fawwaz Andriawan 

Specialized Process Model

    Specialized Process Models ini merupakan gambaran (kerangka kerja) yang merepresentasikan proses dalam RPL agar mudah dipahami dan proses dapat dilakukan sesuai dengan aturannya. Berbagai macam model telah diajukan menyesuaikan dengan berbagai macam kondisi yang mungkin dalam pembangunan perangkat lunak. Specialized Process Model terbagi ke dalam 3 model, yaitu:

Component-Based Model

    Component-Based Model adalah variasi model spiral dimana aplikasi dibangun dari komponen Software yang sudah ada.

    Kelebihan:
  1. Pengurangan 84% dalam biaya project terentu.
  2. Pengurangan 70% dalam siklus waktu pengembangan.
  3. Produktivitas meningkat dalam mengembangkan aplikasi dan pengujian menjadi lebih cepat karena menggunakan framework dari aplikasi sebelumnya.

    Kekurangan:
  1. Paradigma orientasi object tidak mencukupi untuk software.

Formal Methods Model

    Formal methods model adalah model metode formal yang mengarah ke notasi matematika yang ketat yang digunakan untuk menentukan desain, mengembangkan, dan memverifikasi sistem berbasis komputer.

    

    Kelebihan Formal Methods Model:
  1. Ambiguitas, ketidaklengkapan, dan ketidakkonsistenan dalam desain, mengembangkan dan memeverifikasi sistem dapat dengan mudah ditemukan melaluia analisis matematika yang ketat.
  2. Untuk menemukan kesalahan yang sulit ditemukan atau tidak dapat dideteksi dan mengoreksinya akan menjadi lebih mudah.
    Kekurangan Formal Methods Model:
  1. Memakan banyak waktu.
  2. Sulit menggunakan model ini sebagai mekanisme komunikasi non-teknis.
  3. Perlu pelatihan intensif karena pengembangan memerlukan pengetahuan yang besar, terlebih dalam bidang matematika.

Aspect-Oriented Programming

    Aspect-Oriented Programming adalah sebuah model yang menyediakan sebuah proses untuk mendefinisikan, menentukan, merancang, dan membangun aspek perangkat lunak seperti User Interface (UI), Security, dan Memory Management yang mempengaruhi banyak bagian dari sistem yang dikembangkan oleh developer.


    Kelebihan Aspect-Oriented Programming:
  1. Melengkapi orientasi pada object tertentu.
  2. Meningkatkan pemeliharaan kode dan pemahaman.
    Kekurangan Aspect-Oriented Programming:
  1. Tidak mudah dipahami.

Agile Method

    Agile Method adalah suatu metode pendekatan untuk management project yang membantu pembuatan software secara bertahap dan cepat dalam rangka memperpendek jangka waktu project pembangunan software, metode ini dikembangkan untuk menghadapi situasi jika metode Waterfall gagal.

    Kelebihan Agile Method:
  1. Memungkinkan proses terhadap perubahan kebutuhan sehingga perubahan dapat cepat ditanggapi.
  2. Memperpendek jangka waktu dalam proses.

    Kekurangan Agile Method:
  1. Desain dan Dokumentasi Rendah.
  2. Rendahnya sumber daya senior dalam tim atau sumber daya berpengalaman yang membimbing sumber daya baru pada metode agile.

Scrum

    Scrum adalah suatu proses pengembangan software dari proses metode agile, scrum diperkenalkan oleh Jeff Sutherland pada awal 1990-an, dalam scrum memiliki aktifitas seperti backlog (daftar kebutuhan client secara prioritas), sprints (pengerjaan untuk memenuhi list backlog selama 30 hari tanpa penambahan), scrum meeting (Meeting 15 menit per hari untuk pengecekan progress dan penyampaian kendala serta target penyelesaian untuk meeting selanjutnya), dan demo (penyerahan software increment ke client, didemonstrasikan dan dievaluasi oleh client).

    Kelebihan Scrum:
  1. Cukup fleksibel.
  2. Mempersingkat waktu.

    Kekurangan Scrum:
  1. Sulit untuk merencanakan, menyusun, dan mengatur project jika belum ada pengalaman.
  2. Pengerjaan harus memenuhi sesuai backlog yang ditentukan tanpa ada penambahan waktu.

    Demikian penjelasan mengenai 3 Software Development Model, yaitu Specialized Process Model, Agile Method, dan Scrum.


Referensi

School of Information Systems. (2019). Pengembangan Sistem Spiral Model. [online] Available at: https://sis.binus.ac.id/2019/04/29/pengembangan-sistem-spiral-model/ [Accessed 16 Sep. 2019].

Universitas Dian Nuswantoro, "Software Engineering Process Model," Tersedia: http://dinus.ac.id/repository/docs/ajar/RPL_2_Software_Engineering.pdf.

Rhyngel, "Specialized Process Models," Tersedia: https://api.scribd.com/api/v2/documents/download?api_key=2q2k0zaxvcruc4n72ikqb&api_sig=MGI4NzcwMDY0Mjk4YjdjZTk4NTA2MzI5MzdkOTc0NzAxMDlmNjcwOQ%3D%3D&app_version=8.7.2&client_version=37&device_manufacturer=ZTE&document_id=282600430&is_tablet=false&locale=en_US&machine_uuid=b5789b81de3b078&platform_version=25&uuid=1653b609-b42b-42e4-be36-de0febb58c89.

Preeti Gulia dan Palak, "Component Based Software Development," Component Based Software Development Life
Cycle Models: A Comparative Review, vol. 10, no. 2, pp. 468, 2017. [Online]. Tersedia: http://ecomputernotes.com/. [Diakses Sept 14, 2019].

Dinesh Thakur, "What is Formal Methods Model? Advantages and Disadvantages of Formal Methods Model," Ecomputer Notes [Online]. Tersedia: http://ecomputernotes.com/. [Diakses Sept 15, 2019].

Università di Bologna, "Software Engineering, Programming Languages and Formal Methods," Computer Science and Engineering [Online]. Tersedia: disi.unibo.it. [Diakses Sept 15, 2019].

JHarley1 dan glenatron, "What are the advantages and Disadvantages of Using an Aspect Orientated Programming Paradigm," 2014, Tersedia: https://softwareengineering.stackexchange.com/questions/35937/what-are-the-advantages-and-disadvantages-of-using-an-aspect-orientated-programm.


Komentar