Extreme Programming ได้รับความสนใจใหม่เมื่อ AI สร้างโค้ดเร็วกว่าการตรวจสอบของมนุษย์

ทีมชุมชน BigGo
Extreme Programming ได้รับความสนใจใหม่เมื่อ AI สร้างโค้ดเร็วกว่าการตรวจสอบของมนุษย์

เมื่อปัญญาประดิษฐ์เปลี่ยนแปลงการพัฒนาซอฟต์แวร์ด้วยการทำให้สามารถสร้างโค้ดได้อย่างรวดเร็ว วิธีการที่ไม่คาดคิดจากปลายทศวรรษ 1990 กำลังได้รับความสนใจใหม่ Extreme Programming ( XP ) ซึ่งครั้งหนึ่งเคยถูกมองว่าเป็นแนวทางที่รุนแรงด้วยแนวปฏิบัติอย่าง pair programming บังคับ กำลังถูกพิจารณาใหม่ในฐานะทางแก้ไขปัญหาที่เกิดจากการพัฒนาที่เร่งความเร็วด้วย AI

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

ความท้าทายในการสร้างโค้ดด้วย AI

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

มุมมองที่พัฒนาของ Kent Beck เกี่ยวกับ AI และการเขียนโปรแกรม

ผู้สร้าง Extreme Programming เองได้สำรวจอย่างแข็งขันว่า AI เข้ากับแนวปฏิบัติการพัฒนาสมัยใหม่อย่างไร Kent Beck ได้ยอมรับว่าแม้ทักษะการเขียนโปรแกรมแบบดั้งเดิม 90% อาจล้าสมัยไปด้วย AI แต่ 10% ที่เหลือกลับมีค่าเพิ่มขึ้นอย่างทวีคูณ การเปลี่ยนแปลงนี้เน้นย้ำสิ่งที่ XP ถูกออกแบบมาเพื่อจัดการ: องค์ประกอบของมนุษย์ในการพัฒนาซอฟต์แวร์ที่ระบบอัตโนมัติไม่สามารถทดแทนได้

การสนทนาในชุมชนเผยให้เห็นว่านักพัฒนาหลายคนพบว่าแนวทาง test-first ของ XP มีประโยชน์เป็นพิเศษเมื่อทำงานกับโค้ดที่สร้างโดย AI แนวปฏิบัตินี้ให้วิธีที่เชื่อถือได้ในการตรวจสอบผลลัพธ์ของ AI และทำให้ง่ายขึ้นในการสร้างโค้ดที่มีความหมายจากเครื่องมือ AI ตั้งแต่แรก

ปัญหาของการเร่งความเร็ว AI แบบไม่มีขอบเขต

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

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

อัตราความสำเร็จของโปรเจกต์ซอฟต์แวร์ตลอดช่วงเวลา

  • 1994: 16% ของโปรเจกต์ส่งมอบตรงเวลาและไม่เกินงบประมาณ
  • 2012: อัตราความสำเร็จ 37%
  • 2020: อัตราความสำเร็จ 31%
  • การปรับปรุงสุทธิในช่วง 26 ปี: เพิ่มขึ้น 15 เปอร์เซ็นต์พอยต์

Pair Programming ได้รับความหมายใหม่

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

ฉันคิดว่าสถานการณ์ที่เหมาะสมคือโปรแกรมเมอร์สองคนที่จับคู่กันใช้ชุด AI agents ร่วมกันในสาขาการทำงานเดียวกัน มันเป็นวงจรป้อนกลับที่เหมาะสมของการวางแผน การตรวจสอบ การสร้าง และการทดสอบแบบจับคู่

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

ค่านิยมหลักของ XP สำหรับยุค AI

  • ความเรียบง่าย: ลดความซับซ้อนของระบบ
  • การสื่อสาร: รักษาความสามัคคีของทีม
  • การให้ข้อมูลป้อนกลับ: ขับเคลื่อนการเรียนรู้และการปรับตัว
  • ความเคารพ: สร้างความปลอดภัยและความไว้วางใจ
  • ความกล้าหาญ: ทำให้เกิดความโปร่งใสและการเปลี่ยนแปลง

เหตุใดวิธีการจึงยังคงสำคัญหลังจากการนวัตกรรมหลายทศวรรษ

แม้จะมีคลื่นของความก้าวหน้าทางเทคโนโลยีจากภาษาโปรแกรมระดับสูงไปจนถึงแพลตฟอร์มคลาวด์และตอนนี้คือ AI อัตราความสำเร็จของโครงการซอฟต์แวร์ได้ปรับปรุงเพียงเล็กน้อยในช่วง 30 ปีที่ผ่านมา การศึกษา Standish Chaos แสดงให้เห็นว่าอัตราการส่งมอบโครงการที่ประสบความสำเร็จเพิ่มขึ้นจากเพียง 16% ในปี 1994 เป็น 31% ในปี 2020 - การเพิ่มขึ้นเพียงเล็กน้อยแม้จะมีการเปลี่ยนแปลงที่ปฏิวัติวงการในด้านเครื่องมือ

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

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

อ้างอิง: Should we revisit Extreme Programming in the age of AI?