Kriteria penerimaan adalah kondisi spesifik yang harus dipenuhi oleh suatu karya agar dianggap selesai. Kriteria ini menyertai persyaratan atau cerita pengguna, disepakati sebelum pekerjaan dimulai, dan memberikan dasar objektif untuk menilai hasilnya. Fungsinya adalah untuk mengubah deskripsi umum tentang maksud menjadi sesuatu yang dapat diverifikasi dan bukan diperdebatkan.
Ketidakhadiran mereka menghasilkan pola yang dapat diprediksi dan mahal. Pekerjaan dijelaskan secara umum, dibangun sesuai dengan interpretasi satu orang, dan ditinjau oleh orang lain dengan interpretasi yang berbeda, di mana pada titik itulah ketidaksepakatan muncul sebagai pengerjaan ulang pada saat yang paling tidak tepat. Menuliskan kriteria terlebih dahulu menggeser ketidaksepakatan tersebut ke titik di mana penyelesaiannya membutuhkan percakapan daripada pembangunan ulang.
Ada dua format yang dominan. Daftar periksa sederhana menyatakan setiap kondisi yang harus dipenuhi, yang sesuai dengan persyaratan yang lugas dan cepat untuk ditulis. Struktur given-when-then, yang diambil dari pengembangan berbasis perilaku (behavior-driven development), menyatakan konteks awal, tindakan, dan hasil yang diharapkan, yang sesuai dengan perilaku kondisional dan langsung sesuai dengan pengujian otomatis. Tidak ada yang secara inheren lebih unggul, dan konsistensi dalam tim lebih penting daripada pilihan tersebut.
Kriteria yang paling berharga adalah kriteria yang mencakup apa yang diabaikan oleh narasi. Skenario ideal biasanya jelas dan jarang diperdebatkan; perselisihan menyangkut aturan validasi, status kesalahan, data kosong dan ekstrem, batasan izin, apa yang terjadi ketika layanan eksternal gagal, dan bagaimana perilaku berbeda di berbagai perangkat. Tim yang hanya menulis kriteria untuk kasus yang diharapkan akan menemukan sisanya selama pengujian, yang biasanya menjadi fokus penjadwalan.
Kriteria menggambarkan hasil akhir daripada implementasi, yang mempertahankan kemampuan tim untuk memilih pendekatan. Menyatakan bahwa pengguna harus menerima konfirmasi dalam jangka waktu tertentu adalah sebuah kriteria; menyatakan teknologi antrian mana yang harus mengirimkannya adalah keputusan desain yang tidak termasuk dalam pernyataan penerimaan. Kriteria yang menentukan implementasi membatasi orang-orang yang paling tepat untuk memutuskannya dan sering kali menghasilkan solusi yang ternyata tidak perlu.
Keterlacakan antara kriteria dan pengujian adalah hal yang mencegah keduanya menyimpang seiring waktu. Jika setiap kriteria dipetakan ke verifikasi, baik otomatis maupun manual, cakupannya terlihat dan perubahan pada persyaratan akan memicu perubahan pada pengujian. Jika keduanya dikelola secara terpisah, pengujian secara bertahap akan menggambarkan apa yang dilakukan sistem daripada apa yang seharusnya dilakukan, yang menghilangkan kemampuan mereka untuk mendeteksi regresi terhadap tujuan yang dimaksud.
Ekspektasi non-fungsional termasuk dalam kriteria jika memang penting, dan biasanya diabaikan. Ambang batas kinerja, persyaratan aksesibilitas, dukungan peramban dan perangkat, serta batasan keamanan semuanya merupakan syarat penerimaan, dan membiarkannya tersirat berarti hal tersebut ditangani secara tidak konsisten atau ditemukan dalam audit selanjutnya. Jika tim memiliki definisi penyelesaian yang sama yang mencakup semua pekerjaan, kriteria individual hanya perlu menyatakan penyimpangan dari definisi tersebut.
Menulis kriteria secara kolaboratiflah yang menghasilkan manfaat, bukan dokumen itu sendiri. Kriteria yang dirancang oleh satu orang dan diserahkan hanya berupa spesifikasi; kriteria yang didiskusikan antara orang yang menginginkan kemampuan tersebut, orang yang membangunnya, dan orang yang mengujinya akan mengungkap ambiguitas selagi masih murah. Diskusi tersebut seringkali mengubah persyaratan, dan itulah intinya.
Karena kriteria tersebut mendefinisikan apa yang akan diuji, kriteria tersebut menghubungkan definisi persyaratan secara langsung dengan jaminan kualitas, alih-alih memperlakukannya sebagai tahapan berurutan. Dalam praktiknya, kriteria tersebut ditulis dalam pengembangan produk sebagai bagian dari penyempurnaan, dengan kondisi kegunaan dan aksesibilitas yang didasarkan pada standar yang ditetapkan melalui Audit UX agar apa yang dianggap dapat diterima mencerminkan pengalaman yang seharusnya diberikan oleh produk tersebut, bukan hanya perilaku fungsionalnya saja.