มีหลายครั้งที่เราหงุดหงิดกับคอมพิวเตอร์
“ทำไมผิดวะ” — ดีเวลลอปเปอร์บ่นออกมาดังๆ
“เมื่อวานยังใช้ได้อยู่เลย” — เซลล์แมนเหงื่อตกก่อนเดโม่โปรดักท์
“เครื่องผมรันแล้วพังอะ” — เทสเตอร์เถียงกับดีเวลลอปเปอร์คอเป็นเอ็นเรื่องปัญหาที่เจอ
ร้อยทั้งร้อยโยนความผิดให้คอมพิวเตอร์ก่อน เราไม่ผิด เราเขียนโค๊ดถูกแล้ว … อะไรของมันวะ
และร้อยทั้งร้อยเมื่ออารมณ์เย็นลงและสืบสาวราวเรื่องกันอย่างจริงจังแล้วทักคนก็จะร้อง “อ๋ออออ มันผิดตรงนี้”
ไม่มีใครเถียงชนะเครื่องได้ … ไม่มีใครเถียงชนะซอฟต์แวร์ได้ เพราะทั้งเครื่องและซอฟต์แวร์ไม่เคยทำงานผิดพลาดด้วยตัวมันเอง ทุกปัญหาที่เกิดขึ้นจะเล็กน้อยหรือใหญ่หลวงล้วนเกิดจากคนที่สั่งให้เครื่องและซอฟต์แวร์ทำงานทั้งสิ้น
เครื่องและซอฟต์แวร์ทำงานได้อย่างสมบูรณ์แบบตามที่มันได้รับคำสั่งมา ถ้าคำสั่งถูกต้องก็ทำงานถูกต้องทุกครั้ง ถ้าคำสั่งผิดพลาดก็ทำงานผิดพลาดทุกครั้ง
เพราะคนกำหนดคำสั่งนั้นผิด เพราะคนออกแบบคำสั่งนั้นพลาด เพราะคนป้อนคำสั่งนั้นผิด เพราะคนตรวจสอบคำสั่งนั้นพลาด รวมความผิดพลาดของหลายคนในหลายขั้นตอนเราจึงได้ผลลัพธ์ออกมาเป็นซอฟต์แวร์ที่ทำงานผิดพลาดอย่างสมบูรณ์แบบ
- การสื่อสารที่ผิดพลาด
- ความเข้าใจที่คลาดเคลื่อน
- ความซับซ้อนของระบบที่เกินความสามารถของมนุษย์หนึ่งคนจะเข้าถึง
- และอื่นๆอีกมาก
ที่เราพูดกันติดปากว่า “ซอฟต์แวร์ไหนบ้างไม่มีบั๊ก” จริงๆแล้วเราจะสื่อว่า “ใครบ้างไม่มีบั๊ก” ต่างหาก
งานนี้ซอฟต์แวร์ไม่ผิด คนนั่นแหละผิดเต็มๆ 🐞🪲👨🏼💻