ทำไมทุกคนต้องใช้หน้าจอเดียวกัน?

เรายังควรให้คนทั้งองค์กรปรับตัวเข้าหาหน้าจอเดียวกันอยู่หรือเปล่า?
ช่วงหลังผมเริ่มสังเกตตัวเองว่า เวลาคิดเรื่องออกแบบ ERP ผมมักเริ่มต้นด้วยคำถามบางอย่างโดยไม่รู้ตัว
เราจะทำเมนูอะไรดี?
หน้าจอนี้ควรมีข้อมูลอะไรบ้าง?
รายงานนี้ควรทำให้ใช้ได้กับใครบ้าง?
แล้วก็มักจบลงที่คำตอบประมาณว่า
ทำอย่างไรให้หลายฝ่ายใช้หน้าจอเดียวกันได้
ฟังดูเป็นเรื่องดี
เพราะถ้าหนึ่งหน้าจอใช้ได้ทั้งฝ่ายขาย บัญชี คลัง และผู้จัดการ เราก็ไม่ต้องสร้างหลายหน้าจอ ไม่ต้องดูแลหลายชุด ไม่ต้องอธิบายหลายแบบ
มันคือประสิทธิภาพ
แต่ผมเริ่มสงสัยว่า สิ่งที่เราเรียกว่า “ประสิทธิภาพ” นี้ อาจเป็นคำตอบที่เกิดจากข้อจำกัดของยุคหนึ่งหรือเปล่า
เมื่อการทำโปรแกรมมีราคาแพง
คนทำโปรแกรมรุ่นก่อนคงคุ้นเคยกับโลกที่การทำอะไรเพิ่มขึ้นอีกหนึ่งอย่างมีต้นทุนไม่น้อย
สร้างหน้าจอเพิ่มหนึ่งหน้า ก็ต้องเขียนโปรแกรมเพิ่ม
ต้องทดสอบ
ต้องทำคู่มือ
ต้องอบรมผู้ใช้
ต้องดูแลเมื่อมีปัญหา
รายงานใหม่หนึ่งรายงานก็มีต้นทุนแบบเดียวกัน
ดังนั้น การออกแบบให้หน้าจอหนึ่งหน้าจอรองรับผู้ใช้หลายกลุ่ม จึงเป็นความคิดที่สมเหตุสมผลมาก
รายงานยอดขายก็พยายามทำให้เป็นรายงานเดียวที่ทุกคนใช้ได้
ผู้จัดการดูยอดรวม
ฝ่ายขายดูรายละเอียดลูกค้า
บัญชีดูยอดที่ต้องนำไปกระทบยอด
ถ้ารายงานเดียวตอบได้ทั้งหมด เราก็รู้สึกว่าเราออกแบบได้ดี
ผมเองก็โตมากับความคิดแบบนี้
และอาจจะคุ้นเคยกับมันมากเกินไป
แต่คนไม่ได้มองธุรกิจด้วยคำถามเดียวกัน
ลองเอากิจกรรมเดียวกันมาให้คนหลายคนดู
สมมติว่าโรงงานรับคำสั่งผลิตสินค้าจากลูกค้าเข้ามาหนึ่งงาน
เจ้าของอาจอยากรู้ว่า
งานนี้คุ้มไหมรับไหวหรือเปล่า กำลังการผลิตเหลือเท่าไร ลูกค้ารายนี้มีโอกาสกลับมาสั่งอีกไหม
ฝ่ายขายอาจสนใจว่า
ลูกค้าต้องการของวันไหน เสนอราคาอะไรไป ตกลงเงื่อนไขกันอย่างไร
ฝ่ายผลิตอาจถามว่า
ต้องใช้วัตถุดิบอะไร เครื่องจักรตัวไหนว่าง ต้องเริ่มผลิตเมื่อไร
คลังอาจสนใจว่า
ของมีอยู่เท่าไร อะไรต้องสั่งเพิ่ม อะไรถูกจองไว้กับงานอื่นแล้ว
บัญชีอาจถามอีกแบบ
เกิดรายได้เมื่อไร เกิดลูกหนี้หรือยัง ต้นทุนควรรับรู้เมื่อไร
ทั้งหมดกำลังพูดถึง “งานเดียวกัน”
แต่ไม่ได้กำลังถามคำถามเดียวกัน
ถ้าเป็นอย่างนั้น การพยายามทำหน้าจอเดียวให้ทุกคนใช้ร่วมกัน อาจไม่ใช่ความเรียบง่ายอย่างที่เราคิด
มันอาจเป็นการบังคับให้ทุกคนยอมใช้คำถามของคนอื่นร่วมกัน
Role อาจไม่ใช่แค่เรื่องสิทธิ์
เวลาพูดถึง role ในระบบ ERP เรามักคิดถึงเรื่องสิทธิ์
ใครเปิดเมนูไหนได้
ใครแก้ไขข้อมูลได้
ใครอนุมัติได้
ใครดูข้อมูลอะไรได้
ซึ่งเป็นเรื่องสำคัญ
แต่ผมเริ่มคิดว่า role อาจมีความหมายมากกว่านั้น
Role อาจเป็นวิธีที่คนคนหนึ่งมองเหตุการณ์เดียวกัน
ลองเอาเรื่องง่าย ๆ อย่าง
“เอาวัตถุดิบไปผลิต”
สำหรับคนคลัง นี่คือวัตถุดิบถูกเบิกออก
สำหรับฝ่ายผลิต นี่คือการเริ่มงานผลิต
สำหรับผู้จัดการโรงงาน นี่คือกำลังการผลิตกำลังถูกใช้กับงานหนึ่ง
สำหรับบัญชี นี่อาจเป็นการเปลี่ยนแปลงของต้นทุน
สำหรับเจ้าของ อาจเป็นเพียงคำถามว่า
งานที่รับมา เดินไปถึงไหนแล้ว?
ไม่มีมุมมองไหนผิด
และอาจไม่มีเหตุผล ที่เราต้องพยายามเลือกมุมมองใดมุมมองหนึ่งให้เป็น “ภาษากลาง”
แล้วทำไม ERP ถึงพยายามทำภาษากลาง?
บางทีคำตอบอาจไม่ได้อยู่ที่การออกแบบซอฟต์แวร์เพียงอย่างเดียว
แต่มาจากประวัติศาสตร์ของการทำซอฟต์แวร์
เราเคยมีข้อจำกัดว่า ถ้าจะให้แต่ละฝ่ายมีหน้าจอของตัวเอง ระบบก็จะซับซ้อนขึ้นเรื่อย ๆ
ดังนั้นเราจึงพยายามรวม
หนึ่งเมนู
หนึ่งหน้าจอ
หนึ่งรายงาน
แล้วให้ทุกคนปรับตัวเข้าหามัน
วิธีนี้มีข้อดีจริง
แต่เมื่อข้อจำกัดเรื่องต้นทุนการสร้างและดูแลซอฟต์แวร์เปลี่ยนไป ผมก็อดถามไม่ได้ว่า
เรายังจำเป็นต้องออกแบบด้วยสมมติฐานเดิมอยู่หรือเปล่า?
ถ้าการสร้างมุมมองใหม่ให้แต่ละ role ไม่ได้แพงเหมือนเดิม
เรายังควรพยายามทำให้ทุกคนใช้หน้าจอเดียวกันอยู่ไหม?
ไม่ใช่การทำระบบแยกคนละระบบ
ผมไม่ได้หมายความว่า ฝ่ายขายต้องมี ERP ของฝ่ายขาย
บัญชีมี ERP ของบัญชี
โรงงานมี ERP ของโรงงาน
แล้วข้อมูลก็แยกกันไปคนละทาง
ตรงกันข้าม
ผมกำลังคิดถึงสิ่งที่ตรงกันข้ามมากกว่า
ข้อมูลและเหตุการณ์อาจเป็นชุดเดียวกัน แต่แต่ละ role ไม่จำเป็นต้องมีประตูบานเดียวกันเพื่อเข้าไปหามัน
เหตุการณ์หนึ่งอาจเกิดขึ้นครั้งเดียว
แต่สามารถมองผ่านหลายมุม
คนผลิตอาจเริ่มจาก “งานผลิต”
คนคลังเริ่มจาก “ของที่ต้องเตรียม”
ฝ่ายขายเริ่มจาก “คำสั่งของลูกค้า”
บัญชีเริ่มจาก “รายการทางการเงิน”
และผู้จัดการอาจเริ่มจาก “สิ่งที่ต้องตัดสินใจวันนี้”
ข้างหลังอาจเป็นข้อมูลชุดเดียวกัน
แต่สิ่งที่ผู้ใช้เห็น ไม่จำเป็นต้องเหมือนกัน
จาก “หน้าจอเดียวใช้ได้ทุกคน” สู่ “แต่ละคนเห็นสิ่งที่ต้องเห็น”
เรื่องนี้ทำให้ผมย้อนกลับไปมองความหมายของคำว่า “ใช้งานง่าย” เสียใหม่
เมื่อก่อนเราอาจคิดว่า
หน้าจอเดียว เมนูน้อย รายงานน้อยใช้ร่วมกันได้
คือความง่าย
แต่บางทีความง่ายของคนหนึ่ง อาจกลายเป็นความยากของอีกคนหนึ่ง
หน้าจอที่รวมทุกอย่างไว้ด้วยกัน อาจเป็นหน้าจอที่ไม่มีใครได้เห็นสิ่งที่ตัวเองต้องการอย่างชัดเจน
บางครั้งความเรียบง่ายของระบบ อาจเกิดจากการผลักความซับซ้อนไปให้ผู้ใช้
ให้เขาเรียนรู้ว่า field ไหนสำคัญ
ต้องกดเมนูไหน
ต้องตีความรายงานอย่างไร
และต้องแปลภาษาของระบบกลับมาเป็นภาษาของงานตัวเอง
ผมจึงเริ่มมองว่า
การออกแบบ ERP อาจไม่ได้มีโจทย์ว่า
“เราจะสร้าง interface กลางที่ทุกคนใช้ร่วมกันได้อย่างไร?”
แต่อาจมีโจทย์อีกแบบหนึ่งว่า
“เราจะทำให้เหตุการณ์เดียวกัน สามารถถูกมองเห็นจากบทบาทที่แตกต่างกันได้อย่างไร?”
ผมยังไม่รู้ว่าคำตอบสุดท้ายควรเป็นหน้าจอแบบไหน
แต่มีอย่างหนึ่งที่ผมเริ่มไม่แน่ใจแล้ว
ในวันที่การสร้างซอฟต์แวร์หนึ่งหน้าจอไม่ได้แพงเหมือนเดิม



ความคิดเห็น