EXTREME
PROGRAMMING
EXTREME PROGRAMMING
DEFINITION
Extreme Programming adalah suatu model yang termasuk dalam
pendekatan agile yang diperkenalkan oleh Kent Back. Menurut
penjelasannya, definisi XP adalah sebagai berikut: “Extreme
Programming (XP) adalah metode pengembangan software yang cepat,
efisien, beresiko rendah, fleksibel, terprediksi, scientific, dan
menyenangkan.“.
Model ini cenderung menggunakan pendekatan Object-
Oriented. Tahapan-tahapan yang harus dilalui antara
lain: Planning, Design, Coding, dan Testing. Sasaran Extreme
Programming adalah tim yang dibentuk berukuran antara
kecil sampai medium saja, tidak perlu menggunakan sebuah
tim yang besar. Hal ini dimaksudkan untuk menghadapi
requirements yang tidak jelas maupun terjadinya perubahan-
perubahan requirements yang sangat cepat. Extreme
Programming merupakan agile methods yang paling banyak
digunakan dan menjadi sebuah pendekatan yang sangat
terkenal.
Core Value Extreme
Programming, yaitu:
COMMUNICATION
Kurangnya komunikasi merupakan penyebab utama kegagalan
pengembangan software. Oleh karena itu Extreme Programming(XP)
memfokuskan diri pada hubungan komunikasi yang baik antar tim-klien,
anggota tim, dan manajer [Link] dalam XP dibangun dengan
melakukan pemrograman berpasangan (pair programming).Klien harus
dilibatkan dalam proses pengembangan perangkat lunaknya dengan
tujuannya untuk memberikan pandangan pengembang sesuai dengan
pandangan pengguna sistem yang dibangun.
SIMPLICITY
Extreme Programming (XP) melakukan semua pekerjaan dengan
sederhana dan praktis tanpa mengurangi fungsi utamanya. Dalam
pengerjaan, metode yang dipilih adalah metode yang pendek dan simpel.
Jangan terlalu rumit dalam membuat desain, hilangkan fitur yang tidak ada
gunanya atau hapus fungsi yang tidak terpakai. Dengan kata lain lebih
baik melakukan hal yang sederhana saat sekarang (sesuai kebutuhan) dan
mengembangkannya nanti jika diperlukan.
FEEDBACK
Selalu evaluasi perkembangan perangkat lunak yang sedang dikerjakan.
Segala informasi harus dikumpulkan setiap interval waktu yang konsisten
dan kesalahan-kesalahan yang muncul selama proses pengembangan harus
dibahas dan dicari solusinya. Umpan balik tersebut berfungsi sebagai
indikator kemajuan proyek dan menginformasikan pemimpin proyek
apabila perubahan perlu dibuat.
COURAGE
Programmer Extreme Programming (XP) didorong untuk berani
bereksperimen dan menulis ulang kode jika mereka tidak puas dengan
kode atau desain yang sudah ada. Hal ini membantu mempertahankan
moral serta intgritas para pengembang proyek dan dapat mendukung lebih
lanjut komunikasi dengan anggota proyek lainnya.
Tahapan Dalam Etreme (XP) Programming,
yaitu:
Aktivitas planning dimulai dengan membentuk
user stories. Anggota XP team kemudian menilai
setiap story dan menentukan cost — diukur
dalam development week.
PLANNING
Customer dan XP team bekerja bersama untuk memutuskan bagaimana grup story untuk release
berikutnya (software increment berikutnya) untuk dibangun oleh XP team. Jika komitmen telah
dibuat, XP team akan membangun story-story dengan cara :
Semua story segera diimplemetasikan (dalam beberapa minggu)
1. Story dengan value tertinggi akan dipindahkan dari jadwal dan dimplementasikan pertama.
2. Story dengan resiko paling tinggi akan diimplemetasikan terlebih dulu. Setelah project pertama
direlease dan didelivery, XP team memperhitungkan kecepatan project. Selama development,
customer dapat menambah story, merubah value, membagi story atau menghapusnya.
DESIGN
XP menggunakan CRC card, untuk mengenali dan mengatur object oriented class
yang sesuai dengan software increment.
CODING
Sebelum membuat code, lebih baik membuat unit test tiap story untuk dimasukkan
dalam software increment. XP menyarankan agar dua orang bekerja bersama pada
satu komputer workstation untuk membuat code dari satu story (pair programming),
untuk menyediakan real time problem solving dan jaminan real time quality. Setelah
pair programming selesai, code diintegrasikan dengan kerja laiinnya (continuous
integration)..
CODING
Unit test yang telah dibuat harus diimplementasikan menggunakan suatu framework
dan diatur ke dalam universal testing suite, integrasi dan validasi sistem dapat
dilakukan setiap hari. Customer test (acceptance test) dilakukan oleh customer dan
fokus pada keseluruhan fitur dan fungsional sistem. Acceptance test diperoleh dari
customer stories yang telah diimplemetasikan sebagai bagian dari software release.
Berikut Siklus Hidup dalam
XP Programming.
Extreme Programming tepat untuk dipergunakan untuk pembuatan program
yang:
• Membutuhkan perubahan yang cepat (misalnya: Game Mobile)
• Proyek beresiko tinggi dengan tantangan yang berat
• Tim programmer sedikit, yaitu sekitar 2–10 orang
• Adanya permintaan dari pelanggan secara langsung
Kelebihan Extreme Programming, yaitu:
• Meningkatkan kepuasan kepada klien
• Pembangunan system dibuat lebih cepat
• Menjalin komunikasi yang baik dengan client.
• Meningkatkan komunikasi dan sifat saling menghargai antar developer.
Kelemahan Extreme Programming, yaitu:
• Cerita-cerita yang menunjukkan requirements dari pelanggan kemungkinan
besar tidak lengkap sehingga Developer harus selalu siap dengan perubahan
karena perubahan akan selalu diterima.
• Tidak bisa membuat kode yang detail di awal (prinsip simplicity dan juga
anjuran untuk melakukan apa yang diperlukan hari itu juga).
• XP tidak memiliki dokumentasi formal yang dibuat selama pengembangan.
Satu-satunya dokumentasi adalah dokumentasi awal yang dilakukan oleh user.
THANK YOU