อ่านเจอ 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 มั่วไปหมด ไร้ซึ่งเป้าหมาย มีให้เยอะ ๆ เข้าไว้
ใครมีเรื่องอะไรเพิ่มเติม บอกได้นะครับ