ปัญหา
พอบริษัทโตขึ้นแต่ delivery ไม่ได้เร็วขึ้นตาม ก็จะมีคนขอตัวเลข productivity และตัวเลขที่หาง่ายที่สุดก็คือตัวที่นับ activity: commit, pull request, จำนวนบรรทัดโค้ด, ticket ที่ปิดไป เครื่องมือบันทึกตัวเลขพวกนี้ไว้อยู่แล้ว นี่คือเสน่ห์ของมัน แต่มันวัดความเคลื่อนไหว ไม่ใช่ความคืบหน้า ตัวเลขพวกนี้จะพุ่งขึ้นเมื่องานถูกหั่นเป็นชิ้นเล็ก ๆ เมื่อโค้ดถูก generate หรือ copy มา หรือเมื่อคนทำงานเป็นชั่วโมงยาว ๆ เพื่ออ้อมระบบที่ช้า และจะลดลงเมื่อคนไปทำงานที่ทำให้ทีมเดินต่อได้: review, pairing กับพนักงานใหม่, เขียน design document, อยู่เวร on-call พอเอามาจัดอันดับรายคนบน leaderboard มันยังสอนคนได้เร็วมากว่าอะไรทำให้อันดับขยับ ส่วนคำถามที่สำคัญจริง ๆ ก็ยังไม่มีคำตอบ: อะไรทำให้ engineer ช้า, พวกเขาเป็นยังไงกันบ้าง และลูกค้าได้ software ที่ดีขึ้นเร็วขึ้นหรือเปล่า Delivery metric อย่างของ DORA ช่วยตอบคำถามสุดท้ายได้ แต่มันบอกเรื่อง pipeline ของทีม ไม่ใช่ความติดขัดในแต่ละวันที่อยู่เบื้องหลัง
ทำงานยังไง
มีสอง framework ที่เขียนโดยกลุ่มนักวิจัยที่มีคนซ้ำกันบางส่วน และตีพิมพ์ใน ACM Queue ห่างกันสองปี ทั้งคู่ตอบคำถามนี้แบบที่เสริมกัน SPACE บอกว่า developer productivity ประกอบด้วยอะไรบ้าง เพื่อให้ทีมเลือกชุดตัววัดที่สมดุลได้ ส่วน DevEx มอง productivity จากฝั่งของ developer และชี้ไปที่ความติดขัดที่คุ้มจะกำจัดทิ้ง
SPACE (2021)
The SPACE of Developer Productivity โดย Nicole Forsgren (ตอนนั้นอยู่ที่ GitHub), Margaret-Anne Storey (University of Victoria) และ Chandra Maddila, Thomas Zimmermann, Brian Houck และ Jenna Butler (Microsoft) ตีพิมพ์ใน ACM Queue, vol. 19, no. 1 ในปี 2021 ตัว paper เปิดด้วยการรื้อความเชื่อที่พบบ่อยห้าข้อ: ว่า productivity คือเรื่องของ developer activity ทั้งหมด, ว่ามันเป็นเรื่องของ performance รายคนเท่านั้น, ว่า metric ตัวเดียวจับมันได้, ว่าตัววัด productivity มีไว้ให้ manager ใช้เท่านั้น และว่ามันเป็นเรื่องของ engineering system กับเครื่องมือเท่านั้น จากนั้นก็ตั้งชื่อห้า dimension (คำอธิบายเรียบเรียงใหม่):
| Dimension | ครอบคลุมอะไร | ตัวอย่างที่ paper ยก |
|---|---|---|
| Satisfaction and well-being | developer รู้สึกว่างาน ทีม เครื่องมือ และวัฒนธรรมเติมเต็มเขาไหม และสุขภาพกับความสุขของเขายังดีอยู่ไหม | satisfaction, การมีเครื่องมือและทรัพยากรพอจะทำงาน, burnout |
| Performance | งานทำอะไรสำเร็จบ้าง โดยตัดสินจากผลลัพธ์ ไม่ใช่จากปริมาณที่ผลิตออกมา | คุณภาพ (reliability, ไม่มี bug, service health) และ impact (ความพอใจของลูกค้า, adoption, การใช้งาน feature, การลดต้นทุน) |
| Activity | สิ่งที่คนทำหรือผลิตออกมาแล้วนับได้ | design document, pull request, commit และ review; build, test และ deployment; incident และการเข้าเวร on-call |
| Communication and collaboration | คนและทีมคุยกัน ประสานงาน และช่วยกันได้ดีแค่ไหน | หา documentation กับผู้เชี่ยวชาญได้ง่ายแค่ไหน, งานถูก integrate เข้าด้วยกันได้เร็วแค่ไหน, คุณภาพของ review, เวลา onboarding |
| Efficiency and flow | งานไหลต่อไปได้โดยไม่ต้องหยุดและรอหรือเปล่า ทั้งของคนคนเดียวและทั้งระบบ | handoff, ความรู้สึกว่ายังอยู่ใน flow ได้, การถูกขัดจังหวะ และเวลาทั้งหมด เวลาที่เพิ่มคุณค่า และเวลารอตลอดทั้งระบบ |
คำแนะนำของ paper เรื่องการใช้ dimension เหล่านี้ (เรียบเรียงใหม่):
- ใช้หลาย dimension พร้อมกัน เลือก metric จากอย่างน้อยสาม dimension และอย่าเติมชุดให้ยาวขึ้นด้วยตัววัดแบบเดียวกัน: commit, pull request และเวลาเขียนโค้ดล้วนเป็น activity ทั้งหมด เพราะ metric ส่งผลต่อพฤติกรรม ชุดตัววัดที่ดึงกันเองอยู่บ้าง (ความเร็วที่มากขึ้น กับ bug ที่หลุดไปถึงลูกค้าน้อยลง) เลยกันไม่ให้ตัวไหนถูก optimize อยู่ตัวเดียว ใช้แค่ไม่กี่ตัวก็พอ เพราะรายการเป้าหมายยาว ๆ ทำให้คนสับสนและหมดแรง
- ความรู้สึกคู่กับข้อมูลจากระบบ ใส่ตัววัดแบบ perception อย่างน้อยหนึ่งตัว เช่นคำตอบจาก survey เพราะสิ่งที่คนเจอมักบอกสิ่งที่ instrumentation มองไม่เห็น ให้ถามคนถึงประสบการณ์ของตัวเอง (รู้สึกว่า productive ไหม, focus ได้ไหม) แทนการให้เขาให้คะแนนทีม
- ระดับและความเป็นส่วนตัว metric ตัวหนึ่งอาจบอกเรื่องของคนคนเดียว ของทีมหรือกลุ่ม หรือของทั้งระบบ ให้รายงานเป็นผลรวมแบบไม่ระบุตัวตนในระดับทีมหรือกลุ่ม (paper บอกว่าในบางประเทศ การรายงาน productivity รายคนผิดกฎหมาย) ข้อมูลรายคนมีประโยชน์กับ developer คนนั้นเอง ไม่ใช่มีไว้จัดอันดับ
- Bias ตรวจดูว่าอะไรทำให้ตัวเลขเบี้ยวได้บ้าง: การ normalize ตัวเลขตลอดช่วงเวลายาว ๆ จะลงโทษคนที่ลาเลี้ยงลูก และบางวัฒนธรรมก็ตอบ survey สูงหรือต่ำกว่าวัฒนธรรมอื่นอย่างเป็นระบบ คะแนนของแต่ละกลุ่มเลยมี baseline ต่างกัน และไม่ควรเอามาเทียบกันตรง ๆ
ตัว paper เชื่อม efficiency and flow ในระดับทีมและระบบเข้ากับ value stream mapping และยก deployment frequency กับ lead time ของ DORA เป็นตัวอย่างของตัววัด flow
DevEx (2023)
DevEx: What Actually Drives Productivity โดย Abi Noda (DX), Margaret-Anne Storey (University of Victoria), Nicole Forsgren (Microsoft Research) และ Michaela Greiler (DX) ตีพิมพ์ใน ACM Queue, vol. 21, no. 2 ในปี 2023 ตัว paper มอง developer experience ว่าเป็นสิ่งที่ developer เจอจริงในการทำงาน ตั้งแต่ความรู้สึกที่มีต่องาน ไปจนถึงความติดขัดที่เจอทุกวัน และต่อยอดจากงานวิจัยก่อนหน้าของผู้เขียน ที่พบ sociotechnical factor มากกว่า 25 ตัวอยู่เบื้องหลัง แล้ว paper ก็ย่อปัจจัยพวกนั้นลงเหลือสาม dimension:
- Feedback loops: เครื่องมือและคนตอบสนองต่อสิ่งที่ developer ทำได้เร็วและดีแค่ไหน ตั้งแต่ build และ test ไปจนถึง code review และ deployment ถ้า loop ช้า คนก็ต้องรอหรือสลับไปทำงานอื่น
- Cognitive load: แรงทางความคิดที่งานหนึ่งต้องใช้ โค้ดกับระบบที่มี documentation ไม่ดี และเครื่องมือที่กองเพิ่มขึ้นเรื่อย ๆ ทำให้มันสูงขึ้น
- Flow state: การจมอยู่กับงานที่ต้อง focus อย่างเต็มที่ การถูกขัดจังหวะ งานที่ไม่ได้วางแผนไว้ และ meeting ที่กระจัดกระจาย ทำให้มันขาดตอน
เครื่องมือเป็นแค่ส่วนหนึ่งของเรื่อง: paper รายงานว่า human factor เช่นเป้าหมายของ project ที่ชัดเจน และความรู้สึกปลอดภัยทางใจ (psychologically safe) ในทีม ก็มีผลมากเหมือนกัน
ในเรื่องการวัด ตัว paper จับคู่ข้อมูลสองแบบให้แต่ละ dimension: perceptions ของ developer (ทัศนคติและความเห็น ส่วนใหญ่มาจาก survey) และ workflows ของเขา (ข้อมูลจากระบบและ process) เพราะข้อมูลแต่ละแบบพลาดสิ่งที่อีกแบบเห็น code review อาจดูเร็วในข้อมูล แต่ยังรู้สึกว่ารบกวนอยู่ ถ้ามันคอยขัดจังหวะงานที่ต้อง focus อยู่เรื่อย ๆ เหนือขึ้นไปมี KPIs ไม่กี่ตัว คือผลลัพธ์แบบ north star ที่การปรับปรุงทั้งหลายตั้งใจจะขยับ เช่น productivity, satisfaction, engagement และ retention ตัว KPI ช่วยกันไม่ให้การแก้เฉพาะจุดหลอกตัวเอง: การตัด meeting อาจเพิ่มเวลา focus แต่ก็ยังทำร้าย collaboration และ satisfaction โดยรวมได้ เรื่อง survey ตัว paper แนะนำให้ใช้คำถามที่สร้างบนแนวคิดที่นิยามไว้ชัดและผ่านการทดสอบด้วยการสัมภาษณ์มาแล้ว, แยกผลตามทีมและตาม persona (role, อายุงาน, ระดับ seniority) แทนการอ่านเป็นค่าเฉลี่ยทั้งบริษัท, เทียบกับ benchmark เพื่อดูบริบท, ใช้ transactional survey สั้น ๆ ในจังหวะเฉพาะของ workflow และตามต่อหลัง survey ทุกครั้ง เพราะคนจะตอบน้อยลงถ้าไม่เห็นอะไรเกิดขึ้น สำหรับองค์กรส่วนใหญ่ ตัว paper แนะนำให้ทำ survey ทุกไตรมาสหรือทุกหกเดือน
ทั้งสองเกี่ยวกันยังไง และเกี่ยวกับ DORA ยังไง
- SPACE เลือกตัววัด ส่วน DevEx หาความติดขัด Acme ใช้ SPACE เลือก scorecard ที่สมดุลข้ามห้า dimension แล้วอ่าน survey ชุดเดียวกันผ่านสาม dimension ของ DevEx เพื่อตัดสินว่าจะแก้อะไร ทั้งสอง paper ขอให้ใช้ข้อมูล perception คู่กับข้อมูลจากระบบ
- DORA วัดผลลัพธ์ของ delivery metric ของ DORA บอกเรื่อง delivery process ของ service หนึ่ง: throughput (change lead time, deployment frequency, failed deployment recovery time) กับ instability (change fail rate, deployment rework rate) มันบอกว่า delivery ดีขึ้นหรือเปล่า แต่ไม่ได้บอกว่างานรู้สึกยังไง หรือ developer เสียเวลาไปตรงไหน หลายองค์กรเลยอ่านมันคู่กับ survey แบบ SPACE หรือ DevEx ส่วนคู่มือเรื่อง measurement framework ปี 2025 ของ DORA (Sarah D'Angelo, Ambar Murillo, Sarah Inman และ Kevin M. Storer) แนะนำให้เริ่มจากการตัดสินใจที่ตัวเลขควรช่วย, ชั่งน้ำหนักระหว่างข้อมูลที่คนรายงานเองกับข้อมูลจาก log (การรายงานเองจับประสบการณ์ได้ แต่ทำให้เป็นมาตรฐานและเทียบข้ามทีมได้ยาก ส่วน log ขยายได้ แต่ต้องมี instrumentation และไม่ได้ objective อย่างที่เห็น) และผสมหลาย framework เข้าด้วยกันเมื่อ framework เดียวตอบคำถามไม่ได้
- Framework แบบผสม DX บริษัทที่ Abi Noda ก่อตั้ง ออก DX Core 4 (โดย Abi Noda, Laura Tacho, Margaret-Anne Storey และ Michaela Greiler) ที่รวม DORA, SPACE และ DevEx เป็นสี่ dimension: speed, effectiveness, quality และ business impact ส่วน guidance ของมันเองก็เตือนว่า throughput metric ของมันอย่าง diffs per engineer ต้องมีตัววัดด้าน experience มาถ่วงไว้ และห้ามผูกกับเป้าหมายหรือรางวัลเด็ดขาด
- Goodhart's law ใช้กับทุกตัว: พอตัววัดไหนกลายเป็นเป้า มันก็เลิกเป็นตัววัดที่ดี ชื่อของแนวคิดนี้มาจากนักเศรษฐศาสตร์ Charles Goodhart ที่อธิบายมันไว้ในเรื่องนโยบายการเงินในปี 1975 ส่วนถ้อยคำที่คนส่วนใหญ่ยกมาอ้างกันมาจาก paper ปี 1997 ของนักมานุษยวิทยา Marilyn Strathern
ลงมือทำจริงยังไง
- เริ่มจากคำถามและการตัดสินใจ CTO ของ Acme อยากรู้ว่าทำไม engineer ที่เพิ่มมา 15 คนไม่ได้ทำให้เร็วขึ้นเลย ส่วนการตัดสินใจเบื้องหลังคือจะลงทุนตรงไหนในไตรมาสหน้า เขียนทั้งสองอย่างไว้ก่อนเลือก metric
- เลือกตัววัดไม่กี่ตัวจากอย่างน้อยสาม dimension ของ SPACE โดยมีอย่างน้อยหนึ่งตัวมาจาก survey และรายงานเป็นรายทีม Acme เลือกตัววัดจาก survey หนึ่งตัวกับจากระบบหนึ่งตัวให้ทั้งห้า dimension (ตารางด้านล่าง) และตกลงกันไว้ก่อนว่าจะไม่มีอะไรถูกรายงานเป็นรายคน
- ทำ survey สั้น ๆ แบบไม่ระบุตัวตนตามรอบที่แน่นอน Acme ทำทุกไตรมาสและให้ใช้เวลาราวสิบนาที คำถามถามถึงไม่กี่สัปดาห์ที่ผ่านมาของแต่ละคนเอง (รอ CI นานแค่ไหน, focus ได้กี่ชั่วโมง) และลองถามกับ engineer ไม่กี่คนก่อน ผลจะแสดงเป็นรายทีมและราย role เฉพาะที่มีคนตอบอย่างน้อยห้าคน ส่วนกลุ่มที่เล็กกว่านั้นจะถูกรวมกัน (กติกาของ Acme) และให้ติดตาม response rate ด้วย: ใน Q2 มีคนตอบ 52 จาก 60 คน
- ดึงข้อมูลจากระบบที่มีอยู่แล้ว เวลารัน CI จากระบบ CI (เช่น GitHub Actions, GitLab CI หรือ Jenkins), เวลารอ review จาก Git host, deploy จาก deploy log, page ตอนกลางคืนจาก paging tool และภาระ meeting จากข้อมูล calendar ที่รวมเป็นรายทีม จดไว้ว่าตัวเลขแต่ละตัวคำนวณยังไง และใช้วิธีเดิมทุกไตรมาส
- อ่านคำตอบผ่านมุมของ DevEx ในแต่ละ dimension ให้หาความติดขัดที่ใหญ่ที่สุด แล้วเช็กกับข้อมูลจากระบบ ตัว survey ของ Acme ชี้ไปที่ CI ที่ช้า (ปัญหาอันดับหนึ่งของ 31 จาก 52 คน), เครื่องมือห้าตัวที่ service ใหม่ต้องใช้ (ยากสำหรับ 27 จาก 52 คน) และ meeting ที่กระจัดกระจาย (focus ได้ 1.8 ชั่วโมงต่อวัน) แล้วข้อมูล CI ก็ตรงกัน: รอบละ 38 นาที
- แก้ไม่กี่เรื่อง โดยมีเจ้าของ ทีม platform ลด CI เหลือ 12 นาทีด้วย test sharding กับ build cache และทำให้ golden path ใน Launchpad เป็นวิธีเริ่ม service ใหม่ ส่วน engineering manager ก็ตกลงกันให้ช่วงเช้าไม่มี meeting
- ปิด loop แล้ววัดอีกรอบ Acme แชร์ผลของแต่ละทีมภายในสามสัปดาห์ บอกว่าจะเปลี่ยนอะไรและเมื่อไหร่ แล้วเทียบไตรมาสถัดไปกับไตรมาสนี้ (ตารางด้านล่าง)
- คอยดูตัวถ่วง พอการเปลี่ยนแปลงไหนช่วยตัววัดหนึ่ง ให้เช็กตัวที่มันอาจทำให้แย่ลง ช่วงเช้าที่ไม่มี meeting อาจทำให้ขอความช่วยเหลือยากขึ้น Acme เลยดู ขอความช่วยเหลือได้ง่ายแค่ไหน กับเวลารอ review แรก ส่วน CI ที่เร็วขึ้นอาจปล่อยให้ failure หลุดผ่านไปมากขึ้น Acme เลยดู change fail rate
ตัววัดของ Acme พร้อม baseline ของ Q2 2026 (ตัวเลขของตัวอย่างนี้เอง ไม่ใช่ผลวิจัย):
| SPACE dimension | ตัววัดจาก survey | ตัววัดจากระบบ |
|---|---|---|
| Satisfaction and well-being | ความพอใจในงาน: 3.1 จาก 5 | page ตอนกลางคืน: 14 ครั้งต่อเดือน |
| Performance | คะแนนคุณภาพของโค้ดที่ทีม ship: 3.2 จาก 5 | Change fail rate: 15% |
| Activity | เวลาเขียนโค้ดที่รายงานเอง: 14 h ต่อสัปดาห์ | Production deploy: 42 ครั้งต่อสัปดาห์ |
| Communication and collaboration | ขอความช่วยเหลือได้ง่ายแค่ไหน: 2.8 จาก 5 | รอ review แรก: 22 h (median) |
| Efficiency and flow | เวลา focus แบบไม่ถูกขัดจังหวะ: 1.8 h ต่อวัน (median) | CI รัน: 38 min (median) |
ไล่ทีละไตรมาส (ตัวเลขของตัวอย่างนี้เอง):
| Q1 2026 | Q2 2026 | Q3 2026 | |
|---|---|---|---|
| คนตอบ survey | ไม่มี survey | 52 จาก 60 | 55 จาก 60 |
| Satisfaction (1 ถึง 5) | ไม่ได้ถาม | 3.1 | 3.6 |
| CI รัน (median) | ไม่ได้เก็บ | 38 min | 12 min |
| ตั้ง service ใหม่ | ไม่ได้เก็บ | เครื่องมือ 5 ตัว | 1 template |
| เวลา focus ต่อวัน (median) | ไม่ได้ถาม | 1.8 h | 3.1 h |
| ขอความช่วยเหลือได้ง่ายแค่ไหน (1 ถึง 5) | ไม่ได้ถาม | 2.8 | 2.9 |
| รอ review แรก (median) | ไม่ได้เก็บ | 22 h | 20 h |
| Production deploy ต่อสัปดาห์ | 41 | 42 | 49 |
| Change fail rate | ไม่ได้เก็บ | 15% | 14% |
| อะไรเปลี่ยนไป | leaderboard รายคน ที่ถูกเสนอแล้วก็ถูกยกเลิก | survey ครั้งแรก แชร์ผลให้ทุกทีม | test sharding กับ build cache, golden path, ช่วงเช้าที่ไม่มี meeting |
อยู่ตรงไหนใน solution
- DORA metrics วัดสิ่งที่ออกมาจาก delivery pipeline ส่วน SPACE กับ DevEx วัดประสบการณ์และ productivity ที่อยู่เบื้องหลัง ให้อ่านไปด้วยกัน: deploy ของ Acme เพิ่มจาก 42 เป็น 49 ครั้งต่อสัปดาห์หลัง CI เร็วขึ้น และ change fail rate ก็บอกว่าความเสถียรยังอยู่
- Platform as a product ต้องการข้อมูลแบบนี้เลย developer survey คือวิธีที่ทีม platform รู้ว่าอะไรเจ็บ และตัววัดของ DevEx อย่างเวลารอ CI, แรงที่ต้องใช้ตอน setup และเวลา focus ก็บอกว่า platform ช่วยได้จริงไหม
- Golden paths เป็นคำตอบตรง ๆ ของ cognitive load: เครื่องมือห้าตัวสำหรับ service ใหม่ของ Acme กลายเป็น template เดียว
- Team Topologies ใช้ cognitive load ของทีมเป็นข้อจำกัดตอนวาดขอบเขตของทีม ส่วน DevEx ถามถึง load เดียวกันจากมุมของ developer แต่ละคน
- Eliminating toil คืนเวลาและความสนใจให้คน: งาน manual ที่ทำซ้ำ ๆ และ page ตอนกลางคืนจะโผล่มาเป็น flow ที่หายไปและ well-being ที่แย่ลง
- Continuous delivery กับ trunk-based development ทำให้ feedback loop สั้นลงด้วย CI ที่เร็วและ change เล็ก ๆ ที่ review ได้เร็ว
- The Three Ways อธิบาย flow, feedback และการเรียนรู้อย่างต่อเนื่อง ส่วน efficiency and flow ของ SPACE กับ feedback loops ของ DevEx ก็เป็นวิธีวัดสองข้อแรก
- Value stream mapping คือสิ่งที่ SPACE เองชี้ไปสำหรับ efficiency and flow ในระดับทีมและระบบ: มันแสดงว่างานไปรออยู่ตรงไหน
- CALMS นับ measurement เป็นหนึ่งในสิ่งที่ต้องประเมินตอนนำ DevOps มาใช้ ส่วน SPACE กับ DevEx ก็เติมเรื่อง measurement นั้นในฝั่งของ developer
ใช้ตอนไหนดี
- ตอนที่ผู้บริหารขอตัวเลข productivity scorecard ของ SPACE ให้คำตอบที่ไม่จัดอันดับคน และการอ่าน survey ชุดเดียวกันแบบ DevEx ก็เปลี่ยนมันเป็นรายการสิ่งที่ต้องแก้
- ก่อนและหลังลงทุนกับ tooling, platform หรือวิธีทำงาน CI ที่เร็วขึ้น, golden path หรือวิธี review แบบใหม่ ควรโผล่ให้เห็นทั้งในคำตอบและในข้อมูลจากระบบ ถ้าขยับแค่ฝั่งเดียว ให้ดูให้ละเอียดขึ้น
- ตั้งแต่ไม่กี่ทีมขึ้นไป ในทีมเดียวที่มีห้าหกคน retrospective ให้สัญญาณเดียวกันโดยลงแรงน้อยกว่า และถ้าผลชุดหนึ่งมาจากคนแค่ไม่กี่คน ก็ปกปิดตัวตนของคนตอบไม่ได้แล้ว
- ไม่ใช่เพื่อประเมินผลงานหรือกำหนดเงินเดือน พอคำตอบ survey หรือจำนวน activity ถูกเอาไปใช้ประเมินรายคน คนก็เลิกตอบตามจริงและเริ่มปั่นตัวเลข
- ตกลงกติกากันก่อน ในที่ที่กฎหมายความเป็นส่วนตัวหรือตัวแทนพนักงานมีสิทธิ์มีเสียง SPACE บอกไว้ว่าในบางประเทศ การรายงาน productivity รายคนผิดกฎหมาย ตกลงให้ชัดว่าจะเก็บอะไร รวมผลยังไง และใครเห็นได้บ้าง ก่อนที่ survey ครั้งแรกจะถูกส่งออกไป
- ทำก็ต่อเมื่อมีคนจะลงมือทำตามผล survey กินเวลาของ engineer ทุกคนทุกไตรมาส (ราวสิบนาทีคูณ 60 คนที่ Acme) และการตามต่อก็ต้องมีเจ้าของ ถ้าไม่มีใครลงมือทำอะไร survey ก็จะสอนคนว่าตอบไปก็ไม่มีประโยชน์
กับดักที่เจอบ่อย
- จัดอันดับรายคน leaderboard และคะแนน survey รายคนลงโทษคนที่ review, pairing, เป็น mentor และถือ pager แล้วยังชวนให้ปั่นตัวเลข และทำให้ไม่มีใครตอบตามจริงอีก ให้คำตอบไม่ระบุตัวตน, รายงานเป็นรายทีมโดยมีขนาดกลุ่มขั้นต่ำ (ของ Acme คือห้าคน) และปล่อยข้อมูลรายคนไว้ให้คนที่มันพูดถึง
- ตัวเลขเดียวแทน productivity ตัว index ที่เฉลี่ยทุกอย่างเป็นคะแนนเดียว อย่าง 72 ใน board deck ของ Acme จะซ่อนว่า dimension ไหนขยับและเพราะอะไร และชวนให้ไป optimize ตัว index แทน ให้แสดง dimension วางคู่กัน แล้วคุยกันว่าอะไรเปลี่ยนไป
- Survey ที่ไม่มีใครทำอะไรต่อ พอผลหายไปเฉย ๆ คนก็ตอบน้อยลง (ทีม search ลดจาก 6 คำตอบเหลือ 2) และถ้าต่ำกว่าขนาดกลุ่มขั้นต่ำ ทีมก็จะไม่ได้ผลเลย แชร์ผลภายในไม่กี่สัปดาห์, รับปากว่าจะแก้หนึ่งหรือสองเรื่อง และบอกใน survey รอบถัดไปว่าอะไรเปลี่ยนไปแล้ว
- เทียบทีมที่ทำงานต่างกัน payments ต้องรอ PCI approval ส่วน mobile app ต้องรอ app store review คะแนนของสองทีมนี้เลยสะท้อนตัวงานพอ ๆ กับตัวทีม ให้เทียบแต่ละทีมกับอดีตของตัวเอง และใช้ benchmark แค่ดูบริบท
- มีแค่ข้อมูล survey หรือแค่ข้อมูลจากระบบ กราฟ CI ของ Acme บอก 12 นาที ขณะที่คำตอบบอกว่า flaky test ทำให้ต้องรันซ้ำ ในทางกลับกัน survey อย่างเดียวก็บอกไม่ได้ว่า CI ใช้เวลานานแค่ไหน หรือการรออยู่ตรงไหน ให้อ่านข้อมูลแต่ละแบบเทียบกับอีกแบบ แล้วขุดลงไปตรงที่มันไม่ตรงกัน
- เปลี่ยนตัววัดให้เป็นเป้า เป้าที่ตั้งไว้กับ commit, deploy หรือคะแนน satisfaction ชวนให้ขยับตัวเลขแทนตัวงาน (Goodhart's law) ให้ตั้งเป้าที่ความติดขัดที่จะกำจัด แล้วใช้ตัววัดเช็กว่ามันหายไปจริงไหม
- วัดเยอะเกินไป survey ยาว ๆ และ dashboard ที่มีกราฟเป็นสิบ ๆ ทำให้คนเหนื่อยและกลบสัญญาณ เก็บตัววัดไว้แค่ไม่กี่ตัว และใช้ survey ที่คนทำเสร็จได้ในราวสิบนาที
- มองข้าม bias และบริบท ไตรมาสที่ incident เยอะหรือมีการปรับโครงสร้างองค์กร, การลายาว หรือกลุ่มที่ตอบ survey แบบถ่อมตัวกว่า ล้วนทำให้ตัวเลขขยับ อ่านตัวเลขพร้อมบริบทของมัน และให้คำถามกับนิยามคงที่ไว้ trend จะได้มีความหมาย