Extreme Programming (XP)
merupakan salah satu metodologi dalam rekayasa perangkat lunak dan juga
merupakan satu dari beberapa agile software development methodologies yang berfokus pada coding sebagai aktivitas utama di semua tahap pada siklus
pengembangan perangkat lunak (software development lifecycle). Metodologi ini
mengedepankan proses pengembangan yang lebih responsive terhadap kebutuhan
customer (”agile”) dibandingkan dengan metode-metode tradisional sambil
membangun suatu software dengan kualitas yang lebih baik.
Extreme Programming muncul
menawarkan sebuah disiplin baru dalam pengembangan software secara agile. Nilai
dasar yang terkandung di dalam Extreme Programming adalah: Komunikasi
(Communication), Kesederhanaan (Simplicity), Umpan balik (Feedback) Keberanian
(Courage) dan menghormati (Respect).
Metodologi Extreme Programming (XP)
1. Planning/Perencanaan
Pada tahap perencanaan ini
dimulai dari pengumpulan kebutuhan yang membantu tim teknikal untuk memahami
konteks bisnis dari sebuah aplikasi. Selain itu pada tahap ini juga
mendefinisikan output yang akan dihasilkan, fitur yang dimiliki oleh aplikasi
dan fungsi dari aplikasi yang dikembangkan.
2. Design/Perancangan
Metode ini menekankan desain
aplikasi yang sederhana, untuk mendesain aplikasi dapat menggunakan
Class-Responsibility-Collaborator (CRC) cards yang mengidentifikasi dan
mengatur class pada object-oriented.
3. Coding/Pengkodean
Konsep utama dari tahapan
pengkodean pada extreme programming adalah pair programming, melibatkan lebih
dari satu orang untuk menyusun kode.
4. Coding/Pengujian
Pada tahapan ini lebih fokus pada
pengujian fitur dan fungsionalitas dari aplikasi.
Contoh Penerapan Extreme Programming
(XP) :
- Planning Game : Hubungan antara Customer dengan Programer untuk memperkirakan kenbutuhan –kebutuhan dari Custumer dalam implementasinya.
- Small, frequent releases : Memproduksi dengan cepat.
- System metaphors : System metaphors antara Customer dengan Programeruntuk menunjukkan semua perkembangan dengan menjelaskan bagaimana cara kerja system.
- Simple design : Perhatiannya pada pendisainnan atau perancngan solusi yang sederhana
- Testing (unit testing & TDD) : Pelaksanaan pengujian atau testing keseluruhan
- Frequent refactoring : Penyusunan system kembali dengan cara duplikat atau salinan,memperbaiki komunikasi, menambahkan kelenturan
- Pair programming : Dua orang menulis kode pada 1 komputer
- Collective code ownership : Siapapun dapat merubah bagian pada pengkodean setiap saat.
- Continuous integration : Bagian baru code di gabungkan ke dalam kode dasar
- Sustainable pace
- Whole team together
- Coding standards : Terdapat aturan pengkodean dan di ikuti oleh programmer.
0 comments