UX ของ Web หรือ Application ก็คล้ายกับร้านอาหาร แล้วลองคิดดูว่าการจะได้อาหารสักหนึ่งจานจะต้องผ่านใครบ้าง แล้วแต่ละคนมีส่วนอย่างไรต่ออาหารแต่ละจาน ถ้าคนที่ออกไปซื้ออาหารคิดแต่จะซื้อวัตถุดิบที่ดีที่สุด โดยไม่คิดถึงคนทานเลย จะสามารถหาวัตถุดิบที่ราคาเหมาะสมพอที่ลูกค้าจะจ่ายได้ หรือวัตถุดิบที่พ่อครัวถนัด เพื่อที่จะปรุงอาหารให้กับลูกค้าได้หรือไม่ ถ้าผู้บริหารคิดถึงแต่ความอยู่รอดของร้าน คิดเรื่องต้นทุน การบริหารและผลกำไร จะสามารถสร้างความพึงพอใจให้กับลูกค้าได้หรือไม่

food order paper

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

แล้วในวงการพัฒนาซอร์ฟแวร์ แต่ละตำแหน่งจะได้ประโยชน์อะไรจากการคิดถึง UX

###UI Designer###

เริ่มจากตำแหน่งที่มักจะถูกจับให้ทำงานด้าน UX กันก่อน เรามักเห็นประกาศรับสมัคร UX/UI Designer อยู่บ่อยๆ ทั้งๆ ที่ตำแหน่ง Designer มักอยู่ห่างไกลจากผู้ใช้มากๆ ตำแหน่งนี้มักจะรู้ความต้องการของผู้ใช้จาก Project Manager ซึ่งฟังมากจาก System Architech ซึ่งไปถามความต้องการมาจาก Manager ของลูกค้าอีกที แล้ว Manager ท่านนั้น ก็เดาลักษณะของลูกค้ามาให้ ซึ่งทำให้ความเข้าใจในตัวผู้ใช้มันผิดเพี้ยนไปมาก จนแทบเป็นไปไม่ได้ที่จะออกแบบ UI ให้ตรงกับสิ่งที่ผู้ใช้จริงๆ อยากได้

แต่ถ้า UI Designer ได้เรียนรู้ว่า UX คือการเข้าใจลูกค้าให้ดีกว่าที่เค้าเข้าใจตัวเอง ตัว UI Designer จะเริ่มรู้ว่าการเข้าถึงตัวผู้ใช้เป็นสิ่งจำเป็นและเริ่มถามคำถามที่ PM, SA, Manager ไม่สามารถตอบได้ ซึ่งเพิ่มโอกาสที่จะได้เข้าถึงตัวลูกค้ามากขึ้น

เมื่อเข้าใจลูกค้าแล้วงานออกแบบก็ตรงกับความต้องการมากขึ้น เวลาที่ PM, SA, Manager ต้องการเปลี่ยน UI คนออกแบบก็สามารถชี้แจงเหตุและผลของตัวปัจจุบันได้ ถ้าจะมีการเปลี่ยนแปลใดๆ ก็จะเป็นการเปลี่ยนที่มีหลักการ แทนที่จะใช้ความรู้สึกในการตัดสิน

ลองคิดดูว่า ถ้า UI Designer ไม่รู้ UX การแก้แบบไม่มีที่สิ้นสุดจะเกิดขึ้นขนาดไหน

###Developer###

สำหรับนักพัฒนาถ้าดูเผินๆ เหมือนจะไม่ต้องสนใจผู้ใช้ เพราะแค่ทำตาม spec ที่กำหนดไว้แล้วเท่านั้น แต่ใจความเป็นจริงแล้ว ตัว spec นั้นไม่ได้ชัดเจนเพียงพอที่จะทำให้ Developer ไม่ต้องคิดเอาเองว่าโปรแกรมต้องออกมาเป็นอย่างไร

ถ้า Developer เข้าใจผู้ใช้ ก็จะทำให้สามารถออกแบบโปรแกรมให้รองรับรูปแบบการใช้งานต่างๆ ได้อย่างครบถ้วน หรือสามารถบอกกับ PM, SA และ UI Designer ได้ว่าปัญหาของผู้ใช้นั้นสามารถใช้ Solution ใดในการแก้ที่ง่ายที่สุด

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

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

###QA###

เป็นอีกตำแหน่งที่บริษัทส่วนมาก ไม่สนใจที่จะให้ทำ UX เลย เพราะโดยทั้วไปแล้วตำแหน่งนี้มีไว้หา Bug ของระบบ มีไว้ตรวจสอบว่า Developer ทำอะไรผิดพลาดบ้าง แต่ในปัจจุบันเราทำ TDD (Test Driven Development) กันแล้ว และยังมีเทคนิคอีกมากมายในการหา Bug จนทีม QA น่าจะเริ่มมีเวลาทำเรื่องที่น่าทำมากกว่า นั่นคือเรื่อง Quality ของชีวิตผู้ใช้เมื่อมาอยู่กับโปรแกรมของเรา

ถ้า QA รู้เรื่อง UX ผมคิดว่า QA จะเป็นกลุ่มแรกๆ ที่ควรเข้าไปคุยกับผู้ใช้ เข้าไปดูปัญหาและเป้าหมายของผู้ใช้ เพื่อนำมาใช้ในการตรวจวัด Quality ของโปรแกรม ถ้า QA สามารถเข้าใจผู้ใช้ได้จริงๆ (เข้าใจดีกว่าที่ผู้ใช้เข้าใจตัวเอง) ก็จะช่วยให้ QA สามารถบอกได้ว่าอะไรที่ควรปรับปรุงในโปรแกรม ที่จะช่วยให้ผู้ใช้รักเรา และช่วยให้ผู้ใช้รู้สึกว่าโปรแกรมของเราเป็นโปรแกรมที่มี Quality ไม่ใช่แค่มี Bug น้อย

คำว่า Quality ของ QA จะเริ่มเปลี่ยนจากการวัดว่าโปรแกรมทำงานได้ถูกหรือไม่ ไปเป็นผู้ใช้จะรักโปรแกรมนี้หรือเปล่า

ลองคิดดูว่า ถ้า QA ไม่รู้จัก UX ปัญหาต่างๆ ที่เค้าพบจะมีความสำคัญเท่ากันไปหมดเลยเพราะล้วนเป็นปัญหาของการใช้งานทั้งสิ้น แล้วอย่างนี้เมื่อไหรปัญหาที่สำคัญกับผู้ใช้จริงๆ จะได้ถูกแก้ไข

สำหรับ Product Owner, Project Manager, CEO ไว้ต่อ ตอนหน้า นะครับ