Posts

Showing posts with the label Agile

CI คืออะไร?

Image
CI ย่อมาจากคำภาษาอังกฤษว่า " Continuous Integration " แปลเป็นภาษาไทยอย่างตรงตัวได้ว่า "การบูรณาการอย่างต่อเนื่อง " หลายคนอ่านคำแปลแล้วก็ยังคงงงต่อไป เนื่องจากมันไม่ได้ตอบคำถามว่า CI คืออะไร ก่อนจะพูดถึง CI เราลองมานึกถึงการทำซอฟต์แวร์แบบเก่าๆ กันก่อน เมื่อพูดถึงกระบวนการพัฒนาซอฟต์แวร์ ทุกตำราต้องกล่าวถึงตำนานอันยิ่งใหญ่ของ Waterfall Model อย่างขาดไม่ได้ ขั้นตอนต่างๆ ของ Waterfall Model ประกอบไปด้วย การเก็บความต้องการของผู้ใช้ นำความต้องการที่ได้มาออกแบบให้เป็นระบบ ลงมือพัฒนาระบบ นำทุกระบบมารวมกัน ทดสอบ และแก้ไขข้อผิดพลาดจากการทำงาน นำระบบไปติดตั้ง ใช้งานจริง บำรุงรักษาระบบ ข้อเสียอย่างหนึ่งของ Waterfall Model คือ กระบวนการต่างๆ ย้อนกลับไม่ได้ เฉกเช่นเดียวกับน้ำตก ที่ไม่สามารถไหลย้อนกลับได้ ฉันใดฉันนั้น ดังนั้น เมื่อเกิดข้อผิดพลาดในขั้นตอนการรวมทุกระบบเข้าด้วยกัน ก็เกือบจะสายเกินไปแล้ว เพราะอาจทำให้เราต้องออกแบบระบบใหม่ตั้งแต่ต้นเลยก็เป็นได้ ผมเคยเจอข้อสอบถามประมาณว่า ทำไมการเจอข้อผิดพลาดในการทำงานของซอฟต์แวร์ก่อน จึงเสียค่าใช้จ่ายในการแก้ไขน้...