การ Implement ERPNext ไม่ใช่กระบวนการที่ตรงไปตรงมาแบบ 1 ไป 2 และ 3
แม้ว่าจะมี Pattern บางอย่างที่ใช้ซ้ำได้ แต่ในความเป็นจริงแต่ละบริษัทไม่เหมือนกันเลย ทั้ง business process, โครงสร้างทีม และ Pain Points ต่างกันหมด
เพราะงั้น Implementation ต้อง "ปรับตามบริบท" ของแต่ละองค์กร
จากประสบการณ์ นี่คือแนวทางที่ผมใช้เป็น baseline
ขั้นตอนเริ่มต้น (ก่อนลงมือทำจริง)
หา Project Keyman (และทีม)
ก่อนทำอะไรทั้งหมด เราต้องมีคนที่ "รับผิดชอบโปรเจกต์นี้จริงๆ" ภายในองค์กร
คนนี้ต้องมีทั้งทรัพยากรเพียงพอ (ทั้งในรูปเวลา และลูกทีม) ที่จะเข้ามามีส่วนร่วมอย่างจริงจัง และต้องมีอำนาจการตัดสินใจมากพอหรือสามารถคุยกับผู้บริหารได้ ที่จะรวบรวมข้อมูล อนุมัติการเปลี่ยนแปลง Business Process และตัดสินใจในจุดสำคัญได้
คนนี้จะกลายเป็นหัวหน้าทีมของการ Implementation ทั้งหมด หากไม่มีหัวหน้าทีมที่ชัดเจน โปรเจกต์มักจะชะงัก การตัดสินใจล่าช้า และสุดท้ายก็ขาด momentum ไป
ทีมที่เกี่ยวข้อง
สำหรับโปรเจกต์เล็กๆ คนคนเดียวสามารถรับหลายบทบาทได้ บทบาทที่เกี่ยวข้อมีดังนี้
Business Analyst
Business analyst มีหน้าที่แปลงการทำงานจริงของธุรกิจให้กลายเป็น Requirement ของระบบ โดยกระบวนการจะเริ่มจากการศึกษาวิธีการทำงานปัจจุบัน (as-is process) จากนั้นจึงเขียนการระบบการทำงานที่ควรจะเป็น (to-be process) ว่าระบบใหม่ควรทำงานอย่างไร และทำงานร่วมกับ developer เพื่อหาช่องว่างที่ต้องปรับแต่งหรือพัฒนาเพิ่มเติม
ผลลัพธ์ของงานนี้คือ Business Requirement Document และรายการ Task ที่สามารถนำไปลงมือทำต่อได้
Project Manager
Project Manager เป็นเจ้าของ kanban board ติดตาม progress ในทุก workstream แก้ปัญหาก่อนที่จะกลายเป็นความล่าช้า และคอยให้ทีมทุกคนเดินหน้าไปตามแผน
Project manager เป็นคนที่ดูแล kanban board และติดตามความคืบหน้าของงานทั้งหมด ทำหน้าที่ติดตามงานในแต่ละส่วน แก้ไขปัญหาที่อาจทำให้โปรเจกต์ล่าช้า และทำให้ทุกคนในทีมยังคงทำงานไปในทิศทางเดียวกัน
ในทางปฏิบัติ คนนี้คือคนที่ทำให้โปรเจกต์ไม่หลุดจากแผนโดยที่ไม่มีใครรู้ตัว
QA
QA testing ตรวจสอบว่าระบบตรงตาม Business Requirements ที่ Business Analyst กำหนดไว้ ครอบคลุมการทดสอบ Edge Cases การ Validate Workflow และยืนยันว่าสิ่งที่ Implement มาทำงานได้จริงตามที่ธุรกิจต้องการ
Frappe / ERPNext Developer
Developer รับ Business Requirements แล้วเปลี่ยนให้กลายเป็นระบบที่ใช้งานได้จริง ผ่านการ Configure, Customize หรือเขียน Code ซึ่งรวมถึง Print Formats, Reports, Dashboards, Permissions และ Custom Logic ที่จำเป็นเพื่อเติมเต็มช่องว่างที่เหลือ
กำหนดเป้าหมายการ Implement ERP
สำหรับองค์กรขนาดใหญ่ อาจมีงบประมาณเพียงพอที่จะ Implement ระบบทุกแผนกงานพร้อมกันทีเดียว แต่สำหรับธุรกิจขนาดเล็กถึงกลาง Scope แบบนั้นอาจเป็นไปได้ยาก เมื่อคำนึงถึงเวลาและงบประมาณ
แนวทางที่เราแนะนำคือ: เริ่มจากถามว่า "3 Pain Points หลักในธุรกิจของคุณคืออะไร?" จากนั้น Break Down แต่ละ Pain Point ให้กลายเป็น Process และ Task ที่ปฏิบัติได้ วิธีนี้ช่วยให้ Scope จัดการได้ และทำให้ทีมแก้ปัญหาจริง ไม่ใช่ Implement Feature ที่ไม่มีใครต้องการ
การเริ่มจากสิ่งเล็กๆ ยังหมายความว่าเราส่งมอบคุณค่าให้กับธุรกิจได้เร็วขึ้น ซึ่งช่วยสร้างความเชื่อมั่นและการสนับสนุนจากคนในองค์กร
ภาพรวมของบริษัท
การใช้เวลาทำความเข้าใจบริษัทอย่างละเอียดช่วยให้ทุกคนในทีมทำงานด้วยบริบทที่ถูกต้อง ถ้าขาดสิ่งนี้ ความสมมติฐานจะสะสมและเกิดข้อผิดพลาดภายหลัง
สิ่งสำคัญที่ต้องครอบคลุม:
- ภาพรวมธุรกิจ
- ธุรกิจหลัก (แหล่งรายได้หลัก)
- ธุรกิจ support (หน้าที่รองหรือ operational)
- ฝังองค์กร
- โครงสร้างแผนงาน
- ตำแหน่งและความรับผิดชอบ
- ต้นทุนและรายได้หลักของบริษัท
การ Implement
หลังจากกระบวนการเริ่มต้น การ Implement จะเกิดขึ้นทีละหน่วยงาน สำหรับแต่ละหน่วยงานจะทำตาม Task ด้านล่างตามลำดับ
เมื่อวางออกมาทั้งหมด มันจะหน้าตาประมาณนี้บน Notion board: ERPNext Implementation Outline
ภาพรวมและการรวบรวม Requirements
นี่คือ Discovery Phase ที่ไม่ได้มีแผนตายตัวมากนัก เป้าหมายคือได้ภาพรวม ของทุกอย่างที่เกี่ยวข้องกับ แผนกงาน ก่อนจะลงรายละเอียด
ผลลัพธ์ที่ได้:
- เข้าใจ Scope ของแผนกงาน
- เข้าใจหน้าที่หลัก และหน้าที่รอง ของแผนกงาน
- เขียน Business Processes หลัก และ Feature ที่เกี่ยวข้อง
- ระบุข้อมูลที่เกี่ยวข้องและแหล่งข้อมูล
การเตรียมและนำเข้าข้อมูล
ทำ Data Cleansing และเตรียมข้อมูลที่มีอยู่สำหรับการนำข้อมูลเข้า ERPNext ซึ่งมักจะรวมถึงการ Deduplication, Standardize Format และ Map Field เก่าไปยัง Field ใหม่ คุณภาพข้อมูลที่ไม่ดีตรงนี้จะสร้างปัญหาตลอดการ Implement ที่เหลือ
การวางแผน Business Process
ถึงเวลาลงรายละเอียดของแต่ละ Business Process จริงๆ ใครเป็นผู้รับผิดชอบเอกสารแต่ละอัน? ใครเป็นผู้อนุมัติ? จะเกิดอะไรขึ้นเมื่อถูกยกเลิก? รายการบัญชี และตัดสต๊อก เกิดที่ขั้นตอนไหน มีข้อยกเว้นอะไรบ้าง?
ตรงนี้คือที่ที่ Business Analyst ทำงานอย่างเต็มที่ ทุกรายละเอียดของกระบวนการทำงาน ต้องถูกวางแผนก่อนที่จะเริ่ม Config ระบบและพัฒนาระบบได้
ผลลัพธ์ที่ได้:
- เอกสาร Business Processes
- Feature List สำหรับ Developer
การ Program และ Configure
เมื่อมี Business Process ที่ชัดเจนและ Feature list แล้ว Developer ก็ Implement การเปลี่ยนแปลงที่ต้องการ:
- Development
- Print formats
- Reports และ dashboards
- Permissions และ workflow rules
- Workflow automation
กระบวนการ
การ Implement ไม่ใช่การกระทำครั้งเดียว แต่เป็นวงจรการพัฒนาของการปรับปรุง แต่ละ Module จะผ่านขั้นตอนด้านบน และเมื่อทีมเรียนรู้เพิ่มเติมเกี่ยวกับธุรกิจ Module ที่ Implement ไปก่อนหน้านี้ก็มักจะถูกปรับปรุงด้วยเช่นกัน
แหล่งข้อมูลที่มีประโยชน์เพิ่มเติม
- Frappe School - เรียน Frappe Framework และ ERPNext จากคอร์สโดยผู้ดูแลและ community
- Documentation - เอกสาร official ที่ครบถ้วนสำหรับ ERPNext
- User Forum - พูดคุยกับ community ของผู้ใช้ ERPNext และ service providers
ถ้าติดตรงไหน ติดต่อเราได้เลย เรายินดีช่วยเสมอ