EXTREME PROGRAMMING DEVELOPMENT METHOD - INFORMATIKA 16

Latest

Sunday, September 1, 2019

EXTREME PROGRAMMING DEVELOPMENT METHOD

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.

3. Aspek Dasar
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.

4. Persyaratan
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.

5. Kelebihan
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. 


Referensi
[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

[3] Suryantara I Gusti Ngurah. Merancang Aplikasi dengan Metodologi Extreme Programing. 2017. PT Elex Media Komputindo : Jakarta.

No comments:

Post a Comment