เส้นทาง 04บทเรียน 10 / 10

วัดระบบส่งมอบซอฟต์แวร์

พิจารณาการไหลของงานส่งมอบ ความไม่เสถียร ผลลัพธ์บริการ และแรงงานร่วมกัน ใช้นิยามชัดเจนเมื่อประเมินผลของ AI

ผู้ปฏิบัติงาน10 minตรวจทานแล้ว

เผยแพร่โดย วิธีเขียนเนื้อหาของเรา

ตรวจความเข้าใจความถี่ deployment เพิ่มขึ้นหลังเริ่มใช้ AI ขณะเดียวกัน deployment เพื่อซ่อมปัญหานอกแผนก็เพิ่มขึ้น ควรสรุปอย่างไร?ทำแบบฝึกหัด
ความถี่ deployment เพิ่มขึ้นหลังเริ่มใช้ AI ขณะเดียวกัน deployment เพื่อซ่อมปัญหานอกแผนก็เพิ่มขึ้น ควรสรุปอย่างไร?

สิ่งที่จะได้เรียนรู้

  • แยกผลการส่งมอบออกจากกิจกรรมสร้างโค้ด
  • ตีความตัวชี้วัดจากนิยามเหตุการณ์และขอบเขต
  • ใช้การวัดเพื่อเลือกการปรับปรุง แทนการจัดอันดับบุคคล

เริ่มจากการตัดสินใจที่ต้องทำ

ทีมต้องการรู้ว่า AI ช่วยให้การส่งมอบดีขึ้นหรือไม่ การนับบรรทัดที่สร้างตอบคนละคำถาม กำหนดผลลัพธ์ที่มีประโยชน์และเงื่อนไขคุณภาพก่อนเลือกตัวชี้วัด

สำหรับบริการส่งออกข้อมูลในสถานการณ์สมมติ ผลที่ต้องการคือส่งมอบการเปลี่ยนแปลงที่ยอมรับได้อย่างเชื่อถือได้ โดยใช้แรงงานรวมน้อยลง บันทึกการเตรียม การลงมือทำ การตรวจทาน การแก้ไข และการรอ รวมการเปลี่ยนแปลงที่ล้มเหลวหรือเลิกทำด้วย

ใช้บริการเดียวที่มีขอบเขตชัดเจน การรวมเว็บไซต์ทดลองกับบริการชำระเงินสำคัญอาจให้ตัวเลขที่อธิบายไม่ได้ทั้งสองอย่าง อธิบายบริบทก่อนเปรียบเทียบช่วงเวลาหรือทีม

ใช้นิยามปัจจุบัน

โมเดลการส่งมอบปัจจุบันของ DORA มีตัวชี้วัดห้ารายการ ขอบเขตคือผลการส่งมอบ ไม่ใช่คุณค่าของทุก feature หรือผลงานของแต่ละคน นิยามตัวชี้วัด DORA

ตัวชี้วัดสิ่งที่วัด
Change lead timeตั้งแต่ commit ถึง production
Deployment frequencyอัตรา deployment ไปยัง production
Failed deployment recovery timeการกู้คืนหลัง deployment ที่ล้มเหลว
Change fail rateDeployment ที่ต้องแทรกแซงทันที
Deployment rework rateDeployment นอกแผนที่เกิดจาก incident ใน production

Dashboard อาจใช้นิยามอื่น อ่านนิยามก่อนตีความผล เอกสาร deployment ปัจจุบันของ Taiga อธิบายตัวชี้วัดที่รายงานสี่รายการ ซึ่งคำนวณจากระเบียน deployment ของผู้ให้บริการ ตัววัดการกู้คืนใช้ deployment ถัดไปที่สำเร็จ จึงไม่ใช่บันทึกครบถ้วนของทุก incident ใน production นิยามของ Taiga

ตรวจสอบลำดับการเปลี่ยนแปลงสมมติ

สมมติว่าบริการมี deployment สิบสองครั้งในหนึ่งเดือน แปดครั้งส่งมอบการเปลี่ยนแปลงตามแผน สี่ครั้งซ่อมปัญหาจาก release ก่อนหน้า จำนวนรวมคือสิบสอง แต่องค์ประกอบของจำนวนนั้นสำคัญ

เดือนถัดมาทีมมี deployment สิบครั้ง: การเปลี่ยนแปลงตามแผนเก้าครั้งและซ่อมปัญหาหนึ่งครั้ง Deployment ที่น้อยลงอาจมาพร้อมงานที่มีประโยชน์มากขึ้น ตัวเลขเหล่านี้ใช้แสดงวิธีตีความ ไม่ใช่เกณฑ์มาตรฐานผลงาน

ตรวจสอบการกระจายด้วย ช่วงรอตรวจทานที่ยาวหนึ่งครั้งอาจถูกค่าเฉลี่ยบดบัง การวัดการกู้คืนจากความขัดข้องเพียงครั้งเดียวเป็นหลักฐานที่จำกัดสำหรับความเชื่อถือได้ในอนาคต รายงานจำนวนข้อสังเกตและข้อยกเว้นสำคัญ

พิจารณาการไหลของงานคู่กับผลที่ตามมา

ใช้สัญญาณบริการตรวจสอบว่าการเปลี่ยนวิธีส่งมอบกระทบผู้ใช้หรือไม่ Pipeline ที่เร็วขึ้นยังไม่พอหากการส่งออกล้มเหลวบ่อยขึ้น ใช้ SLO ที่เหมาะสมหรือตัววัดผลลัพธ์อื่นที่นิยามชัดเจน แนวทาง SLO

แรงงานตรวจทานและงานแก้ซ้ำช่วยอธิบายผล หาก AI ลดเวลาลงมือทำแต่สร้าง diff ขนาดใหญ่ การตรวจทานอาจกลายเป็นข้อจำกัด หากต้องรอหลายวันกว่าจะได้สภาพแวดล้อม การเขียนโค้ดเร็วขึ้นอาจแทบไม่ลดเวลาส่งมอบทั้งหมด

เลือกการปรับปรุงหนึ่งอย่างที่แก้ข้อจำกัดซึ่งสังเกตพบ เช่น จัดเตรียมสภาพแวดล้อมทดสอบที่มีการสนับสนุน หรือลดขนาดการเปลี่ยนแปลง กำหนดตัวชี้วัดคุณภาพควบคู่ เพื่อให้ทีมตรวจพบความเร็วที่ดูดีขึ้นเพราะลดความเข้มงวดของการตรวจสอบ

ทำให้การวัดยังมีประโยชน์

หลีกเลี่ยงการจัดอันดับบุคคลจากจำนวน PR หรือโค้ดที่สร้าง ตัววัดเหล่านี้อาจให้รางวัลกับการแบ่งงานอย่างไม่มีเหตุผล การหลีกเลี่ยงงานบำรุงรักษายาก หรือการผลักภาระตรวจทานให้เพื่อนร่วมงาน

ทบทวนผลกับผู้ที่รับผิดชอบบริการทั้งหมด บันทึกสิ่งที่เปลี่ยนในเครื่องมือ ประเภทงาน ทีม และสภาพแวดล้อม มองการเปรียบเทียบก่อนและหลังเป็นหลักฐานที่มีข้อจำกัด ไม่ใช่ข้อพิสูจน์เหตุและผลโดยอัตโนมัติ

เป้าหมายคือการตัดสินใจครั้งต่อไปที่ดีขึ้น การวัดเล็ก ๆ ที่เชื่อถือได้และนำไปสู่การปรับปรุงที่ตรวจสอบแล้ว มีประโยชน์กว่า dashboard ใหญ่ที่ยังไม่ตกลงความหมาย

ฝึกกับการเปลี่ยนแปลงสิบรายการ

ชุดข้อมูลสมมติแยกต่างหากนี้บันทึกการเปลี่ยนแปลงตามแผนสิบรายการ เวลาทั้งหมดเป็น UTC ในวันที่แสดง ช่องการแก้ไขที่ว่างหมายถึงไม่มีการบันทึกการแก้ไขในชุดข้อมูลนี้

การเปลี่ยนแปลง / วันที่เริ่มงานโค้ดพร้อมเริ่มตรวจทานยอมรับออก releaseแก้ไข
C01 · 2026-09-1408:0008:4509:1509:3010:00—
C02 · 2026-09-1409:0009:3012:0012:2013:00—
C03 · 2026-09-1508:0009:0009:1509:4010:0015:00
C04 · 2026-09-1510:0010:3010:4511:0011:15—
C05 · 2026-09-1608:0009:0013:0013:3014:00—
C06 · 2026-09-1610:0011:0011:3012:0012:15—
C07 · 2026-09-1708:0008:3009:0009:2009:30—
C08 · 2026-09-1710:0010:4511:0011:3014:30—
C09 · 2026-09-1808:0008:3009:0009:3010:00—
C10 · 2026-09-1809:0009:3010:0010:3011:0014:00

เปรียบเทียบเวลาตั้งแต่โค้ดพร้อมจนเริ่มตรวจทาน แล้วเปรียบเทียบเวลาตั้งแต่ยอมรับจนออก release ระบุช่วงรอที่ยาวที่สุดที่มองเห็น สืบหาสาเหตุก่อนสรุปว่าหลีกเลี่ยงได้ Timestamp เหล่านี้ไม่ได้วัดเวลาลงมือทำจริงหรือระบุว่า incident เริ่มเมื่อใด Release เพื่อแก้ไขเพียงอย่างเดียวระบุ failed deployment recovery time ไม่ได้

ดาวน์โหลดชุดข้อมูลสมมติ (CSV)

ตรวจสอบช่วงเวลารอ

ตรวจสอบการตีความของคุณ: C05 รอตรวจทานสี่ชั่วโมง C08 รอสามชั่วโมงหลังยอมรับก่อนออก release ชุดข้อมูลไม่ได้อธิบายเหตุผลของช่วงรอเหล่านี้ สอบถามเรื่องกำลังคน เวลาทำงาน นโยบาย release และ dependency

ทำแบบฝึกหัด

ใช้ชุดข้อมูลการเปลี่ยนแปลงสิบรายการในบทเรียนนี้ กำหนดนิยาม deployment การเปลี่ยนแปลงที่ล้มเหลว และเหตุการณ์กู้คืน หาช่วงรอที่ยาวที่สุดที่มองเห็น และระบุสิ่งที่จะยืนยันสาเหตุ เสนอการปรับปรุงและตัววัดที่จะบอกว่าคุณภาพแย่ลง

ดาวน์โหลดใบงาน (Markdown)
ตรวจความเข้าใจ ↑

เรียนต่อ

แหล่งข้อมูลและเนื้อหาอ่านเพิ่มเติม

เนื้อหาเกี่ยวข้องจาก Taiga

← บทเรียนก่อนหน้า: ตัดสินใจออก release ด้วยหลักฐาน