ในยุคที่ความสนใจและความต้องการของคนเปลี่ยนแปลงไปอย่างรวดเร็ว จะทำอย่างไรให้การพัฒนาซอฟต์แวร์และผลิตภัณฑ์ มีความรวดเร็วและมีประสิทธิภาพ ไม่ใช้เวลานานจนเกินไป ที่กว่าจะเปิดตัวผลิตภัณฑ์ได้ เทรนด์ในตลาดก็เปลี่ยนไปแล้ว จากสถานการณ์ดังกล่าว ทำให้เมื่อไม่กี่ปีที่ผ่านมา Agile Methodology จึงกลายเป็นแนวคิดที่หลายแห่งนำมาใช้ เพื่อพัฒนาผลิตภัณฑ์ให้เกิดขึ้นอย่างรวดเร็วและปรับเปลี่ยนได้ตามความต้องการที่เปลี่ยนไป โดยหลักการคร่าวๆ คือเป็นการแบ่งงานชิ้นใหญ่ออกเป็นชิ้นย่อยๆ เพื่อให้ส่งมอบงานตามกรอบเวลาสั้นๆ (Sprint) แทนการพัฒนาให้เสร็จทีเดียวแล้วค่อยส่งมอบ (Waterfall) แต่แนวคิดย่อมต้องมาคู่กับแนวทางปฏิบัติเพื่อให้การทำงานมีประสิทธิภาพ Technical Excellence คือแนวทางปฏิบัติตามแนวคิด Agile เพื่อพัฒนาซอฟต์แวร์ให้มีคุณภาพมากที่สุด และวางกระบวนการพัฒนาที่เป็นมาตรฐานเดียวกัน เพื่อลดข้อจำกัดในการทำงานของทีมให้เหลือน้อยลงที่สุด ทำไม Technical Excellence ถึงจำเป็น? โดยทั่วไปแล้ว นักพัฒนาแต่ละคนมักจะมีแนวทางการเขียน Code ที่แตกต่างกัน เมื่อหลายคนต้องมาทำโปรเจกต์ร่วมกัน การไม่ได้กำหนดมาตรฐานการเขียน Code ให้เป็นรูปแบบเดียวกัน จึงอาจก่อให้เกิดปัญหาเรื่องคุณภาพ Code เช่น สปาเก็ตตี้โค้ด (Spaghetti Code) ซึ่งหมายถึง code ที่เขียนขึ้นแบบไม่มีตรรกะ ไม่มีหลักเกณฑ์ ไม่มีระเบียบ กลายเป็น Code ที่ยาวเหยียดพันกันยุ่งเหยิงเหมือนเส้นสปาเก็ตตี้ในชาม ทำให้ไม่สามารถแยกส่วนการทำงานออกจากกันได้ กลายเป็นปัญหาเมื่อคนอื่นต้องรับช่วงไปทำต่อ การตรวจสอบ […]