ระบบที่ดูเหมือนเสร็จ แต่ยังไม่พร้อมใช้งานจริง

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

Prototype ไม่ใช่ Production
สิ่งที่สาธิตได้สวยงามกับสิ่งที่รันธุรกิจจริงได้ คือคนละสิ่งที่ห่างกันมากกว่าที่เดโมจะบอกคุณ บทความนี้ชวนมองช่องว่างนั้นให้ชัด

เมื่อไม่มี Code Review ระบบเสี่ยงแค่ไหน?
ข้อบกพร่องที่เงียบที่สุดคือข้อบกพร่องที่หลุดออกไปเมื่อไม่มีสายตาคู่ที่สองคอยมอง และมันมักจะปรากฏตัวในวันที่คุณไม่ได้เตรียมใจ

ความเร็วในการพัฒนา ไม่ใช่ตัวชี้วัดความสำเร็จ
การส่งงานได้เร็วทำให้รู้สึกว่ากำลังก้าวหน้า แต่ความเร็วที่วัดง่ายอาจกลายเป็นตัวเลขที่หลอกตา บทความนี้ชวนแยกระหว่างการส่งงานเร็ว กับการส่งงานที่ถูกต้อง

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