EXTREME PROGRAMMING DEVELOPMENT METHOD
Nama : Mustiari (F1D016061)
Ari Purnama Aji (F1D016011)
1. Definisi
Extreme Programming (XP), Extreme Programming (XP) adalah metodologi pengembangan perangkat lunak yang ditujukan untuk meningkatkan kualitas perangkat lunak dan tanggap terhadap perubahan kebutuhan pelanggan. Jenis pengembangan perangkat lunak semacam ini dimaksudkan untuk meningkatkan produktivitas dan memperkenalkan pos pemeriksaan di mana persyaratan pelanggan baru dapat diadopsi. Tahapan-tahapan dari Extreme Programming terdiri dari plan-ning seperti memahami kriteria pengguna dan perencanaan pengembangan, designing seperti perancangan prototype dan tampilan, coding termasuk pengintegrasian, dan yang terakhir adalah testing[2].
Unsur-unsur lain dari Extreme Programming meliputi paired programming pada tahapan coding, unit testing pada semua kode, penghindaran pemrograman fitur kecuali benar-benar diperlukan, struktur manajemen yang datar, kode yang sederhana dan jelas, dan seringnya terjadi komunikasi antara programmer dan pelanggan ketika terjadi perubahan kebutuhan pelanggan seiring berlalunya waktu berlalu. Metode ini membawa unsur-unsur yang menguntungkan dari praktek rekayasa perangkat lunak tradisional ke tingkat “ekstrem”, sehingga metode ini dinamai Extreme Programming. Unsur-unsur yang menjadi karakteristik metodologi adalah kesederhanaan, komu- nikasi, umpan balik, dan keberanian[2].
2. Tahapan
1. Planning
: Dimulai dengan pemahaman konteks bisnis dari proyek yang dijalankan,
mendefinisikan keluaran(output), fitur yang ada pada aplikasi, fungsi dari
aplikasi yang dibuat, penentuan waktu dan biaya pengembangan aplikasi.
2. Design
: Tahap ini menekankan pada desain apalikasi secara sederhana. Alat medesain
pada tahap ini dapat mengguanakan kartu CRC (Class Resposibility Collaborator).
CRC digunakan untuk pemetaan kelas kelas yang akan digunakan pada diagram use
case, kelas diagram dan objek diagram.
3. Codinig
: Hal utama dalam pengembangan aplikasi dengan menggunakan XP adalah pair
programing ( dalam membuat program melibatkan 2 atau lebih programmer ).
4. Testing : Tahap ini
memfokuskan pada pengujian fitur yang ada pada aplikasi sehingga tidak ada
kesalahan dan apalikasi yang dibuat sesuai dengan proses bisnis pada klien.
1.
Planning
Planning dilakukan pada setiap iterasi di mana para pemangku kepentingan seperti
system analizer proyek bertemu untuk menentukan, memperkirakan, dan
memprioritaskan "User Stories"
2.
Small Release (Prototype)
Ada
dua tipe relesae atau peluncuran pada suatu proyek, yaitu :
·
initial version : merupakan tahapan release
setelah proyek di adaptasi menjadi suatu prototype atau produk yang
terimplementasi tidak semua fiture-fiture tujuannya melainkan fiture-fiture
yang memang esensial.
·
working version : merupakan tahapan release
untuk proyek yang dilakukan setiap minggunya dan produk sudah memiliki sebagian
besar fiture yang ditujukan.
3.
Methapor atau Modeling :
Tahapn dimana produk di modelkan yang disusunn oleh
semua team yang terdapat dalam proyek itu sendiri.
4.
Design
Ini adalah dasar dari metodologi XP dan berlaku untuk
pengumpulan persyaratan, desain sistem, pengkodean, dan komunikasi dengan
pelanggan.
5.
Test
Dalam metodologi XP, pengujian dianggap sebagai salah
satu kegiatan utama untuk memastikan produk berkualitas tinggi selain kepuasan
pelanggan yang tinggi. Pengujian dimulai sebelum fase pengkodean, di mana
pengembang diminta untuk menyiapkan fungsi pengujian sebelum menulis kode itu
sendiri. Sementara, pelanggan diminta untuk menyiapkan skenario uji fungsional
untuk setiap iterasi.
6.
Refactoring
Ini berarti bahwa setiap perubahan yang dilakukan pada sistem harus menjunjung tinggi
fitur kesederhanaan.
7.
Pair Programming
Pengkodean sistem perangkat lunak dilakukan dalam kelompok dua pengembang.
8.
Collective Ownership
Kepemilikan kode yang dihasilkan adalah milik semua pengembang.
9.
On-Site Customer
Seseorang dari sisi pelanggan harus bekerja dengan tim pengembangan setiap saat.
10.
40-Hour Weeks
Jam kerja maksimum per minggu untuk pengembang tidak boleh melebihi 40 jam, yang menyiratkan
bahwa persyaratan harus direvisi untuk mematuhi aturan ini.
11.
Open Workspace
Semua pekerjaan, termasuk pengkodean dan pengembangan harus dilakukan di lingkungan yang
sama.
1. Adanya
perubahan-perubahan yang sangat cepat.
2. Memiliki resiko yang
tinggi pada aplikasi yang dibuat.
3. Adanya tantangan baru
pada pembuatan aplikasi.
4. Dalam tim pngembangan
aplikasi dengan sedikit programmer (2-10)programmer.
5. Mampu
mengotomatisasikan uji sistem/testing.
6. Keterlibatan klien
secara langsung.
1. Adanya
perubahan-perubahan yang sangat cepat.
2. Memiliki resiko yang
tinggi pada aplikasi yang dibuat.
3. Adanya tantangan baru
pada pembuatan aplikasi.
4. Dalam tim pngembangan
aplikasi dengan sedikit programmer (2-10)programmer.
5. Mampu
mengotomatisasikan uji sistem/testing.
6. Keterlibatan klien
secara langsung.
6. Kekurangan
1.
Perubahan selalu diterima sehingga developer
harus selalu siap dengan perubahan-perubahan dari klien.
2.
Di awal-awal pengembangan sistem tidak bisa
membuat code yang detail.
3.
XP hanya dapat dikerjakan bila developer
saling terpisah jauh dengan klien, karena mengakibatkan terhambatnya komunikasi
antara developer dengan klien.
4.
XP hanya mengerjakan satu proyek dan dijalankan
oleh satu tim. Tidak efektif mengerjakan proyek yang berbeda secara bersamaan.
5.
XP belum terbukti dapat bekerja pada sistem
yang mempunyai masalah skalabilitas.
[1] Al-Zewairi Malek,
Biltawi Mariam, Etaiwi Waael, Shaout Adnan. Agile Software Development
Methodologies: Survey of Surveys. 2017. Scientific Research Publising
[2] Hidayat Muhammad,
Wahab Abdi. Aplikasi Sales Busa Clean Laundry Management Berbasis Website
Pada Bisnis Usaha Jasa Laundry Dengan Metode Extreme Programming. 2018.
Universitas Mercu Buana : Jakarta
No comments:
Post a Comment