เป็นคำถามที่น่าสนใจว่า การ Refactor code ควรหรือไม่ ที่จะอยู่ใน backlog
บ่อยครั้งเราจะพบว่า

  • ทำ ๆ ให้มันเสร็จไปก่อน เดี๋ยวไม่ทันส่ง
  • เดี๋ยวเราค่อยกลับมาแก้ไขให้มันดีขึ้นกัน

รู้ทั้งรู้ว่า มันไม่ดี ก็ยังทำกันลงคอ
แถมจะทำให้มันดีขึ้นก็ไม่ยาก
แต่เรามักจะให้มัน delay ไปอีก
แบบนี้คือหนึ่งในวิธีการสร้าง technical debt หรือหนี้ทางเทคนิคขึ้นมาเรื่อย ๆ

ดังนั้นเรามักจะเห็นว่าใน backlog ของหลาย ๆ product
อาจจะมีงานใบโต ๆ หรือ เล็ก ๆ เขียนว่า recfactor/improvement code !!
และมักจะมี priority ต่ำ ๆ ด้วย
นั่นคือ ไม่ถูกนำมาเข้าทำงานสักที !!
หรือพอนำเข้ามาทำงาน ก็ต้องใช้เวลา ความพยายาม และ คนเยอะมาก ๆ
แบบนี้ดีไหมนะ ?
มันคือ การเพิ่มงานโดยไม่จำเป็นหรือไม่ ? น่าคิดนะ

ดังนั้นแทนที่จะรอ refactor ให้เปลี่ยนมา refactor code อย่างต่อเนื่อง
แบบทีละเล็กละน้อย หรือ ทำให้ดีขึ้นเรื่อย ๆ ดีกว่าไหม

จะเรียกว่า Continuous Rectoring

ไม่ต้องมาดู code เยอะ ๆ
ไม่ต้องมาเสียเวลาเยอะ
ลงมือทำทันที fix it now vs fix it later !!
น่าจะทำให้การเพิ่มหรือแก้ไข feature ในระบบงานง่ายขึ้นไหม

แนวคิดหลัก ๆ พยายามลด ไม่ใช้พยายามสร้าง