GreedisGoods » Business » Technical Debt หนี้ทางเทคนิคที่ตามหลอกหลอนคุณในอนาคต

Technical Debt หนี้ทางเทคนิคที่ตามหลอกหลอนคุณในอนาคต

by Kris Piroj
Technical Debt คือ หนี้ทางเทคนิค ตัวอย่าง Technical Debt Technical Burden

ในทางเศรษฐศาสตร์การเลือกทำอะไรบางอย่างเท่ากับเราจะไม่ได้ทำอะไรอย่างอื่นเป็นต้นทุน แต่สำหรับ Technical Debt การเลือกบางอย่างก็อาจมีปัญหาตามมาได้เช่นกันถ้าหากเลือกทางนั้นแล้วละเลยสิ่งสำคัญบางอย่าง

Technical Debt คืออะไร?

Technical Debt คือ หนี้ทางเทคนิค ที่เกิดจากการปล่อยปัญหาบางอย่างทิ้งไว้ซึ่งอาจเกิดจากปัญหาที่ไม่รู้หรือรู้อยู่แล้ว (แต่โดยทั่วไปเกิดจากความละเลย) ถ้าหากยิ่งปล่อยไว้นาน Technical Debt ดังกล่าวก็จะยิ่งแก้ได้ยากมากขึ้น เหมือนกับดอกเบี้ยที่ปล่อยไว้ยิ่งนานดอกเบี้ยทบต้นยิ่งมากขึ้น

คำว่า Technical Debt เป็นคำที่เริ่มต้นใช้กันมาจากทางฝั่ง Programmer ในการพัฒนา Software โดย Ward Cunningham ได้ใช้คำว่า Technical Debt อธิบายถึงปัญหาทางเทคนิคเมื่อปี 1992 แต่ในบทความนี้เราจะมาพูดถึง Technical Debt ในมุมของธุรกิจ

สำหรับสาเหตุที่ทำให้เกิด Technical Debt ตามปกติจะเกิดจากขั้นตอนการพัฒนาที่เกิดการละเลยอะไรบางอย่าง ซึ่งตามปกติจะสามารถสรุปได้ 2 สาเหตุ คือ

  • ทำแบบขอไปทีให้จบ ๆ ไป จนทำให้ละเลยอะไรบางอย่าง
  • รู้ปัญหาที่เกิด แต่ซุกปัญหาไว้ใต้พรมต่อไป (หรือยอมเจอปัญหาดังกล่าวในอนาคต)

ผลจาก Technical Debt คือการที่ในอนาคตธุรกิจจะต้องแก้ปัญหาที่ทิ้งไว้ (เหมือนการจ่ายหนี้) ซึ่งในหลายกรณีถ้าหากทิ้งปัญหาเอาไว้นานปัญหาก็จะยิ่งซับซ้อนมากขึ้น ทำให้ในอนาคตธุรกิจจะต้องเสียเวลาส่วนหนึ่งในการแก้ปัญหาเหล่านั้น แทนที่จะนำเวลาและทรัพยากรที่มีไปพัฒนาสิ่งใหม่

สรุปแบบง่าย ๆ Technical Debt คือหนี้ที่เกิดจากการละเลยในขั้นตอนการสร้างอะไรบางอย่าง ซึ่งจะกลายมาเป็นปัญหาในอนาคตนั่นเอง

ตัวอย่างของ Technical Debt

ตัวอย่าง Technical Debt ที่ง่ายที่สุดสำหรับคนทั่วไปที่ไม่ใช่ Software Developer คือหนี้ทางเทคนิคของการสร้างบ้านด้วยรากฐานที่ไม่มั่นคงแข็งแรงหรือสร้างบ้านที่ไม่ได้มาตรฐานเพราะต้องรีบสร้างให้เสร็จ (หรือต้องการกดค่าใช้จ่ายให้ต่ำที่สุด)

แน่นอนว่าทั้ง 2 กรณีคุณจะได้บ้านให้อยู่อาศัย และภายนอกของบ้านหลังนี้ก็ไม่ได้ต่างอะไรจากบ้านหลังอื่น

แต่เมื่อเวลาผ่านไปคุณอาจพบว่าบ้านทรุดอย่างรวดเร็วหรือมีปัญหาจุกจิกตามมาไม่จบสิ้น ซึ่งหนี้ของการที่สร้างบ้านด้วยความละเลยหรือ Technical Debt คือการที่คุณจะต้องซ่อมไปเรื่อย ๆ แบบไม่จบสิ้น หรือในกรณีที่บ้านทรุดคุณอาจจะต้องสร้างบ้านหลังใหม่ทั้งหลังเพื่อแก้ปัญหาดังกล่าว

อีกตัวอย่างสำหรับที่ใครยังไม่เห็นภาพ ให้คุณนึกถึงเกม Tetris (หรือถ้าใครไม่เคยเล่นลองหามาเล่น)

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

แต่เมื่อยิ่งปล่อยไว้นานพื้นที่เล่นที่น้อยลงจะทำให้คุณเล่นได้ยากขึ้นเรื่อย ๆ ซึ่งพื้นที่ที่น้อยลงนี้เองเทียบได้กับ Technical Debt ที่คุณต้องจ่ายมากขึ้นเรื่อย ๆ

Technical Debt คืออะไร ตัวอย่าง
Tetris

แต่บางครั้งเราก็เลี่ยงไม่ได้

อย่างไรก็ตาม ในบางครั้ง Technical Debt ก็อาจจะเป็นสิ่งที่ยากจะเลี่ยงได้ หรืออาจจะต้องยอมรับ Technical Debt ที่รู้ว่าจะเกิดอย่างเลี่ยงไม่ได้ ซึ่งจะเกิดขึ้นในกรณีที่ต้องรีบคว้าโอกาสเอาไว้ในขณะที่ผลิตภัณฑ์ยังไม่สมบูรณ์

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

ส่งผลให้ทางเลือกของบริษัทมีอยู่ 2 ทางเลือก คือ

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

ในกรณีที่เป็นสินค้าที่ใหม่ต่อตลาด (ยังไม่มีใครทำมาก่อน) ถ้าหากธุรกิจเลือกทางเลือกแรกแล้วเกิดมีคู่แข่งที่สร้างผลิตภัณฑ์แบบเดียวกันปรากฏตัวขึ้นมาเปิดตัวตัดหน้า ปัญหาที่เกิดขึ้นคือการไม่ได้ทำอะไรจะทำให้เกิดค่าเสียโอกาส (Opportunities Cost) ตามมา โดยเฉพาะในกรณีที่มีคู่แข่ง ยิ่งคู่แข่งได้ประโยชน์ไปมากเท่าไหร่ยิ่งทำให้ค่าเสียโอกาสมากขึ้นเท่านั้น

ทั้งหมดจึงเป็นเหตุผลว่าทำไมในบางกรณีธุรกิจจำเป็นที่จะต้องยอมรับ Technical Debt ที่รู้ว่าจะเกิดขึ้นแน่ ๆ ในอนาคต

บทความที่เกี่ยวข้อง