RSS
email

Metode Pengembangan Perangkat Lunak “Extreme Programming”


Metode Pengembangan Perangkat Lunak “Extreme Programming
 
Extreme Programming yang selanjutnya disingkat dengan XP merupakan salah satu dari sekian banyaknya metodologi dalam rekayasa perangkat lunak dan juga merupakan bagian dari metodologi pengembangan perangkat lunak agile. Secara umum Extreme Programming (XP) dapat dijabarkan sebagai sebuah pendekatan pengembangan perangkat lunak yang mencoba meningkatkan efisiensi dan fleksibilitas dari sebuah proyek pengembangan perangkat lunak dengan mengkombinasikan berbagai ide simpel/sederhana tanpa mengurangi kualitas software yang akan dibagun. XP dikembangkan oleh Beck, Cunningham, dan Jeffries dan ini merupakan lightweight discipline pengembangan perangkat lunak berdasarkan empat core value.
Core Values


Core Values pada XP :
1.                  Komunikasi  (Communication)
Kurangnya komunikasi merupakan penyebab utama kegagalan pengembangan software, maka XP mengfokuskan pada hubungan komunikasi yang baik antar tim-klien, anggota tim, dan manajer proyek. Komunikasi 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.

2.      Kesederhanaan (Simplicity)
XP melakukan semua dengan sederhana dan praktis tanpa mengurangi fungsi utamanya. Diusahakan mengunakan method yang pendek dan simpel, jangan terlalu rumit dalam membuat desain, hilangkan fitur yang tidak ada gunanya atau menghapus fungsi yang tidak terpakai. Dengan kata lain lebih baik melakukan hal yang sederhana saat sekarang (sesuai kebutuhan) dan mengembangkannya besok jika diperlukan.
3.                  Umpan balik (Feedback)
Selalu mengevaluasi perkembangan terhadap perangkat lunak yang sedang dikerjakan, segala informasi harus dikumpulkan setiap interval waktu yang konsisten dan diskusikan kesalahan-kesalahan yang muncul selama proses pengembangan.  Umpan balik tersebut berfungsi sebagai indikator kemajuan proyek dan menginformasikan pemimpin proyek apabila perubahan perlu dibuat.
4.                  Keberanian (Courage). Simak
Programmer XP didorong untuk berani bereksperimen dan menulis ulang kode jika mereka tidak puas dengan kode yang sudah ada atau desain. Hal ini membantu mempertahankan moral  serrta intgeritas para pengembang proyek dan dapat mendukung lebih lanjut komunikasi dengan anggota proyek lainnya.
Berdasarkan 4 core value diatas, Beck dan Tomec menjabarkan 12 praktik inti XP :
(1). Planning game – Pada phase ini menggunakan terminologi “game” untuk menggunakan teknik score card dalam menentukan persyaratan (requirements). (2). Small releases - Sistem yang sederhana menjadi produksi cepat. Sehingga dapat merilis versi baru dengan siklus sangat pendek (two week). (3). Metaphor  -  Mirip den­gan arsitek­tur lebih bersi­fat naratif dan deskrip­tif, dihara­p­kan komu­nikasi antara klien den­gan devel­oper akan berlang­sung lebih baik dan lan­car den­gan peng­gu­naan metaphor. (4). Simple design - Menerapkan desain yang simpel dan sederhana tanpa menghilangakn fungsi utamanya. (5). Testing - Pengetesan dilakukan pada setiap unit perangkat lunak dalam lingkup sekecil mungkin daripada menunggu sampai seluruh perangkat lunak selesai dibuat. (6). Refactoring - Melakukan perubahan pada kode program dari perangkat lunak dengan tujuan meningkatkan kualitas dari struktur program tersebut tanpa mengubah cara program tersebut bekerja. (7). Pair pemrograming - Dua orang programer saling bekerjasama di komputer yang sama untuk menyelesaikan sebuah unit. (8). Collective Ownership - setiap orang dapat menukarkan coding  apapun  dalam sistem setiap saat, karena kesamaan pemahaman. (9). Continous Integration - Dengan melakukan build sesering mungkin berbagai kesalahan pada program dapat dideteksi dan diperbaiki secepat mungkin. (10). 40-hours Week - bekerja tidak lebih dari 40 jam per minggu sebagai aturan. (11).On-Site Customer - klien selalu berada pada tempat programer untuk menjawab pertanyaan. (12). Coding Standards - Menekankan kesamaan aturan/pemahaman programmer terhadap seluruh kode program.

Bookmark and Share

0 komentar:

Posting Komentar

 

Friends

ON-LINE