กระบวนการ Extreme Programing
กระบวนการ Extreme Programing คือกฎระเบียบการทำงานพัฒนาซอฟต์แวร์ ที่จะเน้นความสนใจไปที่คนในทีมทั้งหมด เพื่อมุ่งไปสู่เป้าหมายเดียวกันโดยการผ่านหลักการคุณค่าของ Extreme Programing
กระบวนการ Extreme Programing มีกระบวนการดังนี้
การวางแผน
- การวางแผนเริ่มต้นด้วยการสร้างชุดของเรื่องเล่า หรือเรื่องเล่าของผู้ใช้งาน (Story or User Stories) ที่อธิบายหน้าที่การทำงานและลักษณะของซอฟท์แวร์ที่ผู้ใช้ต้องการ
- ลูกค้ากำหนดคุณค่าหรือความสำคัญให้กับแต่ละเรื่องจากนั้นทีม XP กำหนดและประเมินค่าใช้จ่าย (Cost) ในแต่ละเรื่อง
- ลูกค้าและทีม XP ร่วมกันตัดสินใจทำข้อตกลงพื้นฐาน (เรื่องที่จะทำ วันส่งมอบ และอื่นๆ)
การออกแบบ
-
XP ทำการออกแบบตามหลัก KIS (Keep it simple) โดยออกแบบที่ธรรมดาก่อนออกแบบที่ซับซ้อน
-
ถ้ามีปัญหาการออกแบที่ยากลำบากสำหรับเรื่องเล่าใด XP แนะนำให้สร้างต้นแบบที่ทำงานได้จริงของส่วนนั้นโดยทันที (Spike Solution) เพื่อลดความเสี่ยงเมื่อการ Implement เริ่มขึ้นจริงๆ
-
งานออกแบบใน XP จะเกิดขึ้นทั้งก่อนและหลังการเขียน code เริ่มต้นขึ้น
การเขียน Code
- XP แนะนำว่าเมื่อมีเรื่องเล่าและงานออกแบบขั้นต้นแล้ว ไม่ควรเริ่มเขียน Code ในทันที แต่ควรพัฒนาชุดของตัวทดสอบระดับหน่วยที่จะทำงานกับเรื่องเล่าที่จะสร้างขึ้นก่อน
- เมื่อตัวทดสอบระดับหน่วยได้ถูกสร้างขึ้นเเล้ว นักพัฒนาควรมุ่ง Implement ซอฟต์แวร์ให้ทำงานผ่านการทดสอบได้
- เเนวคิดสำคัญในการเขียน Code เป็นที่รู้จักกันดีกว่า เป็นการทำงานแบบ XP เรียกว่าการโปรแกรมเป็นคู่ (Pair Programing) XP แนะนำให้คนสองคนทำงานร่วมกันสำหรับการ Code เรื่องเล่าเรื่องหนึ่งๆ โดยนั่งทำบนคอมพิวเตอร์เครื่องเดียวกัน อันเป็นกลไกที่จะช่วยแก้ไขปัญหาเฉพาะหน้า และการควบคุมคุณภาพเฉพาะหน้า
การทดสอบ
-
ตัวทดสอบระดับหน่วยเกิดขึ้นก่อนการเขียน Code
-
ตัวทดสอบควร Implement ด้วยเครื่องมือที่ช่วยให้ทำงานได้โดยอัตโนมัติ เพื่อส่งเสริมกลยุทธ์การทดสอบเชิงถดถอย (Regression Testing)
-
การทดสอบการยอมรับของ XP เรียกว่า การทดสอบของลูกค้าด้วย
-
ตัวทดสอบกำหนดมาโดยลูกค้า และทดสอบหน้าที่การงานและลักษณะของระบบโดยรวมที่ลูกค้ามองเห็นได้
กระบวนการ Extreme Programing หมายถึงกระบวนการการวางงเเผนงานสำหรับในทีมเพื่อให้ผลิตซอฟต์แวร์ออกมาได้ตรงตามความต้องการของลูกค้า และการวางแผนงานแบบ Extreme Programing จะเน้นไปทางทีมเป็นหลักเพื่อให้งานที่ได้มานั้นมีปัญหาน้อยที่สุด
ช่องทางการศึกษาเพิ่มเติมข่าวสารที่น่าสนใจเกี่ยวกับ : บทความทั่วไป