Extreme Programming (XP) – Metode pengembangan perangkat lunak merupakan suatu proses pengembangan sistem yang terstruktur dan sistematis yang dapat mendefinisikan serangkaian aktivitas, metode dan tools yang teritimasi bagi para pengembang ataupun developer dalam rangka mengembangkan dan merawat sebagai keseluruhan perangkat lunak. Kali ini kita akan membahas tentang metode pengembangan perangkat lunak XP berikut ini merupakan penjelasan lengkap tentang metode XP.
Table of Contents
Apa Itu Metode Extreme programming (XP) ?
Extreme Proggraming adalah metodologi pengembangan perangkat lunak yang sangat cocok diterapkan dengan jumlah pengembang yang terbatas. Menggunakan beberapa sumber daya yang sangat terbatas tentu saja membuat alur kerjanya tidak sama dengan metodologi pengembangan perangkat lunak lainnya.
Kepraktisan metode XP menyebabkan metodologi pengembangan ini sangat cocok dipakai oleh developer atau programmer yang ingin berwirahusaha secara mandiri. Metode XP ini sudah banyak dipakai oleh perusahaan-perusahaan yang menyebabkan XP menjadi metodologi yang populer. Kesuksesan dari metode XP ini disebabkan dengan adanya penekanannya pada kepuasaan Kustomer/klien.
Baca Juga : Pengujian Perangkat Lunak
Sebagai developer, anda harus memenuhi apa yang menjadi kebutuhan klien, dan perangkat lunak yang dihasilkan benar-benar sesuai keinginan dari klien.
Metode XP juga menjadi suatu model yang termasuk dalam pendekatan metode agile yang diperkenalkan oleh kent back. Menurut penjelasanya, definisi XP yaitu, XP merupakan metode pengembangan software yang cepat, efisien, mempunyai resiko rendah, fleksibel, terprediksi, scientific, dan menyenangkan.
Metode XP cenderung menggunakan pendekatan Object-Oriented, yang memiliki Tahapan-tahapan yang harus dilalui seperti : Planning, Design, Coding, dan Testing. XP sendiri sering digunakan oleh developer yang dibentuk dengan skala kecil dan medium saja, tidak perlu menggunakan sebuah tim yang besar. dengan tujuan untuk dapat menghadapi suatu requirements yang tidak jelas ataupun terjadinya perubahan-perubahan dalam requrements yang sangat cepat.
Proses dan Tahapan XP
Berikut ini merupakan proses dan tahapan Extreme Programming, yaitu :
- Planning adalah tahapan perencanaan digunakan untuk memahami konsep bisnis, pengumpulan kebutuhan sistem, menggambarkan output yang diperlukan, fitur-fitur, dan fungsionalitas yang akan dibangun menggunakan rekayasa perangkat lunak.
- Design adalah data yang diperoleh dari tahapan Planning seperti: analisis kebutuhan sistem, keluaran sistem, fitur-fitur dan fungsionalitas. Sehingga sistem dirancang menggunakan Unified Modelling Langguage (UML) yang mempunyai manfaat untuk pemodelan sistem yang sudah memiliki standar. Digunakan untuk dapat memastikan perangkat lunak yang akan dibangun selesai dengan tepat waktu, sesuai dengan anggaran, dan sesuai dengan sepesifikasi yang ditetapkan pada tahap Planning.
- Coding adalah tahap pengkodean perangkat lunak yang menggunakan, tim kecil akan bekerja secara bertahap dengan panduan alur sistem yang sudah dirancang pada tahap design modul per modul. Dengan menggunakan refactoring, agar dapat mudah dibaca dan dimodifikasi yang merupakan ciri khas dari metode XP sehingga hasil yang diharapkan dengan pengembangan perangakat lunak menjadi cepat.
- Testing adalah tahap akhir dari metode XP yang akan dilakukan dengan cara beta pengujian untuk mendapatkan feedback dari orang yang telah melakukan pengujian fungsional perangkat lunak.
Fase perencanaan dan siklus hidup XP
Tahap perencanaan dalam metode XP sangat lah penting, dikarenkan berbeda dari model pengembangan tradisional lainnya yang seringkali mengombinasikan pengumpulan kebutuhan dengan desain aplikasi. Sehingga perencanaan pada XP berfokus pada indentifikasi kebutuhan aplikasi pelanggan dan kemudian mendesain cerita klien yang sesuai dengan keinginannya.
Baca Juga : Cara Pengujian Black Box
Anda dapat memperoleh wawasan tambahan dalam tujuan aplikasi dan kebutuhan dengan cara membuat cerita pengguna. Untuk tambahan, pelanggan menggunakan cerita pengguna ketika menjalankan pengujian penerimaan di akhir dari suatu siklus perilisan. Akhirnya, sebuah keuntungan yang nyata dapat diambil dari fase perencanaan adalah klien memperoleh kepemilikan dan kepercayaan dalam sistem dengan berpartisipasi didalamnya.
Berikut ini merupakan metode XP sering dipergunakan untuk membuat program, yaitu:
- Memiliki perubahan yang cepat.
- Pryoek yang memiliki resiko tinggi dengan tantangan yang berat.
- Tim developer memiliki sekitar 2 sampai 10 orang.
- Developer mendapatkan permintaan dari pelanggan secara langsung.
Contoh Metode Extreme Programming
Contoh Extreme Programming
Contoh nilai inti dari Extreme Programming, yaitu :
- Komunikasi (Communication) adalah penyebab utama dari kegagalan pengembangan software. Dikarenakan itu XP harus memfokuskan pada hubungan komunikasi yang baik antar anggota tim, Klien dan pemimpin proyek. Komunikasi dalam XP dibangun dengan cara melakukan pemrograman berpasangan atau bisa disebut dengan pair programming. Klien diharuskan untuk terlibat dalam proses pengembangan perangkat lunak dengan mempunyai tujuan untuk memberikan pandangan pengembang sesuai dengan kebutuhan pengguna sistem yang akan dibangun.
- Kesederhanaan (Simplicity) metode XP untuk dapat melakukan semua pekerjaan secara efektif tanpa harus mengurangi fungsi utamanya. Dalam pengerjaan, metode yang dipilih merupakan metode yang pendan dan cukup simpel. Sehingga jangan terlalu rumit dalam melakukan pembuatan desain, hilangkan fitur-fitur yang tidak digunakan. Dengan kata lain lebih baik untuk dapat melakukan hal yang sederhana sesuai dengan kebutuhan dan mengembangkannya dengan sesuai dengan permintaan klien.
- Umpan Balik (Feedback) merupakan salah satu evaluasi dari perkembangan perangkat lunak yang sedang dikerjakan. Segala informasi harus dikumpulkan setiap interval waktu yang konsisten dan kesalahan-kesalahan yang akan muncul selama proses pengembangan perangkat lunak harus dibahas dan dicari solusinya. Umpan balik tersebut berfungsi sebagai indicator untuk kemajuan proyek dan menginformasikannya ke pemimpin proyek apabila ada sebuah perubahan yang perlu dibuat.
- Keberanian (Courage) dalam programmer XP harus didorong untuk berani berekperimen dan menulis ulang kode jika mereka merasa tidak puas dengan kode atau desain yang sudah ada. Hal ini dapat mempertahankan dalam sifat moral serta intgritas para pengembang proyek dan dapat mendukung lebih lanjut komunikasi dengan anggota proyek lainnya.
Kelebihan dan Kekurangan Metode Extreme Programming
Berikut ini merupakan kelebihan dan kekurangan dari metode Extreme Programming, yaitu :
Kelebihan Metode Extreme Programming (XP) yaitu :
- Meningkatkan rasa kepuasan kepada klien.
- Melakukan pembangunan sistem dibuat dengan lebih cepat.
- Saling menjalin komunikasi yang baik antara developer dan client.
- Meningkatkan komunikasi dan sifat saling menghargai antar tim developer.
Kelemahan Metode Extreme Programming (XP) yaitu :
- Klien yang menceritakkan requirements dari pelanggan kemungkinan besar belum lengkap. Sehingga membuat tim developer harus selalu siap dengan perubahan dari klien karenak perubahan tersebut akan selalu diterima.
- Tidak dapat menentukan kode yang detail dari awal atau prinsip simplicity dan juga anjuran untuk melakukan apa yang diperlukan hari itu juga.
- XP tidak memiliki sifat dokumentasi yang formal yang dibuat selama pembangunan. Sehingga satu-satunya dokumentasi adalah dokumentasi awal yang diberikan oleh user.
Artikel yang sangat menarik. Agar menambah wawasan, saya rekomendasikan artikel berikut : http:// news.unair.ac.id/2019/11/21/pakar-programming-dengan-media-pembelajaran-visual-dapat-meningkatkan-pemahaman-mahasiswa/
Opo iki leh ?
Kalo penelitian tentang metodenya sendiri ada gak referensinya ?
Misalnya gini, penelitian yang berfokus pada atau khusus meneliti tentang metodenya sendiri yaitu Metodologi Extreme Programming.
Ada beberapa referensi dari buku di wikipedia, silahkan akses https://id.wikipedia.org/wiki/Extreme_programming
Lalu bagian paling bawah, Referensi.
Kalau ada kesalahan di tahap desan, ada masukan ditahap desain apakah harus menyelasaikan iterasinya dulu atau bisa langsung ke tahap planning kembali?
kesalahan di tahap desain perlu dirincikan kembali pada tahap planning. Semilasnya menambah kolom baru untuk inputan, maka perlu menambahkannya di tahap planning. Kemudian dilanjutkan ke tahap desain lalu coding dan terakhir testing.