Site icon PlusMagi's Blog By Pitt Phunsanit

Technical Debt

Technical Debt ( หนี้ทางเทคนิค ) เปรียบเสมือนการ “กู้ยืมเงิน” ในโลกของการพัฒนาซอฟต์แวร์ เรายอมเลือกวิธีที่ทำได้เร็วและง่ายในวันนี้ ( Quick and Dirty ) เพื่อให้ส่งมอบงานได้ทันเวลา โดยแลกกับการที่เราต้องกลับมา “จ่ายดอกเบี้ย” ในรูปแบบของการแก้ไขโค้ดหรือการบำรุงรักษาที่ยากลำบากขึ้นในอนาคต หากเราบริหารจัดการไม่ดี ดอกเบี้ยจะพอกพูนจนทำให้การพัฒนาฟีเจอร์ใหม่ ๆ ช้าลง หรือส่งผลให้ระบบล่มได้ในที่สุด


ประเภทของ Technical Debt

เราสามารถแบ่งหนี้ทางเทคนิคออกเป็น 4 รูปแบบหลักตาม Technical Debt Quadrant ของ Martin Fowler

ประเภทคำอธิบาย
Reckless & Deliberateรู้อยู่แล้วว่าผิดแต่ยังทำ เช่น “เราไม่มีเวลาเขียน Test เขียนโค้ดส่งไปก่อนเลย”
Prudent & Deliberateรู้ว่าเป็นหนี้แต่จำเป็น เพื่อทดสอบตลาด ( MVP ) และมีแผนจะกลับมาแก้ในภายหลัง
Reckless & Inadvertentเกิดจากความไม่รู้ เช่น ทีมขาดทักษะจนเขียนโค้ดที่ไม่มีโครงสร้างที่ดีโดยไม่ได้ตั้งใจ
Prudent & Inadvertentเกิดจากการเรียนรู้ภายหลัง เมื่อเขียนเสร็จเพิ่งเข้าใจว่ามีวิธีออกแบบที่ดีกว่านี้

สาเหตุที่ทำให้เกิด Technical Debt


สัญญาณเตือนว่า “หนี้” กำลังล้นมือ


วิธีบริหารจัดการ Technical Debt

หนี้ไม่ใช่เรื่องเลวร้ายเสมอไป หากมีการจัดการที่ถูกต้อง

ข้อคิดสำคัญ: การไม่มี Technical Debt เลยอาจหมายถึงคุณทำงานช้าเกินไปจนเสียโอกาสทางธุรกิจ แต่การมีหนี้มากเกินไปก็อาจทำให้ธุรกิจล่มสลายได้ กุญแจสำคัญคือ “การสร้างหนี้ที่ควบคุมได้ และมีแผนการชำระคืนอย่างสม่ำเสมอ”


อ่านเพิ่มเติม

Exit mobile version