Definition of Done: Contoh dan Cara Menulisnya

Turn this article into takeaways for your work.
Each assistant summarizes the article only for you and suggests best practices for your work.
Definition of Done (DoD) ialah salah satu konsep yang terdengar jelas sehingga pasukan anda menghantar sesuatu yang rosak dalam produksi, terlepas semakan, atau tidak pernah didokumentasikan. Kemudian ia menjadi mendesak.
Apakah Definition of Done (DoD)?
Definition of Done ialah senarai semak kriteria yang dikongsi dan dipersetujui bersama yang mesti dipenuhi oleh item kerja sebelum pasukan menganggapnya selesai. Bukan "hampir selesai." Bukan "selesai pada mesin saya." Selesai dengan sebenarnya.
DoD terpakai kepada setiap Increment kerja pada peringkat yang sama, setiap kisah pengguna, setiap sprint, setiap keluaran. Ia bukan ditulis oleh satu orang dan disampaikan ke bawah. Ia dicipta bersama-sama oleh pasukan, diletakkan di tempat yang kelihatan, dan dikuatkuasakan secara konsisten. Apabila kerja memenuhi setiap item dalam senarai, ia selesai. Apabila tidak, ia belum.
Fakta utama: Definition of Done
- Pasukan dengan DoD yang didokumentasikan dengan jelas menghantar 28% lebih sedikit kecacatan berbanding pasukan tanpa satu, mengikut penyelidikan yang diterbitkan dalam jurnal Empirical Software Engineering (2018).
- Laporan State of Agile 2023 (digital.ai) mendapati bahawa amalan yang tidak konsisten dan standard yang tidak jelas antara lima sebab utama transformasi Agile gagal; DoD menangani kedua-duanya secara langsung.
- Kajian oleh Capers Jones mendapati bahawa membaiki kecacatan dalam produksi menelan kos 10 hingga 100 kali lebih banyak berbanding mengesannya semasa pembangunan; DoD yang merangkumi keperluan pengujian dan semakan adalah salah satu alat pencegahan kecacatan kos terendah yang tersedia.
Definition of Done berbanding kriteria penerimaan
Kedua-dua istilah ini sering dikelirukan, dan kekeliruan itu menimbulkan masalah yang nyata. Ia berkaitan tetapi meliputi kawasan yang berbeza.
| Dimensi | Definition of Done | Kriteria penerimaan |
|---|---|---|
| Skop | Terpakai kepada setiap item kerja pada peringkat tertentu (setiap cerita, setiap sprint) | Khusus kepada satu kisah pengguna atau ciri |
| Siapa yang menetapkannya | Keseluruhan pasukan bersetuju dan menyelenggaranya | Product Owner atau pihak berkepentingan menentukannya untuk item tersebut |
| Apakah yang diliputi | Standard kualiti, langkah proses, keperluan bukan fungsional | Tingkah laku fungsional yang mesti ditunjukkan oleh ciri |
| Berapa kerap berubah | Jarang (hanya apabila pasukan mengevolusi standardnya) | Setiap cerita atau ciri adalah berbeza |
| Contoh | "Semua kod disemak, diuji, dan digabungkan ke main" | "Pengguna boleh menetapkan semula kata laluan melalui pautan e-mel dalam masa 60 saat" |
Kriteria penerimaan menjawab: adakah ciri ini melakukan apa yang sepatutnya? DoD menjawab: adakah pasukan telah melakukan semua yang diperlukan untuk menyebut Increment ini boleh dikeluarkan?
Sebuah cerita boleh lulus semua kriteria penerimaannya dan masih gagal DoD jika, katakanlah, dokumentasi tidak dikemas kini atau kod tidak disemak. Kedua-dua pintu perlu dilalui.
Sesetengah pasukan juga menggunakan Definition of Ready (DoR) di bahagian hadapan, senarai semak syarat yang mesti dipenuhi oleh item kerja sebelum pasukan menariknya ke dalam sprint. DoD menutup lingkaran di bahagian belakang. Bersama-sama, mereka mewujudkan sempadan kualiti di sekeliling keseluruhan kitaran sprint. Lihat penghalusan Backlog untuk cara DoR sesuai dengan persediaan sprint.
Mengapa Definition of Done penting
Tanpa DoD, "selesai" bermakna sesuatu yang berbeza kepada setiap orang dalam pasukan. Seorang pembangun menganggap ciri selesai apabila kod dikompil. Jurutera QA menganggapnya selesai apabila ujian lulus. Ketua teknikal menganggapnya selesai apabila kod disemak. Product Owner menganggapnya selesai apabila ia digunakan. Tidak ada seorang pun yang salah. Tetapi jika mereka tidak pernah sejajar pada standard tunggal, pasukan akan terus menghantar kerja yang sebahagiannya selesai dengan cara yang tidak dijangka oleh sesiapa pun.
Inilah yang berlaku dalam praktik. Pasukan tanpa DoD:
- Menghantar kod yang berfungsi secara tempatan tetapi gagal dalam persekitaran pementasan kerana semakan persekitaran bukan sebahagian daripada senarai semak mental sesiapa pun
- Menggabungkan kerja yang "disemak" oleh orang yang menulisnya
- Mengumpul hutang dokumentasi kerana tiada siapa yang mencatatnya sebagai keperluan
- Menghabiskan separuh retrospektif sprint untuk membincangkan apa sebenarnya maksud "selesai" bagi cerita yang baru mereka selesaikan
Pasukan dengan DoD:
- Mempunyai standard bersama dan tidak boleh dirunding yang tidak bergantung kepada tafsiran individu
- Mengesan jurang semasa sprint, bukan selepas penempatan
- Mengurangkan kerja semula kerana semua orang tahu kriteria keluar sebelum memulakan
- Bergerak lebih pantas kerana terdapat lebih sedikit kejutan semasa semakan sprint
DoD juga melindungi Product Backlog daripada penyiapan palsu. Apabila cerita ditandai selesai tanpa memenuhi semua kriteria, kerja sebenar, pembaikan, semakan, dokumentasi, terkubur di suatu tempat dalam Backlog dan muncul semula kemudian sebagai kerja yang tidak dirancang.
Peringkat selesai
Kebanyakan pasukan beroperasi dengan tiga peringkat selesai. Setiap peringkat mempunyai senarai semaknya sendiri, dan senarai semak peringkat yang lebih tinggi biasanya merangkumi semua perkara dari peringkat di bawahnya.
Selesai peringkat cerita
Ini adalah senarai semak yang digunakan pada kisah pengguna atau tugasan individu. Ia meliputi kerja khusus yang diperlukan untuk menyampaikan satu Increment:
- Kod ditulis dan disemak sendiri
- Ujian unit ditulis dan lulus
- Kod disemak oleh sekurang-kurangnya satu ahli pasukan lain
- Kriteria penerimaan dipenuhi dan disahkan
- Cawangan ciri digabungkan ke main (atau cawangan integrasi yang dipersetujui)
Selesai peringkat sprint
Senarai semak ini terpakai kepada keseluruhan Increment sprint, jumlah semua cerita yang diselesaikan dalam sprint. Ia sering menambah kriteria integrasi dan penempatan:
- Semua item DoD peringkat cerita dipenuhi untuk setiap cerita yang disertakan
- Ujian integrasi lulus berbanding binaan penuh
- Ditempat kepada persekitaran pementasan
- Matlamat sprint dicapai atau dinilai secara eksplisit
- Nota keluaran atau log perubahan dikemas kini
Selesai peringkat keluaran
Ini meliputi semua yang diperlukan sebelum Increment dibawa kepada pengguna produksi. Di sinilah kriteria pematuhan, prestasi, dan kelulusan biasanya berada:
- Ujian hujung ke hujung lulus dalam persekitaran seperti produksi
- Penanda aras prestasi dipenuhi (masa muat, kadar ralat, dan sebagainya)
- Imbasan keselamatan selesai tanpa penemuan kritikal
- Dokumentasi dikemas kini dan diterbitkan
- Kelulusan pihak berkepentingan diperoleh
- Pelan rollback didokumentasikan
Pasukan yang bekerja dalam perancangan sprint harus jelas tentang peringkat selesai mana yang terpakai kepada output setiap sprint. Tidak setiap sprint berakhir dalam keluaran produksi, tetapi pasukan harus tahu dengan tepat di mana paras itu sebelum mereka memulakan.
Contoh Definition of Done
Berikut adalah senarai semak DoD yang konkrit untuk tiga jenis pasukan yang biasa. Ini bukan templat untuk disalin secara keseluruhan, ia adalah titik permulaan. DoD pasukan anda harus mencerminkan standard, alatan, dan aliran kerja anda yang sebenar.
Pasukan pembangunan perisian (peringkat cerita)
- Kod ditulis dan dikompil tanpa ralat
- Ujian unit ditulis untuk logik baharu, dengan sekurang-kurangnya 80% liputan pada fail yang diubah
- Kod disemak dan diluluskan oleh sekurang-kurangnya satu pembangun lain
- Semua ujian automatik lulus dalam saluran paip CI
- Tiada ralat peleraian baharu yang diperkenalkan
- Ciri digunakan kepada persekitaran pementasan dan diuji asap
- Kriteria penerimaan disahkan oleh pembangun atau QA
- Sebarang API baharu atau perubahan konfigurasi didokumentasikan dalam wiki pasukan
- Bendera ciri atau togol dipasang jika kerja belum sedia untuk penguatkuasaan penuh
Pasukan pemasaran dan kandungan (peringkat cerita)
- Kandungan ditulis mengikut bilangan patah perkataan dan panduan nada yang dipersetujui
- Disemak oleh penulis atau editor kedua untuk ketepatan dan suara jenama
- Senarai semak SEO diselesaikan (teg tajuk, penerangan meta, kata kunci sasaran dalam H1)
- Semua pautan dalaman disahkan dan berfungsi
- Imej dioptimumkan dan teks alt ditambah
- Dijadual atau diterbitkan dalam CMS mengikut kalendar kandungan
- Tugasan pengedaran diselesaikan (hantaran sosial dijadual, penyertaan surat berita disahkan)
- Penjejakan analitik disahkan (parameter UTM, teg peristiwa dipasang)
Pasukan reka bentuk (peringkat cerita)
- Reka bentuk sepadan dengan taklimat yang diluluskan atau keperluan kisah pengguna
- Disemak oleh ketua pereka bentuk dan mana-mana pihak berkepentingan yang berkaitan
- Panduan kebolehcapaian disemak (kontras warna, saiz taip, aliran papan kekunci untuk elemen interaktif)
- Semua keadaan didokumentasikan: lalai, hover, fokus, ralat, kosong, memuatkan
- Aset dieksport dalam format yang diperlukan dan dimuat naik ke perpustakaan reka bentuk bersama
- Nota serah terima ditulis untuk pasukan pembangunan
- Sebarang maklum balas terbuka daripada semakan diselesaikan atau ditangguhkan secara eksplisit dengan alasan
Cara menulis Definition of Done
Langkah 1: Kumpulkan pasukan
DoD hanya berfungsi jika semua orang mempercayainya. Itu bermakna menciptanya bersama-sama, pembangun, pereka bentuk, QA, Product Owner, sesiapa sahaja yang melakukan kerja. Bengkel 60 minit biasanya mencukupi untuk mendapatkan versi pertama. Jangan biarkan Scrum Master atau ketua pasukan menulisnya sendirian dan membentangkannya untuk "kelulusan." Penciptaan bersama adalah intinya.
Langkah 2: Senaraikan apa yang penyiapan sebenarnya memerlukan
Mulakan dengan bertanya kepada pasukan: "Fikirkan kerja terakhir yang anda hantar yang datang kembali dengan masalah. Langkah mana yang dilangkau?" Bekerja mundur dari kegagalan untuk mencari item senarai semak yang penting. Kemudian bekerja ke hadapan: bagaimanakah rupa yang baik apabila kita menghantar? Apakah yang akan mempermalukan kita jika kita melupakannya?
Kumpulkan item ke dalam kategori: kualiti kod, pengujian, dokumentasi, penempatan, semakan. Ini menjadikan DoD lebih mudah diimbas semasa sprint.
Langkah 3: Pastikan setiap item boleh diuji
Setiap item DoD hendaklah boleh disahkan, sama ada ia selesai atau tidak. "Kualiti kod adalah baik" bukan item DoD. "Kod disemak dan diluluskan oleh sekurang-kurangnya satu ahli pasukan selain penulis" adalah. Ujiannya: bolehkah anda menunjuk kepada bukti bahawa item ini diselesaikan? Jika ya, ia tergolong dalam DoD. Jika memerlukan pertimbangan, ubahnya menjadi panduan atau pecahkan kepada kriteria yang lebih spesifik.
Langkah 4: Bersetuju dan letakkan di tempat yang kelihatan
Sebaik sahaja pasukan mempunyai draf, dapatkan persetujuan yang eksplisit. Bukan "tiada bantahan" tetapi sokongan yang sebenar. Letak DoD di tempat yang dilihat oleh seluruh pasukan setiap hari, papan sprint, wiki pasukan, penerangan saluran dalam Slack. Ia bukan sepatutnya dokumen yang terkubur dalam folder yang tidak dibuka oleh sesiapa pun. Jika pasukan tidak dapat melihatnya, ia tidak akan digunakan.
Langkah 5: Semak dan kembangkan
DoD bukan kekal. Ia harus disemak pada retrospektif sprint setiap kali pasukan menghantar sesuatu yang mendedahkan jurang. Apabila pasukan menambah alat baharu (katakanlah, pengimbas keselamatan automatik), tambahkan ke DoD. Apabila item senarai semak menjadi begitu automatik sehingga tiada siapa yang melangkaunya, pertimbangkan sama ada ia masih perlu ditulis atau sama ada ia kini hanya tabiat pasukan.
DoD yang tidak pernah berubah adalah sempurna (tidak mungkin) atau diabaikan (lebih mungkin).
Kesilapan biasa
Menjadikannya terlalu panjang. DoD dengan 30 item tidak digunakan. Sasarkan 8 hingga 12 item yang meliputi jurang kualiti sebenar anda, bukan ideal yang menyeluruh. Jika anda tidak dapat menyebut DoD dari ingatan selepas seminggu, ia terlalu panjang.
Menulisnya pada peringkat organisasi dan bukannya peringkat pasukan. DoD yang disampaikan dari kepimpinan meliputi dasar, bukan amalan. Setiap pasukan memerlukan DoD yang mencerminkan aliran kerja, alatan, dan standard mereka yang sebenar.
Menganggapnya sebagai aspirasi. Jika pasukan tidak dapat memenuhi setiap item DoD secara realistik dalam sprint biasa, DoD adalah aspirasi, bukan operasi. Potong kembali kepada apa yang pasukan sebenarnya boleh komit, kemudian naikkan paras secara berperingkat apabila kapasiti dan alatan bertambah baik.
Melewatkannya semasa tekanan. "Kita akan langkau dokumentasi sprint ini kerana kita kekurangan masa" adalah saat DoD berhenti bermakna apa-apa. Pengecualian separa terkumpul menjadi pengecualian yang konsisten. Jika DoD boleh digantung di bawah tekanan, ia tidak pernah menjadi standard yang sebenar.
Melupakan keperluan bukan fungsional. Tingkah laku fungsional diliputi oleh kriteria penerimaan. DoD adalah tempat standard prestasi, keselamatan, kebolehcapaian, dan dokumentasi berada. Pasukan yang meninggalkan ini daripada DoD menghantar ciri yang berfungsi tetapi merendahkan sistem dari masa ke masa.
Soalan yang kerap ditanya
Siapa yang memiliki Definition of Done?
Pasukan memilikinya secara kolektif. Product Owner boleh mempengaruhinya (mereka mengambil berat tentang kebolehkeluaran), dan Scrum Master boleh memudahkan penciptaan dan semakkannya. Tetapi dalam Scrum, Pembangun adalah orang yang komited untuk memenuhi DoD bagi setiap Increment. Tiada siapa yang boleh mengubahnya secara sepihak pertengahan sprint.
Apakah perbezaan antara Definition of Done dan senarai semak?
DoD adalah sejenis senarai semak, tetapi dengan tujuan khusus dan kontrak khusus di sebaliknya. Senarai semak adalah alat. DoD adalah persetujuan bahawa setiap Increment mesti melepasi paras ini sebelum pasukan menyebutnya selesai. Perbezaannya penting kerana ia membayangkan pemilikan bersama dan akibat: kerja yang tidak memenuhi DoD tidak dikira terhadap matlamat sprint.
Adakah setiap pasukan memerlukan Definition of Done?
Ya, jika pasukan menghantar kerja yang orang lain bergantung padanya. DoD adalah mekanisme yang menjadikan "selesai" bermakna perkara yang sama kepada semua orang. Pasukan tanpa satu sama ada membangunkan standard tersirat (yang tidak dikongsi atau dikuatkuasakan) atau berhujah tentang kesempurnaan pada saat-saat yang paling tidak sesuai, biasanya pada penghujung sprint.
Bolehkah Definition of Done berbeza untuk jenis kerja yang berbeza?
Ya, dengan berhati-hati. Banyak pasukan mempunyai DoD peringkat cerita dan DoD peringkat sprint (seperti yang diterangkan dalam bahagian peringkat di atas). Sesetengah pasukan mempunyai kriteria yang sedikit berbeza untuk pembaikan pepijat berbanding ciri baharu. Tetapi berhati-hati terhadap fragmentasi. Semakin banyak pengecualian dan kes khas yang ada pada DoD, semakin banyak beban kognitif yang ditimbulkan dan semakin kurang ia digunakan dengan boleh dipercaya.
Bagaimana Definition of Done berkaitan dengan Story Point?
Story Point menganggarkan usaha relatif. DoD menentukan standard kualiti. Ia berkaitan kerana DoD harus diambil kira dalam anggaran. Jika memenuhi DoD untuk cerita mengambil masa 3 jam tambahan, masa itu harus dicerminkan dalam anggaran Story Point, bukan dianggap sebagai overhead yang dilangkau apabila pasukan terdesak. Apabila pasukan meranggar cerita terlalu rendah kerana mereka tidak mengambil kira keperluan DoD, mereka akhirnya dalam jenis tekanan yang membawa kepada pintasan DoD.
Definition of Done yang dibuat dengan baik tidak melambatkan pasukan. Ia membuang kekaburan yang melambatkan pasukan. Apabila semua orang tahu dengan tepat apa maksud "selesai" sebelum mereka memulakan, terdapat lebih sedikit kejutan, lebih sedikit kitaran kerja semula, dan lebih sedikit hujah semasa semakan sprint. Mulakan dengan sesuatu yang mudah, kuatkuasakan secara konsisten, dan biarkan ia berkembang seiring dengan pasukan.
Bacaan berkaitan

Senior Operations & Growth Strategist
On this page
- Apakah Definition of Done (DoD)?
- Definition of Done berbanding kriteria penerimaan
- Mengapa Definition of Done penting
- Peringkat selesai
- Selesai peringkat cerita
- Selesai peringkat sprint
- Selesai peringkat keluaran
- Contoh Definition of Done
- Pasukan pembangunan perisian (peringkat cerita)
- Pasukan pemasaran dan kandungan (peringkat cerita)
- Pasukan reka bentuk (peringkat cerita)
- Cara menulis Definition of Done
- Langkah 1: Kumpulkan pasukan
- Langkah 2: Senaraikan apa yang penyiapan sebenarnya memerlukan
- Langkah 3: Pastikan setiap item boleh diuji
- Langkah 4: Bersetuju dan letakkan di tempat yang kelihatan
- Langkah 5: Semak dan kembangkan
- Kesilapan biasa
- Soalan yang kerap ditanya
- Bacaan berkaitan