Extreme programming

จากวิกิพีเดีย สารานุกรมเสรี
แผนการปฏิบัติและการตอบกลับ (feedback) ในหลายระดับตามรูปแบบของ Extreme Programming (XP)

Extreme programming (XP) เป็นระเบียบวิธีการพัฒนาซอฟต์แวร์ที่เป็นหนึ่งในระเบียบวิธีที่เป็นที่รู้จักมากที่สุดในกลุ่มวิธีการพัฒนาซอฟต์แวร์แบบเอจายล์ (Agile software development)[1][2] XP เป็นระเบียบวิธีที่มีจุดเด่นในแนวทางปฏิบัติที่นำไปสู่ความสำเร็จทางด้านคุณภาพของซอฟต์แวร์ในโครงพัฒนาขนาดเล็ก[3][4][5] โดยความสำเร็จนี้มาจากรูปแบบของ XP เองซึ่งมุ่งเน้นการมีส่วนร่วมอย่างเข้มข้นของลูกค้าที่ประจำอยู่ในโครงการ (On-site customers) มากกว่าการวิเคราะห์ความต้องการเพื่อทำเอกสารกำหนดความต้องการไว้ล่วงหน้า[4][2] อีกทั้งการพุ่งเป้าไปที่การทดสอบโปรแกรม และการลดขั้นตอนการออกแบบให้น้อยลง[4]

Extreme programming เป็นระเบียบวิธีการชนิดเบา (lightweight methodology) ในการพัฒนาซอฟต์แวร์ ของกลุ่มระเบียบวิธีเอจายล์[5] ที่กระชับและคล่องแคล่ว มุ่งเน้นการปฏิบัติการไปที่การเขียนโปรแกรม (Coding), การสื่อสาร (communication), การตอบกลับ (feedback), ความเรียบง่าย (simplicity) และ การแก้ปัญหา (problem solving) นอกจากนี้ XP ยังสนับสนุนการปฏิบัติการที่ดีที่สุดทางวิศวกรรม (best engineering practices) และยังรองรับการเปลี่ยนแปลงความต้องการ (requirements) อย่างรวดเร็วและกระชั้นชิดจากการโต้ตอบกับลูกค้าที่ประจำในโครงการได้อย่างรวดเร็วเช่นเดียวกัน[5] เมื่อเทียบกับระเบียบวิธีการแบบสกรัม (Scrum) ซึ่งเป็นที่นิยมที่สุดของกลุ่มระเบียบวิธีการแบบเอจายล์[6]แล้ว XP จะพุ่งเป้าไปที่การปฏิบัติการ (practices) ในขณะที่สกรัมจะเน้นที่การบริหารโครงการมากกว่า[6]

ค่านิยมหลัก (Core Value)[แก้]

การสื่อสาร (Communication)[แก้]

ความเรียบง่าย (Simplicity)[แก้]

การตอบกลับ (Feedback)[แก้]

ความกล้า (Courage)[แก้]

หลักการ (12 XP Principles)[แก้]

ขั้นตอน (8 XP Activities)[แก้]

อ้างอิง[แก้]

  1. Salo, O. & Abrahamsson, P., 2007. An iterative improvement process for agile software development. Software Process: Improvement and Practice, 12(1), pp. 81-100.
  2. 2.0 2.1 Beck, K., 2000. Extreme Programming Explained: Embrace Change. Boston, MA: Addison-Wesley
  3. Qumer, A. & Henderson-Sellers, B., 2008. An evaluation of the degree of agility in six agile methods. Information and Software Technology, Volume 50, p. 280–295.
  4. 4.0 4.1 4.2 Zuser, . W., Heil, S. & Grechenig, T., 2005. Software Quality Development and Assurance in RUP, MSF and XP - A Comparative Study. New York, NY, USA, ACM.
  5. 5.0 5.1 5.2 Rasool, G., Aftab, S., Hussain, S. & Streitferdt, D., 2013. eXRUP: A Hybrid Software Development Model for Small to Medium Scale Projects. Journal of Software Engineering and Applications, Volume 6, pp. 446-457.
  6. 6.0 6.1 Moniruzzaman, A. B. M. & Akhter Hossain, S. D., 2013. "Comparative Study on Agile software development methodologies". Global Journal of Computer Science and Technology, 13(7).

ดูเพิ่ม[แก้]