Ukur sistem pengiriman perangkat lunak
SelesaiGabungkan alur pengiriman, ketidakstabilan, hasil layanan, dan upaya. Gunakan definisi yang jelas saat menilai dampak AI.
Diterbitkan oleh TaigaCara kami menulis
Periksa pemahaman AndaFrekuensi deployment meningkat setelah AI digunakan, tetapi deployment perbaikan yang tidak direncanakan juga bertambah. Apa kesimpulan yang tepat?Kerjakan latihan
Hal yang akan dipelajari
- Bedakan kinerja pengiriman dari aktivitas pembuatan kode.
- Tafsirkan metrik berdasarkan definisi peristiwa dan cakupannya.
- Gunakan pengukuran untuk memilih perbaikan, bukan untuk membuat peringkat individu.
Mulai dari keputusan yang perlu dibuat
Sebuah tim ingin mengetahui apakah AI memperbaiki pengiriman perangkat lunak. Menghitung baris kode yang dihasilkan menjawab pertanyaan yang berbeda. Tetapkan hasil yang berguna dan syarat kualitas sebelum memilih metrik.
Untuk layanan ekspor fiktif, hasil yang diinginkan adalah pengiriman perubahan yang telah diterima secara andal dengan total upaya lebih sedikit. Catat persiapan, implementasi, peninjauan, perbaikan, dan waktu tunggu. Sertakan perubahan yang gagal atau dibatalkan.
Gunakan satu layanan dengan batas yang jelas. Menggabungkan situs eksperimental dan layanan pembayaran kritis dapat menghasilkan angka yang tidak menjelaskan keduanya. Jelaskan konteks sebelum membandingkan periode atau tim.
Gunakan definisi terkini
Model pengiriman DORA saat ini mencakup lima metrik. Cakupannya adalah kinerja pengiriman, bukan nilai setiap fitur atau kontribusi individu. Definisi metrik DORA.
| Metrik | Fokus pengukuran |
|---|---|
| Change lead time | Waktu dari commit hingga produksi |
| Deployment frequency | Frekuensi deployment ke produksi |
| Failed deployment recovery time | Pemulihan setelah deployment yang gagal |
| Change fail rate | Deployment yang memerlukan intervensi segera |
| Deployment rework rate | Deployment tidak terencana akibat insiden produksi |
Dashboard dapat menggunakan definisi lain. Baca definisinya sebelum menafsirkan hasil. Dokumentasi deployment Taiga saat ini menjelaskan empat metrik yang dilaporkan dari catatan deployment penyedia. Ukuran pemulihannya menggunakan deployment berikutnya yang berhasil. Ukuran itu bukan catatan lengkap setiap insiden produksi. Definisi Taiga.
Periksa urutan perubahan fiktif
Misalkan sebuah layanan melakukan dua belas deployment dalam sebulan. Delapan mengirimkan perubahan terencana. Empat memperbaiki masalah dari rilis sebelumnya. Jumlahnya dua belas, tetapi jenis deployment tersebut juga penting.
Bulan berikutnya, tim melakukan sepuluh deployment: sembilan perubahan terencana dan satu perbaikan. Jumlah deployment yang lebih sedikit dapat disertai lebih banyak pekerjaan yang berguna. Angka ini menggambarkan cara menafsirkan hasil; angka ini bukan tolok ukur kinerja.
Periksa juga distribusinya. Satu waktu tunggu peninjauan yang panjang dapat tersembunyi dalam rata-rata. Ukuran pemulihan dari satu kegagalan merupakan bukti yang lemah untuk keandalan mendatang. Laporkan jumlah pengamatan dan pengecualian yang berpengaruh.
Hubungkan alur kerja dengan dampaknya
Gunakan sinyal layanan untuk memeriksa apakah perubahan pengiriman memengaruhi pengguna. Pipeline yang lebih cepat tidak cukup jika ekspor lebih sering gagal. Gunakan SLO yang sesuai atau ukuran hasil lain dengan definisi yang jelas. Panduan SLO.
Upaya peninjauan dan pengerjaan ulang membantu menjelaskan hasil. Jika AI mempercepat implementasi tetapi menghasilkan diff besar, peninjauan dapat menjadi penghambat. Jika penyediaan lingkungan memerlukan beberapa hari, penulisan kode yang lebih cepat mungkin hanya sedikit memengaruhi total waktu pengiriman.
Pilih satu perbaikan yang mengatasi penghambat yang diamati. Misalnya, sediakan lingkungan pengujian yang didukung atau perkecil perubahan. Tetapkan metrik kualitas sebagai penyeimbang agar tim dapat mendeteksi peningkatan kecepatan semu akibat pemeriksaan yang lebih lemah.
Pastikan pengukuran tetap berguna
Hindari peringkat individu berdasarkan jumlah PR atau kode yang dihasilkan. Ukuran ini dapat mendorong pembagian pekerjaan secara dibuat-buat, penghindaran pemeliharaan yang sulit, atau pengalihan beban peninjauan ke rekan kerja.
Tinjau hasil bersama orang yang bertanggung jawab atas seluruh layanan. Catat perubahan pada alat, komposisi pekerjaan, tim, dan lingkungan. Perlakukan perbandingan sebelum dan sesudah sebagai bukti yang memiliki keterbatasan, bukan bukti otomatis tentang hubungan sebab-akibat.
Tujuannya adalah keputusan berikutnya yang lebih baik. Pengukuran kecil yang dapat dipercaya dan menghasilkan perbaikan terverifikasi lebih berguna daripada dashboard besar tanpa kesepakatan tentang maknanya.
Berlatih dengan sepuluh perubahan
Dataset fiktif terpisah ini mencatat sepuluh perubahan terencana. Semua waktu menggunakan UTC pada tanggal yang ditampilkan. Kolom perbaikan yang kosong berarti tidak ada perbaikan yang dicatat dalam dataset ini.
| Perubahan / tanggal | Pekerjaan dimulai | Kode siap | Peninjauan dimulai | Diterima | Dirilis | Diperbaiki |
|---|---|---|---|---|---|---|
| C01 · 2026-09-14 | 08:00 | 08:45 | 09:15 | 09:30 | 10:00 | — |
| C02 · 2026-09-14 | 09:00 | 09:30 | 12:00 | 12:20 | 13:00 | — |
| C03 · 2026-09-15 | 08:00 | 09:00 | 09:15 | 09:40 | 10:00 | 15:00 |
| C04 · 2026-09-15 | 10:00 | 10:30 | 10:45 | 11:00 | 11:15 | — |
| C05 · 2026-09-16 | 08:00 | 09:00 | 13:00 | 13:30 | 14:00 | — |
| C06 · 2026-09-16 | 10:00 | 11:00 | 11:30 | 12:00 | 12:15 | — |
| C07 · 2026-09-17 | 08:00 | 08:30 | 09:00 | 09:20 | 09:30 | — |
| C08 · 2026-09-17 | 10:00 | 10:45 | 11:00 | 11:30 | 14:30 | — |
| C09 · 2026-09-18 | 08:00 | 08:30 | 09:00 | 09:30 | 10:00 | — |
| C10 · 2026-09-18 | 09:00 | 09:30 | 10:00 | 10:30 | 11:00 | 14:00 |
Bandingkan waktu dari kode siap hingga peninjauan dimulai, lalu dari penerimaan hingga rilis. Identifikasi waktu tunggu terlama yang terlihat. Selidiki penyebabnya sebelum menyatakan bahwa waktu tunggu itu dapat dihindari. Timestamp ini tidak mengukur upaya aktif atau menunjukkan kapan insiden dimulai. Rilis perbaikan saja tidak dapat menetapkan waktu pemulihan deployment yang gagal.
Periksa waktu tunggu
Periksa penafsiran Anda: C05 menunggu empat jam untuk peninjauan. C08 menunggu tiga jam setelah diterima sebelum dirilis. Dataset tidak menjelaskan penyebab waktu tunggu tersebut. Tanyakan tentang kapasitas, jam kerja, kebijakan rilis, dan dependensi.
Kerjakan latihan
Gunakan dataset sepuluh perubahan dalam pelajaran ini. Definisikan deployment, perubahan yang gagal, dan peristiwa pemulihan. Temukan waktu tunggu terlama yang terlihat dan jelaskan bukti yang diperlukan untuk mengetahui penyebabnya. Usulkan perbaikan dan ukuran yang dapat menunjukkan penurunan kualitas.
Unduh lembar kerja (Markdown)Menonaktifkan pilihan ini menghapus seluruh kemajuan yang tersimpan dalam browser.
Kemajuan tetap tersimpan dalam browser ini. Tanpa akun atau pelacakan.
Sumber dan bacaan lanjutan
- DORA: Software delivery performance metrics ↗
- Taiga docs: Deployments and metric definitions ↗
- Google SRE: Implementing SLOs ↗