20 sebaliknya.  Manajemen  menghargai  hak  untuk  menerima  tanggung  jawab  dan
menerima kewenangan pekerjaan masing-masing. 5
Courage Tim  dalam
Extreme  Programming  akan  menyampaikan  kebenaran perkembangan  dan  perkiraan  pelaksanaan  proyek.  Tim  dalam
Extreme Programming  tidak  menyampaikan  alasan  kegagalan  karena  Extreme
Programming berencana untuk berhasil. Tim dalam Extreme Programming tidak merasa takut pada apapun karena di dalam tim tidak ada yang bekerja sendiri.
Tim akan menyesuaikan pada perubahan-perubahan kapan pun itu akan terjadi.
e. Prinsip-prinsip Extreme Programming
Berdasarkan  pada  nilai-nilai  pokok  di  atas, Extreme  Programming  memiliki
lima prinsip utama dalam pengembangan perangkat lunak, yaitu Baird, 2002 : 1
Rapid  Feedback,  yang  berarti  pengembang  menggunakan  umpan  balik singkat yang berulang-ulang untuk dapat mengetahui sedini mungkin apakah
perangkat  lunak  yang  dikembangkan  sudah  sesuai  dengan  yang  diinginkan klienpelanggan.
2 Assume  Simplicity,  yaitu  menganggap  seolah-olah  setiap  masalah  dapat
diselesaikan dengan mudah, hanya mengerjakan permasalahan yang sedang dihadapi tanpa memandang apa yang akan dibutuhkan ke depannya.
3 Incremental  Change,  yaitu  menyelesaikan  masalah  dengan  rangkaian
perubahan kecil.
21 4
Embrace  Change,  yaitu  mengambil  sebuah  strategi  yang  mempertahankan pilihankehendak  awal  dari  perubahan  selama  penyelesaian  masalah  yang
mendesak. 5
Quality  Work,  yaitu  kualitas  pekerjaan  yang  tidak  dapat  dikompromikan karena
Extreme  Programming  menjunjung  pentingnya  pengkodean  dan pengujian dengan
test-first programming.
f. Aktivitas dalam Extreme Programming
Beberapa  aktivitas  yang  berjalan  dalam  daur  hidup Extreme  Programming
berdasarkan nilai-nilai pokok dan prinsip-prinsipnya adalah Baird, 2002 : 1
Listening Extreme Programming didasarkan pada komunikasi. Komunikasi verbal yang
berkualitas  lebih  banyak  dilakukan  daripada  dokumentasi  formal  secara  tertulis. Extreme  Programming  memiliki  praktik-praktik  yang  mengarahkan  dan
membimbing menuju komunikasi yang lebih baik. 2
Testing Pengujian merupakan tahap integral dalam proses
Extreme Programming dan bukan  merupakan  tahap  yang  dilakukan  setelah  proses  selesai.  Pengembang
membuat atau menuliskan pengujian sebelum melakukan pengkodean. Pengujian yang  integral  dalam  proses  pengembangan  ini  lebih  baik  daripada  pengujian  di
akhir proses pengembangan. 3
Coding Extreme  Programming,  bagaimanapun  juga,  adalah  tentang  pemrograman
dan menuliskan kode adalah sebuah keahlian yang dapat diasah melalui praktik-
22 praktik  seperti
refactoring,  pair  programming,  dan  code  review.  Pengembang dalam
Extreme Programming dapat memahami logika, algoritma, dan alur dalam kode hanya dengan membaca kode tersebut.
4 Designing
Salah  satu  ide  dasar Extreme  Programming  adalah  bahwa  perancangan  itu
berkembang dan disusun sepanjang proyek. Perancangan tidak ditentukan pada satu  peranan  tetapi  dilakukan  secara  dinamis.
Extreme  Programming mengabaikan  fakta  yang  ada  bahwa  perangkat  lunak  selalu  dalam  keadaan
dirancang.  Hal  ini  dilakukan  dengan  cara  membatasi  aktivitas  perancangan sehingga
Extreme Programming menerima perubahan sistem secara alami.
g. Praktik-praktik Extreme Programming