Extreme Programming คืออะไร?

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

ในรูปแบบดั้งเดิมของการพัฒนาซอฟต์แวร์โครงการครอบคลุมหลายเดือนหรือหลายปี ทีมนักวิเคราะห์พยายามที่จะรับข้อกำหนดทั้งหมดจากผู้ใช้ จากนั้นชุดนักออกแบบจะสร้างโครงสร้างที่กว้างของระบบ หลังจากนั้นโปรแกรมเมอร์ก็เขียนโค้ดให้ระบบภายในโครงสร้างนั้น ผู้ทดสอบต้องแน่ใจว่ารหัสปราศจากข้อผิดพลาดและตรงตามข้อกำหนด

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

โดยปกติแล้วการเขียนโปรแกรมขั้นสูงเกี่ยวข้องกับการส่งมอบซอฟต์แวร์บ่อยครั้งภายในระยะเวลาไม่กี่สัปดาห์ แรงจูงใจคือการจัดหาซอฟต์แวร์ที่ใช้งานได้อย่างเต็มที่เพื่อตอบสนองความต้องการทางธุรกิจที่สำคัญ การเปลี่ยนแปลงข้อกำหนดจะมีผลในการส่งมอบครั้งถัดไป

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

หนึ่งในแง่มุมที่รู้จักกันดีของการเขียนโปรแกรมขั้นสูงคือการเขียนโปรแกรมคู่ซึ่งโปรแกรมเมอร์สองคนทำงานร่วมกันที่คอมพิวเตอร์เครื่องเดียว ด้วยวิธีการนี้กระบวนการคิดการออกแบบและการเข้ารหัสที่นำไปสู่การสร้างซอฟต์แวร์จะได้รับการตรวจสอบทันที ความรับผิดชอบในการพัฒนาซอฟต์แวร์ใด ๆ จะได้รับการแบ่งปัน

ด้วยวิธีการพัฒนานี้ซอฟต์แวร์เริ่มต้นด้วยการออกแบบที่เรียบง่ายและพัฒนาเพื่อตอบสนองความต้องการทางธุรกิจเพิ่มเติม หลีกเลี่ยงการสร้างคุณสมบัติจนกว่าจะมีความสำคัญสูง ความสำคัญอยู่ที่การทำงานเป็นทีมเพื่อสร้างระบบที่สมบูรณ์ดังนั้นสมาชิกในทีมทุกคนมีบทบาทของนักวิเคราะห์นักออกแบบโปรแกรมเมอร์และผู้ทดสอบทุกวัน มีการสื่อสารที่เข้มข้นภายในทีมการเขียนโปรแกรมรวมถึงระหว่างโปรแกรมเมอร์และผู้ใช้ที่ซอฟต์แวร์ถูกส่งมอบ

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

การเขียนโปรแกรมขั้นสูงใช้ชื่อจากความคิดที่ว่าแง่มุมที่ดีของการทำงานของโปรแกรมเมอร์ที่ดีจะถูกนำไปสู่จุดสูงสุดเพื่อใช้ประโยชน์จากประโยชน์ที่ได้รับ วิธีการพัฒนานี้ค่อนข้างมีประสิทธิภาพในระบบซอฟต์แวร์จำนวนหนึ่ง เนื่องจากยังคงเป็นวิธีการใหม่การปฏิบัติของมันจึงมีการพัฒนาอย่างต่อเนื่อง