ตำแหน่ง BA กับ SA ต่างกันขนาดไหน 🤔
Published in
3 min readSep 5, 2019
บทความนี้เขียนมาจากประสบกรณ์โดยตรงของผมนะครับ ในฐานะคนที่เคยทำมาทั้งตำแหน่ง BA และ SA อาจจะไม่ถูกต้องทั้งหมดแต่หวังว่าจะช่วยคนที่กำลังลังเลว่าจะทำงานตำแหน่งไหนดี มาเริ่มกันเลยครับ
(ผมขอพูดถึงการทำงานในสายงาน Tech นะครับ เพื่อให้ทุกคนเข้าใจตรงกันครับ)
Business Analyst
- ตำแหน่ง Business Analyst หรือ ที่เรียกกันว่า BA นั้นเปรียบเสมือน “ไม้แรก” ของการเริ่ม Project เลยก็ว่าได้ เพราะตำแหน่งนี้จะเป็นคนเข้าไปคุยกับทางลูกค้า หรือ ที่หลายๆคนเรียกว่า Get Requirement
การ Get Requirement 🎯
- คือการเข้าไปพูดคุยกับทางลูกค้า ในเรื่องของความต้องการของงานว่ามีรายละเอียดอะไรบ้าง ที่ทางทีมของเราต้องทำเกี่ยวกับงานนี้
- หลังจากได้รับ Requirement จากทางลูกค้ามาแล้ว เราต้องมาสรุป สิ่งที่เราได้รับกับทางลูกค้านั้นให้กับทีมของเราฟัง ในเรื่องตัวงานที่ไปรับมานั้นเป็นงานประเภทไหน จะพัฒนายังไง มีระยะเวลาเท่าไร และ อื่นๆ
เขียน Proposal 📃
- ในขั้นตอนถัดไปในกรณีที่ทางทีมของเราตกลงจะรับทำ Project นี้ ทางเราต้องเขียน Proposal ของรายละเอียดของงานท่ีเราจะรับผิดชอบ อาทิ เช่น
- Purpose (จุดประสงค์ของ Project)
- Scope of work (ขอบเขตของงานทั้งหมดที่เราต้องรับผิดชอบ)
- System Architecture (ภาพรวมของระบบการทำงานของ Project)
- Task list (สิ่งที่ต้องทำใน Project ของแต่ละตำแหน่งและจำนวน Mandays)
- Quotation (ราคาของ Project นี้)
- Time plan (ระยะเวลาในการพัฒนาของ Project)
- Payment term (ข้อตกลงในการชำระเงิน)
- Warranty (การรับประกันหลังจากส่งมอบ Project)
(อาจจะมีหัวข้ออื่นเพิ่มเติมได้ตามความเหมาะสมของแต่ละงานนะครับ)
Confirmation 🚩
- หลังจากเขียน Proposal เป็นที่เรียบร้อย ก็ต้องส่งให้กับทางลูกค้ายืนยันว่าทางเราเข้าใจตัวงานนี้ครบถ้วนไหมมีส่วนไหนยังไม่ครบและเรื่องราคาของงานเป็นที่ตกลงไหม
Reject ✖
- ในกรณีที่ทางลูกค้ายังไม่ตกลงหรือมีปัญหาอะไรทางเราอาจจะต้องแก้ Proposal แล้วส่งไปให้ทางลูกค้าใหม่ แต่ต้องดูทางเราด้วยว่าสิ่งที่ลูกค้าต้องการเพิ่มหรือติดปัญหานั้นทางเราสามารถยอมรับได้ไหมก่อนที่เราจะตอบตกลง
Approved ✔️
- ส่วนในกรณีที่ไม่มีปัญหาและตกลงทำงานกันนั้น ด้าน BA นั้นจะติดตามงาน และเป็นคนที่จะ Update งานให้กับทางลูกค้าว่าตอนนี้งานถึงไหนแล้ว ติดตรงไหนอยู่ส่วนไหนแล้ว จนส่งมอบงานให้กับทางลูกค้าก็เป็นอันปิด Project
System Analyst
- ตำแหน่ง System Analyst หรือ ที่เรียกกันว่า SA นี้จะเริ่มจากตอนที่ทางลูกค้าตกลงจะทำ project กับทางเราที่เรียบร้อยแล้ว คือหลักๆแล้ว เราจะต้องออกแบบ Business Flow หรือ จะเป็น Diagrm อื่นๆการทำงานของระบบให้กับทาง Developer ให้สามารถเห็นภาพของงานที่ต้องทำและทำงานที่สะดวกและรวดเร็วขึ้น (การมี SA ที่ดีนั้นจะสามารถช่วยให้ทาง Developer ทำงานได้เร็วขึ้นมาก)
Design Part 📈
- ซึ่งการออกแบบ Business Flow นั้นไม่ใช่แค่เพื่อให้ Developer พัฒนาได้ง่ายยิ่งขึ้น และยังสามารถ อธิบายการทำงานของ Project นี้ให้ทีมเข้าใจด้วยว่าการทำงานนั้นเป็นไปอย่างไร โดยการออกแบบนี้จะออกแบบโดย Flow ง่ายๆ เผื่อใช้อธิบายกับ Developer เช่น
- Use case diagram ใช้ในการอธิบายการกระทำของบุคคลนั้นๆ ที่อยู่ในระบบว่าสามารถทำอะไรได้บ้าง
- Sequence diagram ใช้ในการอธิบายลำดับที่เกิดขึ้นของระบบ บุคคลใดกระทำเมื่อไหร่และสิ้นสุดเมื่อไหร่
- การออกแบบ Diagram แบบนี้สามารถช่วยอธิบายให้กับบุคคลที่ไม่มีความรู้หรือประสบการณ์ทางด้าน Technical มากนัก สามารถเข้าใจภาพรวมการทำงานของ Project ได้
Technical Part 💻
- ซึ่งสำหรับ SA บางคนนั้นอาจจะต้องลงด้านเทคนิคสักหน่อย เช่น การดู Inspect ค่าต่างๆ ที่ทาง Front-end กับทาง Back-end สื่อสารกัน และง่ายกับทาง Developer ที่ดูแลและต้องการที่จะพัฒนาต่อ
สรุปแล้ว BA กับ SA ต่างกันอย่างไร และคนเดียวสามารถทำทั้งสองตำแหน่งได้ไหม ?
(ในความเห็นส่วนตัวของผมนะครับ สามารถทำได้ครับ)
BA to SA
- ในกรณีที่เป็น BA เปลี่ยนตัวเองมาเป็น SA สำหรับผมมองว่ายากกว่าคนที่เป็น SA แล้วจะมาทำ BA ด้วยอยู่สักหน่อยนะครับ
- เพราะเราอาจจะต้องศึกษาความรู้ด้าน Technical เพิ่มเติมสักหน่อยเพื่อที่สามารถคุยกับทาง Developer ในเรื่องเทคนิคได้ หากป็น BA ที่ไม่เคยมีประสบการณ์ด้านเทคนิคอาจจะไม่เข้าใจด้านเทคนิคในการคุยกับทางลูกค้าและ Developer
SA to BA
- ส่วนในกรณี SA มาทำหน้าที่ BA อาจจะไม่ยากมากเท่าไหร่ สิ่งที่ควรฝึกฝนเพิ่มเติมคือการทำเรื่องเอกสารต่างๆ และ การคุยกับทางลูกค้าให้ชัดเจน เพื่อที่จะสามารถนำมาสรุปภาพรวม Project ทั้งหมดกับทีมได้
BA VS SA
- โดยสกิลของ BA จะเน้นไปทาง Soft skill และทางด้านการทำเอกสารต่างๆ การพูดคุยและวิเคราะห์ภาพระบบธุรกิจโดยรวม อาจจะมีด้าน Technical นิดหน่อยแต่ไม่ลงลึกเท่ากับ SA
- ส่วนสกิลทางด้าน SA นั้นจะเน้นไปทาง Hard skill มากกว่า เพราะจะต้องทำงานร่วมกับทาง Developer โดยตรงรวมถึงช่วย Support ให้ทาง Developer ทำงานได้สะดวกและรวดเร็วมากขึ้น จึงจำเป็นต้องรู้ทางด้าน Technical มากกว่า BA พอสมควร