สิ่งที่น่าสนใจในการพัฒนาและส่งมอบให้เร็วพร้อมกับคุณภาพที่สูงนั้น
เป็นคำถามที่น่าสนใจมาก ๆ
แน่นอนว่า เราอาจจะพบเจอปัญหาต่าง ๆ มากมาย
ไม่ว่าจะเป็นปัญหาคอขวดในการทำงาน
ไม่ว่าจะเป็นข้อจำกัดต่าง ๆ ของขั้นตอนการทำงาน
เราควรต้องทำอย่างไรดี ?

สิ่งที่ควรจะทำคือ การปรับปรุงสิ่งพื้นฐานต่าง ๆ เหล่านี้
แบบค่อยเป็นค่อยไปอย่างต่อเนื่อง

เรื่องที่ 1 Repository ในการจัดเก็บ source code

เหมือนจะไม่มีผลมากนัก
ระหว่างการแยกในส่วนงานต่าง ๆ เป็น repository ออกจากกัน
หรือควรรวมกันก่อนนะ
ลองคิดดูสิว่า ปัจจุบันทำอย่างไรและมีปัญหาอะไรบ้าง

เรื่องที่ 2 การเขียน code ที่ดี รวมทั้งการ review ที่เป็นประจำ

ปัญหาที่นักพัฒนาเจอทุกคนคือ code ที่เข้าใจได้ยาก
หรือบางครั้งเขียนวกวนไปมา เอาจนงง
แม้กระทั่ง debug แล้วยังไม่เข้าใจ

ดังนั้นแทนที่จะใช้เวลาในการทำความเข้าใจนาน ๆ
มาฝึกเขียน code ที่เข้าใจได้ง่ายในบริบทของทีมนะครับ
รวมทั้งมีการ review code บ่อย ๆ
น่าจะทำให้วันนี้ดีขึ้นเรื่อย ๆ ไหมนะ

เรื่องที่ 3 Local Development ที่ดีและรวดเร็ว

ปัญหาที่เจอบ่อย ๆ มาก คือ เรื่องของ environment
ทั้งการพัฒนา
ทั้งการทดสอบ
ทำงานช้า ขั้นตอนเยอะ ส่งผลให้ได้ feedback ช้ามาก ๆ
ดังนั้นควรแก้ไขให้ทุกคนในทีม
สามารถมี local development environment ที่ได้ feedback เร็ว ๆ
รวมทั้งเป็น environment ที่คล้ายหรือเหมือนจริงมากที่สุด
และสามารถทำซ้ำ ๆ ได้อีกด้วย

เรื่องที่ 4 ระบบ CI/CD ที่ดี และมีประสิทธิภาพ

เรื่องของ CI/CD นั้นเป็นแนวปฏิบัติที่ดี
และควรนำมาใช้งานในการพัฒนาและส่งมอบระบบงานเสมอ
แต่มักจะพบว่า CI/CD นั้นมักจะทำงานช้า มี error เพียบ
รวมทั้งผ่านบ้าง ไม่ผ่านบ้าง โดยที่ต้นเหตุไม่ซ้ำกันเลย
ทั้งการ build
ทั้งการ test
ทั้งการ deploy
ทำให้ระบบไม่น่าเชื่อถือเลย
อาจจะส่งผลให้เลิกใช้งานไปในที่สุด
ดังนั้นเราควรต้องปรับปรุงให้ CI/CD ทำงานรวดเร็วและเสถียรขึ้น

แน่นอนว่า นี่เป็นเพียงพื้นฐานที่ควรจะต้องมีและดีด้วย

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

ลงมือทำและปรับปรุงอย่างต่อเนื่องนั่นคือ หัวใจหลักครับ