อ่านเจอ tweet เรื่อง under-engineering และ over-engineering
ในการพัฒนาระบบงานว่ามีอะไรบ้าง
จึงนำมาจดไว้กันลืมหน่อย
มาดูกันว่า เรานั้นทำกันอยู่ไหม ?

กลุ่มแรก Under-engineering

  • ไม่มี CI/CD
  • ทำ manual deploy
  • ทำ manual testing
  • ไม่มีการ review หรือ review ไม่บ่อย
  • ขาดการทำการตรวจสอบต่าง ๆ ด้วย automation
  • ทำ hard code
  • ระบบงานเป็นแบบ tight coupling
  • ทำการ copy and paste บ่อย ๆ

กลุ่มสอง Over-engineering

  • เริ่มต้นมาก็จะ microservices หรือ microfrontend
  • ทำการ optimized ในทุก ๆ จุด ตั้งแต่เริ่ม
  • ต้อง 100% test coverage นะ สำหรับการทดสอบแบบอัตโนมัติ
  • สร้างทุกอย่างตั้งแต่เริ่มต้น ทั้ง ๆ ที่มีของให้ใช้อยู่แล้ว (แต่ต้องเข้าใจก่อนใช้นะ)
  • feature มั่วไปหมด ไร้ซึ่งเป้าหมาย มีให้เยอะ ๆ เข้าไว้

ใครมีเรื่องอะไรเพิ่มเติม บอกได้นะครับ