Coba jelasin XP values dari Extreme programming dong

Beck  mendefinisikan seperangkat nilai yang membentuk fondasi untuk semua pekerjaan yang dilakukan sebagai bagian dari XP — komunikasi (communication), kesederhanaan (simplicity), umpan balik (feedback), keberanian (courage), dan rasa hormat (respect). Masing-masing nilai ini digunakan sebagai penggerak untuk aktivitas, tindakan, dan tugas XP tertentu.

Untuk mencapai komunikasi yang efektif antara praktisi perangkat lunak dan pemangku kepentingan lain (misalnya, untuk membangun fitur dan fungsi yang diperlukan untuk perangkat lunak), XP menekankan kolaborasi yang erat, tetapi informal (verbal) antara pelanggan dan pengembang, pembentukan metafora yang efektif untuk mengkomunikasikan konsep-konsep penting, memberikan umpan balik yang berkelanjutan, dan menghindari dokumentasi yang banyak sebagai media komunikasi.

Untuk mencapai kesederhanaan , XP membatasi pengembang untuk merancang hanya kebutuhan mendesak, daripada mempertimbangkan kebutuhan masa depan. Tujuannya adalah untuk membuat desain sederhana yang dapat dengan mudah diimplementasikan dalam kode. Jika desain harus diperbaiki, itu dapat di-refactored di lain waktu.

Umpan balik berasal dari tiga sumber: perangkat lunak yang diimplementasikan itu sendiri, pelanggan, dan anggota tim perangkat lunak lainnya. Dengan merancang dan menerapkan strategi pengujian yang efektif, perangkat lunak (melalui hasil tes) memberikan umpan balik bagi agile team. XP menggunakan pengujian unit sebagai taktik pengujian utamanya. Ketika setiap kelas dikembangkan, tim mengembangkan pengujian unit untuk melaksanakan setiap operasi sesuai dengan fungsionalitas yang ditentukan. Ketika sebuah increment disampaikan ke pelanggan, user stories atau use case yang diterapkan oleh increment tersebut digunakan sebagai dasar untuk acceptance testing. Sejauh mana perangkat lunak mengimplementasikan luaran, fungsi, dan perilaku use case adalah bentuk umpan balik. Akhirnya, ketika kebutuhan baru diturunkan sebagai bagian dari perencanaan berulang, tim memberikan pelanggan umpan balik cepat mengenai dampak biaya dan jadwal.

Beck berpendapat bahwa kepatuhan yang ketat terhadap praktik XP tertentu menuntut keberanian. Kata yang lebih baik mungkin disiplin. Sebagai contoh, sering ada tekanan yang signifikan untuk merancang kebutuhan pada masa depan. Sebagian besar tim perangkat lunak menyerah, dengan alasan bahwa "merancang untuk besok" akan menghemat waktu dan upaya dalam jangka panjang. Tim agile XP harus memiliki disiplin (keberanian) mendesain untuk hari ini, mengakui bahwa kebutuhan pada masa depan dapat berubah secara dramatis, sehingga menuntut pengerjaan ulang yang substansial dari desain dan kode yang diimplementasikan.

Dengan mengikuti masing-masing nilai-nilai ini, tim agile menanamkan rasa hormat (respect) di antara anggotanya, antara pemangku kepentingan lain dan anggota tim, dan secara tidak langsung, untuk perangkat lunak itu sendiri. Ketika mereka berhasil mencapai pengiriman increment perangkat lunak, tim mengembangkan rasa hormat yang semakin besar terhadap proses XP.