เครื่องมือพัฒนาซอฟต์แวร์ไม่ได้ทำให้ทีมทำงานเร็วขึ้น
เครื่องมือไม่ได้ทำให้ทีมทำงานเร็วขึ้น
ทีมที่ทำงานได้รวดเร็วเกิดจากบุคลากร ความชัดเจน และกระบวนการทำงาน เครื่องมือไม่สามารถสร้างสิ่งเหล่านี้ขึ้นมาได้
เครื่องมือที่ใช่ทำหน้าที่เพียงอย่างเดียว นั่นคือการหยุดทำให้ทีมทำงานช้าลง
ทีมวิศวกรรมหลายทีมตกอยู่ในวงจรที่ผิดพลาด พวกเขารู้สึกว่าทำงานช้า จึงซื้อเครื่องมือใหม่ ติดตามตัวชี้วัด (metrics) แต่ผลลัพธ์ที่ได้ยังไม่ชัดเจน พวกเขาจึงสรุปว่าเครื่องมือนั้นไม่ดีพอแล้วก็ซื้อเพิ่มอีก
แนวทางนี้เป็นวิธีที่ผิด คุณไม่ควรหาเครื่องมือเพื่อเพิ่มความเร็ว แต่คุณควรหาเครื่องมือเพื่อลดแรงเสียดทาน (friction)
หากคุณมองหาความเร็ว คุณจะซื้อเครื่องมือที่มีฟีเจอร์มากมายและมีคะแนนทดสอบ (benchmarks) สูง เครื่องมือเหล่านี้มักจะซับซ้อน ต้องใช้ความเชี่ยวชาญเฉพาะด้าน และสร้างแรงเสียดทานใหม่ๆ ขึ้นมา
หากคุณมองหาการลดแรงเสียดทาน คุณจะเลือกซื้อเครื่องมือที่ดูเรียบง่าย (boring tools) คุณจะมองหาเครื่องมือที่ทำหน้าที่อย่างใดอย่างหนึ่งได้ดีเยี่ยม สามารถทำงานร่วมกับ stack ปัจจุบันของคุณได้ และต้องการการดูแลรักษาต่ำ
แรงเสียดทานที่มีต้นทุนสูงที่สุดไม่ได้อยู่ใน IDE หรือแพลตฟอร์ม CI ของคุณ แต่มันอยู่ในช่องว่างระหว่างเครื่องมือเหล่านั้น
นักพัฒนาเขียนโค้ด ส่ง commit (push a commit) จากนั้น CI pipeline ก็ทำงาน และผลลัพธ์ก็ปรากฏในแอปแชท ทุกครั้งที่มนุษย์ต้องคอยย้ายข้อมูลระหว่างเครื่องมือเหล่านี้ พวกเขาจะเสียเวลาไปโดยเปล่าประโยชน์
เลิกประเมินเครื่องมือแบบแยกส่วน แรงเสียดทานไม่ได้อยู่ในเครื่องมือใดเครื่องมือหนึ่ง แต่มันอยู่ระหว่างเครื่องมือเหล่านั้น
เมื่อคุณเลือกเครื่องมือ ให้ถามคำถาม 4 ข้อนี้:
- ทีมเสียเวลาไปกับจุดไหนกันแน่?
- เครื่องมือที่จำเป็นน้อยที่สุดในการแก้ปัญหาการเสียเวลานั้นคืออะไร?
- เครื่องมือนี้ทำงานร่วมกับสิ่งที่เราใช้อยู่แล้วได้หรือไม่?
- เมื่อระบบของเราขยายใหญ่ขึ้น เครื่องมือนี้จะต้องใช้การดูแลรักษามากน้อยเพียงใด?
หลีกเลี่ยงการใช้เครื่องมือที่มากเกินความจำเป็น (tool sprawl) การมีเครื่องมือมากเกินไปเพื่อแก้ปัญหาเดียวกันจะสร้างความวุ่นวาย ทำให้การรับพนักงานใหม่ (onboarding) ทำได้ยาก และทำให้การตอบสนองต่อเหตุการณ์ผิดปกติ (incident response) ล่าช้าลง
เครื่องมือที่ดีที่สุดคือเครื่องมือที่ "ล่องหน" คือทำงาน รายงานผล และไม่ขัดจังหวะการทำงานของคุณ หากเครื่องมือใดต้องคอยดูแลตลอดเวลาเพียงเพื่อให้มันยังทำงานได้ตามปกติ แสดงว่ามันไม่ได้ช่วยอะไรคุณเลย
เลิกซื้อฟีเจอร์ แต่เริ่มจากการลดแรงเสียดทาน
