Saturday, October 29, 2016

Extreme Programming (XP)

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.

Load disqus comments

0 comments