Dokumen Requirement Engineering : Website Wikipedia Game

Kelompok 9

1702490 Achmad Priyadi

Aldian Fallahakbar Nuriza

Yuliansyah Ibrahim

 

Berkenaan dengan aplikasi web yang akan tim kami buat (web mengenai informasi game), maka kami melakukan sebuah survey terhadap orang-orang yang menyukai game dan berikut merupakan hasil dari survey yang telah kami lakukan :

 

https://docs.google.com/spreadsheets/d/105ijdWKHEXFFWcvBKaDO7OrN02vsjN7WdTOuHsA5lIw/edit?pli=1#gid=680380213

Metode Pengembangan Perangkat Lunak Agile

Pengembang harus bekerja keras terhadap peluang masa depan metodologi pengembangan perangkat lunak. Bagian dari transformasi digital yang terjadi pada tahun 2018 didorong oleh teknologi kecerdasan buatan dan algoritma. Kecerdasan buatan telah berkontribusi besar terhadap pengembangan perangkat lunak pada tahun 2018 dan akan terus tumbuh.

Metodologi pengembangan perangkat lunak berikut telah berpengaruh terhadap pengembangan perangkat lunak pada tahun 2018 dan diprediksi akan menjadi metodologi pengembangan perangkat lunak di tahun 2019.

AGILE DEVELOPMENT METHODS

Agile 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 development methods merupakan salah satu dari Metodologi pengembangan perangkat lunak yang digunakan dalam pengembangan perangkat lunak.

Ada beberapa langkah dalam Agile Development Methods, yaitu :

  • Perencanaan, pada langkah ini pengembang dan klien membuat rencana tentang kebutuhan dari perangkat lunak yang akan dibuat.
  • Implementasi, bagian dari proses dimana programmer melakukan pengkodean perangkat lunak.
  • Tes perangkat lunak, disini perangkat lunak yang telah dibuat di tes oleh bagian kontrol kualitas agar bug yang ditemukan bisa segera diperbaiki dan kualitas perangkat lunak terjaga.
  • Dokumentasi, setelah dilakukan tes perangkat lunak langkah selanjutnya yaitu proses dokumentasi perangkat lunak untuk mempermudah proses maintenanance kedepannya.
  • Deployment, yaitu proses yang dilakukan oleh penjamin kualitas untuk menguji kualitas sistem. Setelah sistem memenuhi syarat maka perangkat lunak siap dideployment.
  • Pemeliharaan, langkah terakhir yaitu pemeliharaan. Tidak ada perangkat lunak yang 100% bebas dari bug, oleh karena itu sangatlah penting agar perangkat lunak dipelihara secara berkala

Ada juga beberapa model dalam Agile Development Methods, seperti: Acceptance Test Driven Development (ATDD), Agile Modeling, Adaptive Software Development (ASD), Agile Unified Process (AUP), Continuous integration (CI), Crystal Clear, Crystal Methods, Dynamic Systems Development Method (DSDM), Extreme Programming (XP), Feature Driven Development (FDD), Graphical System Design (GSD), KanbanLean software development, Rational Unified Process (RUP), ScrumScrum-banStory-driven modeling,Test-driven development (TDD), Velocity tracking, dan Software Development Rhythms.

Beberapa kelebihan dari Agile Development Methods :

  • Menambah produktivitas tim
  • Menambah kualitas dari perangkat lunak
  • Menambah kepuasan dari klien
  • Menghemat biaya

Dalam Agile Software Development interaksi dan personel lebih penting dari pada proses dan alat, software yang berfungsi lebih penting daripada dokumentasi yang lengkap, kolaborasi dengan klien lebih penting dari pada negosiasi kontrak, dan sikap tanggap terhadap perubahan lebih penting daripada mengikuti rencana.

Pada intinya, Agile Development Methods sangat membantu para pengembang perangkat lunak dalam melakukan penyerahan produk secara tepat waktu dari suatu tahap operasional perangkat lunak yaitu pada bagian analisa dan desain.

Ada begitu banyak framework yang tersedia untuk menerapkan Agile Development. Diantaranya yaitu Scrum dan Kanban.

SCRUM

Scrum merupakan framework agile yang cukup populer. Scrum memecah organisasi menjadi tim-tim kecil yang mengorganisasikan dirinya sendiri dan mengerjakan tugas-tugas kecil.

Framework ini baik untuk diterapkan dalam membangun kultur perusahaan/ organisasi. Framework ini bisa digunakan untuk membuat sebuah minimum viable product (MVP) maupun pengembangan produk yang kompleks.

Ia juga dapat diterapkan ketika organisasi menginginkan sebuah culture transition, bila telah muncul beberapa syarat:

  • Tak ada lagi yang sekadar menunggu perintah
  • Tim Anda sudah terlihat lebih proaktif
  • Tim semakin produktif
  • Ada perbaikan dalam hal pengujian maupun pengembangan
  • Munculnya rasa tanggung jawab dalam tim

 

 

Scrum ini cocok untuk tipe pengembangan produk yang kompleks, yang membutuhkan requirement yang berubah-ubah. Dalam hal ini, klien memegang peranan kunci dalam pengembangan, sehingga menuntut kesiapan klien/ customer/ business owner untuk bisa berinteraksi dengan tim development setiap saat, untuk memastikan kelancaran pengembangan produk/ proyek. Adapun struktur tim pada framework ini mencakup role-role di Scrum (seperti Scrum Master, Product Owner, dan Dev Team), serta tim lintas fungsi (cross functional).

KANBAN

Kanban adalah framework yang sangat baik bila digunakan untuk proses kontinyu atau rilis produk harian. Ia juga baik untuk diterapkan dalam proyek-proyek pemeliharaan/ maintenance. Kanban memiliki ciri-ciri alur kerja yang tervisualisasi (visualized workflow), tugas yang dipecah menjadi item-item diskrit, progres kerja yang dibatasi, dan pengaturan tugas-tugas dari backlog.

Kanban cocok untuk pengembangan produk/ proyek yang membutuhkan requirement-requirement yang sering berubah-ubah. Sama seperti Scrum, klien/ customer/ business owner memegang peran sentral. Bedanya dengan Scrum, klien hanya diperlukan pada periode-periode tertentu saja, untuk melakukan pendetailan. Sementara struktur tim pada Kanban adalah product owner dan tim yang tak harus permanen.

Source :

https://medium.com/@makersinstitute/cara-memilih-framework-agile-yang-tepat-9ea80cd199c5

https://invidgroup.com/best-software-development-methodologies-in-2019/