ยาวไปไม่อ่าน
Business Analyst คือ Role ที่คอยประสานงานและวิเคราะห์ความต้องการ จากทั้งผู้ใช้ / ลูกค้า / Stakeholder / Development Team และร่วมกำหนด requirement กับทุกฝ่ายเพื่อให้ได้ solution ที่สอดคล้องกับกับปัญหาของผู้ใช้งาน “อย่างมีประสิทธิภาพ”
อ่านต่ออีกสักนิด
“อย่างมีประสิทธิภาพ” คำง่าย ๆ แต่ความหมายสุดลึกล้ำ...
คุณน่าจะอยากอ่านรายละเอียดต่อด้านล่างถ้าคุณผู้อ่านเป็นใครสักคนที่กำลังลังเลว่าอยากทำงานสาย Software development แต่ยังไม่แน่ใจว่านอกจาก Programmer / Developer แล้วบทบาท Business analyst (BA) ที่เคยเห็นผ่านตาตามประกาศหางานเค้ามีหน้าที่อะไร ต้องมีความรู้อะไร ปกติใช้เครื่องมืออะไรในการทำงานบ้าง และสำคัญอย่างไรในองค์กร
หรือคุณอาจจะเป็น developer สักคนหนึ่งที่ได้เคยทำงานกับ Business analyst แล้วสงสัยว่า Requirement ที่เค้าเอามาให้เราเขียนโค้ดนั้นถูกเนรมิตมาจากไหน ทำไมเงื่อนไขมันยุ่บยั่บไปหมด
อยากให้ลองใช้เวลากับบทความนี้ดูครับ
เริ่ม!
“ยูสเซอร์ไม่ได้ต้องการเทคโนโลยีที่ล้ำที่สุดหรือดีไซน์ที่วิจิตรพิสดารตระการตาที่สุด เพียงแต่ต้องการตัวช่วยในการทำให้ปัญหาของเขาได้รับการแก้ไขหรือสะดวกสบายมากขึ้น”
นั่นคือเป้าหมายแท้จริงของการพัฒนาซอฟต์แวร์ (Software development)
ฉะนั้น Business Analyst คือ Role ที่จะประสานงาน ทำความเข้าใจรายละเอียดและวิเคราะห์ (get requirement & analyse) ความต้องการและปัญหาจากทุก stakeholder ที่เกี่ยวข้อง รวมไปถึงการสื่อสารทำความเข้าใจระหว่างทีมพัฒนากับความต้องการของผู้ใช้และกำหนดสเปค (specification) ร่วมกับทีมพัฒนาเพื่อสื่อสารกับผู้ใช้ให้เข้าใจสิ่งที่จะทำออกมาในช่วงของการพัฒนาด้วย เพราะฉะนั้นทักษะของ Business analyst นั้นจะเน้นหนักไปที่
ความเข้าใจพื้นฐานของการพัฒนาซอฟต์แวร์
การเข้าใจพื้นฐานของเทคโนโลยีที่ใช้หรือกระบวนการการพัฒนาจะทำให้ Business analyst สามารถนำมาวิเคราะห์วิธีการแก้ปัญหา การปรับสโคป หรือข้อจำกัดต่าง ๆ ร่วมกับทีมเพื่อนำไปสื่อสารต่อกับทุกฝ่ายให้เข้าใจได้ง่ายและรู้เรื่องมากขึ้น
การรวบรวมและวิเคราะห์ข้อมูลที่ได้จาก stakeholder และข้อมูลจากแหล่งต่าง ๆ
ในการพัฒนาซอฟต์แวร์เพื่อแก้ปัญหาและส่งมอบประสบการณ์ที่ดีให้กับผู้ใช้ จำเป็นต้องใช้ข้อมูลจากหลายช่องทาง ทั้งจากตัว End-User เอง , Stakeholder, ทีมพัฒนา หรือการนำข้อมูลเชิงสถิติต่าง ๆ มาช่วยวิเคราะห์และออกแบบซอฟต์แวร์เพื่อให้เราสามารถสร้างซอฟต์แวร์ที่ตอบโจทย์และมีประสิทธิภาพออกมาได้
ทักษะการสื่อสาร
ทักษะที่สำคัญมาก ๆ เป็นอันดับต้น ๆ ของ Role นี้เพราะต้องใช้ในการสื่อสารกับทุก ๆ ฝ่ายที่เกี่ยวข้อง ตั้งแต่ทีมพัฒนา จนไปถึงลูกค้า เพราะฉะนั้นการสื่อสารที่มีคุณภาพของ Business analyst จึงเกิดจากความเข้าใจทั้งในด้าน business และ technical term โดยมีเป้าหมายคือเข้าใจและประสานงานเพื่อส่งมอบ software ได้ตรงกับความต้องการแท้จริงของ stakeholder
การจัดการลำดับความสำคัญ
เป็น challenge ที่ต้องทำให้เกิด “ตรงกลาง” ที่ทุกฝ่ายยอมรับได้ทั้ง PM ทีมพัฒนา หรือ stakeholder เอง การรู้ว่า อะไรสำคัญและเร่งด่วน อะไรมี value ต่อองค์กร/ลูกค้า จะทำให้ทีมสามารถวิเคราะห์และตัดสินใจร่วมกันได้ว่าจะเลือกส่งมอบอะไรก่อนหลังและมี scope แค่ไหน ซึ่งมีผลต่อการตัด release ให้ validate idea / get feedback ได้เร็วและตรงจุดด้วย
ทีมเวิร์ค
เป็น soft skill ที่สำคัญมาก ๆ ในทุก ๆ role โดยเฉพาะ Business analyst ที่ต้องทำงานร่วมกันกับหลาย level หลาย context การมี mind set เรื่องการทำงานเป็นทีมเพื่อโฟกัสการบรรลุจุดประสงค์เดียวกันโดยไม่แบ่งฝ่าย นั้นจะทำให้สามารถทำงานร่วมกันกับทุกทีมได้ง่ายขึ้นและทำให้คุณภาพของการดำเนินงานออกมาได้ดีด้วย
การใช้งานเครื่องมือต่าง ๆ
Business analyst นั้นไม่ใช่แค่ผู้ประสานงาน หรือผู้ส่งสารเพียงเท่านั้น แน่นอนว่าต้องวิเคราะห์ รวบรวมข้อมูล ตัดสินใจ ออกแบบ business logic ฉะนั้นทักษะการใช้เครื่องมือที่เหมาะสมกับความต้องการหรือการแก้ปัญหานั้นจะทำให้ทุ่นแรงและมีประสิทธิภาพต่อการนำไปใช้อ้างอิงสื่อสารได้ดีขึ้นเลยทีเดียว
หลังจากที่ได้เห็น Skill Set คร่าว ๆ ของ Business Analyst แล้ว
มาดูกันว่าพวกเขาอยู่ส่วนไหนของการพัฒนาซอฟต์แวร์กันบ้าง
Product Discovery
เก็บข้อมูล, Interview, brainstorm, หาไอเดีย, ทดสอบไอเดีย, prototyping
สร้าง Requirement / specification
หาข้อมูล วิเคราะห์ กำหนด business logic , business flow, ประสานงานระหว่างทีมพัฒนาและ stakeholder เกี่ยวกับ requirement และการตรวจรับ โดยมีทั้ง functional และ non-functional requirement
การออกแบบการทดสอบและตรวจรับ
การทำงานร่วมกับทีม QA สำหรับออกแบบเงื่อนไขขั้นตอนการตรวจรับ software ร่วมกับ stakeholder หลักเกณฑ์ในการตรวจรับ software ให้กับทุกฝ่ายที่เกี่ยวข้อง เพื่อไปใช้งานต่อไป โดยเฉพาะทีมพัฒนาจะสามารถนำเงื่อนไขการตรวจรับมาใช้ทดสอบในระหว่างพัฒนาได้
การ Go live / ส่งมอบ
ประสานงานนำ software ที่พัฒนาเสร็จแล้วให้กับทาง stakeholder ทำการตรวจรับ (User acceptance test) ก่อนที่จะทำการนำไปออนไลน์จริง หรือส่งมอบให้ยูสเซอร์ใช้งานจริง
การรับ Feedback
รวบรวมข้อมูล Feedback , คำติชม , ข้อผิดพลาด , ฯลฯ เพื่อนำมาวิเคราะห์พัฒนาแก้ปัญหาต่อไป
Observe & Monitoring
คอยดูความเป็นไปของ product ทั้งในมุมมองของข้อมูลเชิงสถิติ และข้อมูลเชิงคุณภาพที่ได้จากแหล่งต่าง ๆ รวมไปถึงการคอยติดตาม trend ของเทคโนโลยีเพื่อสามารถนำมาวิเคราะห์และพัฒนา product ร่วมกับทีมหรือใช้เป็นข้อมูลประกอบการตัดสินใจต่อไป
จะเห็นได้ว่า business analyst นั้นอยู่ในทุกช่วงของการพัฒนาซอฟต์แวร์ เป็นตัวกลางของการดำเนิน business logic และการตัดสินใจในการส่งมอบซอฟต์แวร์เพื่อตอบโจทย์การใช้งานของ stakeholder ทุกฝ่ายและช่วยอำนวยความสะดวกด้านการประสานงานระหว่างทีมพัฒนาอีกด้วย
จริง ๆ แล้วมีรายละเอียดยิบย่อยมากมายเกี่ยวกับ Role Business analyst ที่จะได้เจอในหน้างาน ทั้งการแก้ปัญหาเฉพาะหน้า, ประสานงาน, Technical skill ฯลฯ ที่แต่ละคนเจอไม่เหมือนกันถ้ามีโอกาสคงจะได้มาแชร์เรื่องราวในมุมของทีม Business analyst และการพัฒนา software กันอีก blog ถัด ๆ ไป
ขอบคุณที่ใช้เวลากับบทความนี้จนจบครับ
และถ้าหากว่าอยากลงไปดูว่าขั้นตอนการเก็บข้อมูลเพื่อสร้าง requirement ทำกันยังไง ไปตามที่ลิงค์นี้ได้เลย : การเก็บ Requirement คืออะไร? Requirement สำคัญอย่างไร?
--------
Photo by Lukas Blazek on Unsplash