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