ข้อมูลสำคัญ ที่ Business Analyst (BA) ต้องบันทึกใน Software Requirement Spec.

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

หน้าที่สำคัญ ประการหนึ่งของ Business Analyst หรือ “BA” คือ การรวบรวมความต้องการทางธุรกิจ เพื่อส่งมอบให้ Programmer หรือ Developer นำไปพัฒนา ออกมาเป็น Software Application และเพื่อลดปัญหาเรื่องความเข้าใจที่คลาดเคลื่อน ระหว่าง  ผู้ให้ความต้องการ กับ ผู้ที่มีหน้าที่พัฒนา Software นั้น   BA จำเป็นจะต้องจัดทำเอกสาร Software Requirement Specification หรือ “SRS” เพื่อใช้ในการยืนยันความต้องการกับผู้ใช้งาน ให้ชัดเจน โดยบทความนี้ จะขอแนะนำ ข้อมูลขั้นต้น ที่จำเป็นต้องระบุ ในเอกสาร SRS เพื่อใช้เป็นแนวทาง สำหรับ BA ในการบันทึกและยืนยันความต้องการกับผู้ใช้งาน

เอกสาร Software Requirement Specification หรือ “SRS”  จะประกอบไปด้วยข้อมูล ดังนี้

Part 1 : Application Overview
1.1    Business Objective
อธิบายถึง เป้าหมายของธุรกิจ ที่ต้องการให้ Software Application มาช่วยงาน โดยอาจจะกล่าวถึง ปัญหาของการทำงานในปัจจุบัน หรือ ประโยชน์ที่คาดว่าจะได้รับ จากการใช้ Software Application ที่จะพัฒนาขึ้น เพื่อเป็นการยืนยัน ให้มั่นใจว่า Business Analyst และผู้ใช้งาน Software มีความเข้าใจเป้าหมายทางธุรกิจ ได้ชัดเจน ตรงกัน ก่อนเริ่มจัดทำความต้องการ เพื่อนำไปสร้างเป็น Software Application 
1.2    Business process both “as is” state and “to be” state
อธิบายถึง กระบวนการทำงานขององค์กร ที่เกี่ยวข้องกับ Software Application ที่เราจะพัฒนาขึ้นมาใช้ โดยอธิบายทั้ง กระบวนการทำงานที่เป็นอยู่ในปัจจุบัน หรือ “as is” และ กระบวนการทำงาน ที่ต้องการจะให้เป็น หลังจากที่มีการนำ Software Application มาใช้งานแล้ว หรือ “to be” เพื่อให้มั่นใจว่า การสร้าง Software Application จะไม่ขัดแย้งกับ กระบวนการทำงานขององค์กร
1.3    User Roles & Responsibilities
อธิบายถึง บทบาทหน้าที่ ของผู้ใช้งานกลุ่มต่างๆ  หลังจาก มีการทำงานตามกระบวนการใหม่ และ หลังจากมีการนำ Software Application มาใช้งานในองค์กร เพื่อให้ทราบว่า ใครมีหน้าที่อย่างไร  ใครได้รับผลกระทบบ้าง และต้องมีการเตรียมการณ์อย่างไร จากการนำ Software Application มาใช้งานในองค์กร
1.4    Interaction with other systems
อธิบายถึง การเชื่อมต่อ ระหว่าง Software Application ที่จะพัฒนาขึ้นมา กับ ระบบต่างๆ แวดล้อม ที่อยู่ทั้งภายในองค์กร และภายนอกองค์กร พร้อมเหตุผลความจำเป็นในการเชื่อมต่อ แลกเปลี่ยนข้อมูลกัน เพื่อให้มั่นใจว่า เรามีการพิจารณาการเชื่อมต่อระบบต่างๆ ครบถ้วน
1.5    Replacement of existing systems
อธิบายถึง การนำ Software Application ที่เราจะพัฒนาขึ้นมา ไปทำการทดแทนระบบเดิม ที่องค์กรใช้งานอยู่แล้ว ซึ่งอาจจะต้องมีการย้ายข้อมูล หรือ มีการย้ายกลุ่มผู้ใช้งาน จากระบบเดิม มาสู่ระบบใหม่ ที่จะพัฒนาขึ้น
1.6    Production rollout consideration
อธิบายถึง งาน หรือ กิจกรรมสำคัญ ที่ต้องพิจาณาดำเนินการ ในการนำ Software Application ที่พัฒนาขึ้นมา ไปติดตั้ง และเริ่มใช้งาน โดยจะต้องคำนึงถึง ผลกระทบต่างๆ และ การเตรียมการณ์ก่อนการติดตั้งและเริ่มใช้งานจริง
1.7    Terminology
อธิบายถึง ความหมายของ คำศัพท์ทางเทคนิคต่างๆ ที่จะต้องใช้อธิบายความ และปรากฏในเอกสาร Software Requirement Specification

Part 2 : Functional Requirement
2.1 Use Case Diagram / Description
อธิบายถึง ภาพแสดง ฟังก์ชั่น ที่ User จะใช้งาน Software Application โดยจะแสดงถึง Actor หรือ ผู้ใช้งาน  และ Function Name หรือ ชื่อ Function ต่างๆ ในระบบ  พร้อมคำอธิบายจุดประสงค์การใช้งาน
2.2 Draft Screen Layout
อธิบายถึง ภาพโครงร่างหน้าจอ ของ Software Application ที่จะพัฒนาขึ้น อย่างคร่าวๆ เพื่อให้สอดคล้องกับ ฟังก์ชั่น ที่ผู้ใช้งานจะใช้ตาม Use Case และ เพื่อยืนยันความต้องการ
2.3 Draft Reporting
อธิบายถึง รูปแบบรายงานต่างๆ คร่าวๆ ที่ผู้ใช้งาน จะได้รับ หลังจากมีการบันทึกข้อมูล ลงใน Software Application เรียบร้อยแล้ว เพื่อยืนยัน รูปแบบ และ วิธีการคำนวณข้อมูลต่างๆ ในรายงาน ที่จะถูกสร้างโดยระบบ
2.4 Business Rules
อธิบายถึง กฎ ข้อกำหนด หรือเงื่อนไข ต่างๆ ทางธุรกิจ ที่ Software Application จะต้องใช้เป็นส่วนหนึ่งของการคำนวณ เพื่อให้สามารถทำงานได้ ตามความต้องการของธุรกิจ

Part 3 : Non Functional Requirement
3.1 Information Security Requirement
อธิบายถึง ข้อกำหนดด้านความปลอดภัยข้อมูล ที่ Software Application จะต้องจัดให้มี เช่น การ Login  การกำหนดสิทธิต่างๆของผู้ใช้งาน  การเข้ารหัสข้อมูล เป็นต้น
3.2 Capacity / Performance Requirement
อธิบายถึง ข้อกำหนดด้าน ประสิทธิภาพของระบบ ที่ Software Application จะต้องจัดให้มี เช่น ความเร็วในการตอบสนองการใช้งาน  ความสามารถในการรองรับจำนวนข้อมูลที่เติบโตขึ้น เป็นต้น
3.3 Administration Requirement
อธิบายถึง ฟังก์ชั่น หน้าที่ของ Admin ผู้ดูแลระบบ หลังจากที่ระบบ เริ่มใช้งาน
3.4 Auditing Requirement
อธิบายถึง ฟังก์ชั่น การจัดเก็บ ข้อมูล Log การใช้งานต่างๆของระบบ เพื่อใช้ในการตรวจสอบ

บทความโดย  อาจารย์ อรินทรา ปัญญายุทธการ (PMP)
Knowledger Co.,ltd.
www.knowledgertraining.com