การล่มสลายครั้งใหญ่ของคุณภาพซอฟต์แวร์: ทำไมโลกดิจิทัลของเราถึงกำลังพังทลาย

ทีมชุมชน BigGo
การล่มสลายครั้งใหญ่ของคุณภาพซอฟต์แวร์: ทำไมโลกดิจิทัลของเราถึงกำลังพังทลาย

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

กรอบความคิดแบบสายการผลิตในการพัฒนาซอฟต์แวร์

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

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

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

ปัญหาคุณภาพซอฟต์แวร์ทั่วไปที่มีการพูดถึง:

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

แรงจูงใจขององค์กรและปัญหาฟีเจอร์ล้นเกิน

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

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

วิกฤตความสามารถและอนาคตที่ไม่แน่นอนของ AI

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

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

สาเหตุหลักที่ระบุได้:

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

มีความหวังสำหรับการปรับปรุงหรือไม่?

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

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

อ้างอิง: Why doesn't anything work anymore?