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