การกำหนดเส้นทางตามเกณฑ์สำหรับกฎการอนุมัติที่ยืดหยุ่น
การกำหนดเส้นทางตามเกณฑ์ช่วยให้ทีมเก็บกฎการอนุมัติในตารางตามจำนวน แผนก หรือภูมิภาค ทำให้อัปเดตนโยบายได้โดยไม่ต้องแก้โค้ด

ทำไมกฎอนุมัติที่ฝังไว้ในโค้ดจึงล้มเหลว\n\nกฎอนุมัติที่ฝังไว้ในโค้ดดูเหมือนจะใช้ได้ดีในตอนแรก นักพัฒนาจะเพิ่มเงื่อนไขเล็กน้อย เวิร์กโฟลว์ทำงาน แล้วทีมก็ไปต่อได้\n\nปัญหาปรากฏเมื่อธุรกิจเปลี่ยนแปลง ฝ่ายการเงินเพิ่มวงเงินใช้จ่าย ภูมิภาคหนึ่งมีกฎต่างกัน หรือแผนกหนึ่งต้องการผู้อนุมัติเพิ่มสำหรับคำขอบางประเภท สิ่งที่ดูเหมือนเป็นการอัปเดตเล็กน้อยกลับกลายเป็นการแก้ไขตรรกะของแอป ทดสอบ และรอการปล่อยเวอร์ชัน\n\nความล่าช้านั้นมีค่าใช้จ่ายสูง การอัปเดตนโยบายที่ควรใช้เวลาไม่กี่นาทีอาจใช้เวลาหลายวันเมื่อขึ้นกับงานทางเทคนิค ในช่วงเวลานั้นพนักงานยังคงใช้กฎเก่า การอนุมัติสะดุด และผู้จัดการเริ่มจัดการข้อยกเว้นผ่านอีเมลหรือแชท\n\nข้อยกเว้นที่ซ่อนอยู่ทำให้แย่ลง เมื่อเวลาผ่านไป ทีมมักเพิ่มกฎครั้งเดียวเช่น "ถ้า จำนวน มากกว่า 5,000 และแผนกเป็น Sales ให้ส่งไปยัง Director A" หรือ "ถ้าคำขอจากยุโรป ให้ข้ามขั้นตอนนี้" เมื่อกฎเหล่านั้นอยู่ลึกในเวิร์กโฟลว์ มีเพียงไม่กี่คนเท่านั้นที่เห็นมัน\n\nคำถามง่าย ๆ ก็กลายเป็นยากที่จะตอบ:\n\n- ใครเป็นผู้อนุมัติการซื้อที่เกินจำนวนหนึ่ง?\n- ฝ่ายการตลาดใช้กฎเดียวกับฝ่ายปฏิบัติการหรือไม่?\n- เกิดอะไรขึ้นในภูมิภาคอื่น?\n- ข้อยกเว้นใดถูกเพิ่มเมื่อไตรมาสที่แล้ว?\n\nเมื่อไม่มีใครเห็นชุดกฎทั้งหมด ข้อผิดพลาดก็เกิดขึ้น มีคนคิดว่าตนเองทำตามนโยบาย แต่แอปยังคงใช้กฎเก่า ผู้จัดการคนใหม่ได้รับคำขอที่ไม่ควรเห็น ในขณะที่ผู้อนุมัติที่แท้จริงถูกละเลย\n\nนั่นเป็นเหตุผลที่การกำหนดเส้นทางตามเกณฑ์ทำงานได้ดีกว่าเมื่อกฎการอนุมัติเปลี่ยนแปลงบ่อย แทนที่จะถือกฎเป็นส่วนคงที่ของแอป คุณเก็บกฎเหล่านั้นเป็นข้อมูลธุรกิจที่สามารถทบทวนและอัปเดตได้\n\nลองนึกถึงนโยบายค่าใช้จ่ายง่าย ๆ คำขอที่ต่ำกว่า $1,000 ไปยังหัวหน้าทีม คำขอ $1,000 ถึง $10,000 ไปยังหัวหน้าแผนก และมากกว่านั้นไปยังฝ่ายการเงิน ถ้าขอบเขตเหล่านั้นเปลี่ยนในเดือนหน้า ธุรกิจไม่ควรต้องการนักพัฒนาเพียงเพื่อทำให้การอนุมัติเดินหน้าต่อไป\n\nการฝังกฎไว้ในโค้ดทำให้การอัปเดตนโยบายธรรมดากลายเป็นโครงการซอฟต์แวร์ ซึ่งเป็นต้นทุนที่แท้จริง\n\n## ความหมายของการกำหนดเส้นทางตามเกณฑ์\n\nการกำหนดเส้นทางตามเกณฑ์หมายความว่าเส้นทางการอนุมัติเปลี่ยนแปลงตามค่าที่คุณกำหนดไว้ล่วงหน้า เกณฑ์คือขอบเขต เช่น จำนวนมากกว่า $1,000 คำขอจากแผนกการเงิน หรือการซื้อที่เกิดขึ้นในยุโรป\n\nแทนที่จะเขียนกฎเหล่านั้นลงในแอปโดยตรง คุณเก็บมันในตาราง เวิร์กโฟลว์อ่านตาราง หาเงื่อนไขที่ตรงกัน และส่งคำขอไปยังบุคคลที่ถูกต้อง\n\nการตั้งค่าพื้นฐานอาจหน้าตาแบบนี้:\n\n- คำขอที่ต่ำกว่า $500 ไปยังหัวหน้าทีม\n- คำขอ $500 ถึง $5,000 ไปยังผู้จัดการแผนก\n- คำขอที่มากกว่า $5,000 ไปยังผู้อำนวยการ\n- คำขอของ HR เดินตามเส้นทางหนึ่ง ขณะที่คำขอ IT เดินอีกเส้นทาง\n- North America และ EMEA อาจมีกำหนดผู้อนุมัติที่ต่างกัน\n\nกระบวนการยังคงเหมือนเดิม แต่ค่าที่ควบคุมมันสามารถเปลี่ยนได้\n\n### แยกตรรกะออกจากนโยบาย\n\nนี่คือแนวคิดสำคัญ ตรรกะคือส่วนที่บอกว่า "ตรวจสอบกฎและเลือกการจับคู่แรก" ข้อมูลนโยบายคือรายการกฎเอง: ช่วงจำนวน แผนก ภูมิภาค ผู้อนุมัติ และลำดับความสำคัญ\n\nเมื่อผสมตรรกะและนโยยบาลเข้าด้วยกัน แม้แต่การเปลี่ยนแปลงเล็กน้อยก็อาจต้องนักพัฒนาแก้ไขเวิร์กโฟลว์ เมื่อแยกกัน เวิร์กโฟลว์คงที่และมีเพียงแถวกฎที่เปลี่ยนแปลง\n\nตัวอย่างเช่น หาก Sales ใน APAC ต้องการการอนุมัติของผู้อำนวยการเมื่อมากกว่า $3,000 แทน $5,000 คุณแค่แก้ไขแถวเดียวในตาราง ไม่ต้องสร้างกระบวนการใหม่ทั้งหมด\n\nการจัดการแบบนี้ง่ายกว่าเพราะนโยบายเปลี่ยนบ่อยกว่ารูปแบบกระบวนการ ทีมมีการปรับโครงสร้าง งบประมาณเปลี่ยนแปลง และภูมิภาคมีเจ้าของใหม่ ตารางรับมือได้ดีกว่าการเขียนเงื่อนไขตายตัวในโค้ด\n\nในแพลตฟอร์มแบบไม่ต้องเขียนโค้ดอย่าง AppMaster โดยปกติจะหมายถึงการสร้างตารางกฎและให้กระบวนการทางธุรกิจตรวจสอบในเวลารันไทม์ โมเดลนี้เข้าใจง่ายสำหรับทีมที่ไม่ใช่เทคนิคเพราะมันสอดคล้องกับการเขียนนโยบายในชีวิตจริง: ถ้าเงื่อนไขนี้ตรง ให้ส่งที่นี่\n\n## สิ่งที่ควรใส่ในตารางกฎของคุณ\n\nตารางกฎที่ดีควรตอบคำถามง่าย ๆ ว่า: เมื่อคำขอตรงกับเงื่อนไขเหล่านี้ ใครต้องอนุมัติ?\n\nถ้าการกำหนดเส้นทางขึ้นกับค่าที่ซ่อนอยู่ในโค้ด ทุกการอัปเดตนโยบายจะกลายเป็นการสร้างใหม่ ตารางทำให้การเปลี่ยนเหล่านั้นมองเห็นได้และจัดการได้ง่ายขึ้น\n\nตารางกฎที่ใช้งานได้จริงมักเริ่มจากฟิลด์ที่อธิบายคำขอ:\n\n- amount\n- currency\n- department\n- region\n- request type\n- approver role\n\nจำนวนและสกุลเงินสำคัญเพราะตัวเลขเดียวกันอาจหมายถึงสิ่งต่างกันในงบประมาณหรือประเทศต่าง ๆ คำขอ 5,000 USD อาจเดินตามเส้นทางหนึ่ง ขณะที่ 5,000 EUR หรือ 500,000 JPY อาจต้องเส้นทางอื่น\n\nแผนกและภูมิภาคสะท้อนการทำงานจริงของบริษัท Finance HR และ Operations มักมีเส้นทางอนุมัติแตกต่างกัน แม้จะเป็นค่าใช้จ่ายเท่ากัน ภูมิภาคก็สำคัญเมื่อมีกฎท้องถิ่นหรือผู้จัดการต่างกัน\n\nประเภทคำขอเป็นตัวกรองที่มีประโยชน์อีกอย่าง การเดินทาง การซื้อซอฟต์แวร์ การจ่ายเงินผู้ขาย และการอนุมัติส่วนลดอาจต้องผู้ตรวจคนละแบบ ถ้าไม่มีฟิลด์นี้ คำขอที่ไม่เกี่ยวข้องอาจโดนใช้กฎเดียวกัน\n\nสำหรับผู้อนุมัติ ให้เก็บเป็นบทบาทแทนชื่อบุคคล เช่น Department Manager, Regional Director, หรือ Finance Controller เมื่อมีคนเปลี่ยนตำแหน่ง คุณอัปเดตการมอบหมายบทบาทครั้งเดียวแทนการแก้ไขทุกกฎ\n\nการใส่วันที่เริ่มและสิ้นสุดจะช่วยครอบคลุมนโยบายที่เริ่มในวันใดวันหนึ่ง กฎชั่วคราวในช่วงงบประมาณ หรือการเปลี่ยนแปลงที่วางแผนไว้สำหรับไตรมาสหน้า คุณจะเก็บประวัติได้โดยไม่ปล่อยให้กฎหมดอายุยัง Active\n\nฟิลด์ลำดับความสำคัญก็ควรมี กฎเช่น "EU + Finance + over 10,000" ควรชนะเหนือกฎกว้าง ๆ อย่าง "all departments + over 10,000" ลำดับความสำคัญที่ชัดเจนทำให้การกำหนดเส้นทางคาดเดาได้\n\n## วิธีจัดโครงสร้างตาราง\n\nทำให้โครงสร้างเรียบง่าย: หนึ่งแถวเท่ากับกฎอนุมัติหนึ่งข้อ\n\nถ้าค่าใช้จ่ายการตลาดที่เกิน $2,000 ในยุโรปต้องการผู้จัดการภูมิภาค นั่นควรอยู่ในเรคคอร์ดเดียว เมื่อแต่ละแถวมีความหมายชัดเจน การตั้งค่าจะง่ายต่อการอัปเดต ทดสอบ และตรวจสอบ\n\nตารางหลักควรมุ่งไปที่สองอย่างเท่านั้น: เงื่อนไขที่ทริกเกอร์กฎ และผลลัพธ์ที่บอกเวิร์กโฟลว์ว่าจะทำอะไรต่อ นั่นทำให้มันอ่านง่ายทั้งสำหรับผู้ใช้ธุรกิจและคนสร้างกระบวนการ\n\n### รูปแบบที่ใช้งานได้จริง\n\nตารางสะอาด ๆ มักรวมฟิลด์เหล่านี้:\n\n- rule ID หรือชื่อกฎ\n- สถานะการใช้งาน พร้อมวันที่เริ่มและสิ้นสุดแบบออปชัน\n- คอลัมน์เงื่อนไข เช่น จำนวนขั้นต่ำ จำนวนสูงสุด แผนก ภูมิภาค และประเภทคำขอ\n- คอลัมน์ผลลัพธ์ เช่น บทบาทผู้อนุมัติ ผู้ใช้ผู้อนุมัติ หรือลำดับถัดไป\n- ลำดับความสำคัญและแฟลกกฎเริ่มต้น\n\nสำหรับคอลัมน์เงื่อนไข ให้ใช้ฟิลด์ที่ชัดเจนแทนข้อความฟรีเมื่อเป็นไปได้ ID แผนกปลอดภัยกว่าการพิมพ์ "Finance" ด้วยมือ รหัสภูมิภาค ประเภทคำขอ และศูนย์ต้นทุนก็เช่นกัน ตาราง lookup เล็ก ๆ สำหรับแผนก ภูมิภาค และบทบาทผู้อนุมัติช่วยหลีกเลี่ยงการสะกดผิดและทำให้การกรองง่ายขึ้น\n\nสำหรับคอลัมน์ผลลัพธ์ ให้ตัดสินใจว่าเวิร์กโฟลว์ควรคืนค่าอะไร บางทีมให้กฎชี้ไปยังบุคคลเฉพาะ ในขณะที่ทีมอื่นให้ไปยังบทบาท เช่น Regional Manager หรือ Finance Director เลือกแนวทางหนึ่งและยึดตามมัน\n\nลำดับความสำคัญสำคัญเพราะอาจมีมากกว่าหนึ่งกฎที่ตรงกับคำขอ อย่าอาศัยลำดับแถวหรือวันที่สร้าง เพิ่มฟิลด์ลำดับความสำคัญเชิงตัวเลขและกำหนดวิธีการทำงาน เช่น 1 ตรวจสอบก่อน และ 100 ตรวจสอบทีหลัง\n\nคุณยังต้องมีกฎ fallback นี่คือตาข่ายนิรภัยสำหรับสิ่งที่ไม่ครอบคลุมโดยแถวเฉพาะ กฎเริ่มต้นอาจส่งคำขอที่ไม่ตรงกับใครไปยังผู้จัดการปฏิบัติการหรือคิวรีวิวของแอดมิน หากไม่มีมัน คำขออาจติดโดยไม่มีเส้นทางเลย\n\nถ้าคุณสร้างใน AppMaster ตารางเหล่านี้สามารถแก้ไขแบบมองเห็นได้ ดังนั้นการเปลี่ยนนโยบายเกิดขึ้นในข้อมูลแทนที่จะเป็นสาขาเวิร์กโฟลว์ที่ฝังอยู่ในโค้ด\n\n## วิธีตั้งค่ามัน\n\nเริ่มจากการตัดสินใจ ไม่ใช่จากตาราง เขียนคำถามที่เวิร์กโฟลว์ต้องตอบให้ชัด คำซื้อที่มากกว่า $5,000 ต้องการผู้จัดการไหม? ฝ่ายการเงินตรวจสอบทุกอย่างจาก Sales หรือไม่? คำขอจากภูมิภาคหนึ่งเดินตามเส้นทางต่างออกไปหรือไม่?\n\nเมื่อคำเลือกเหล่านั้นชัด การกำหนดเส้นทางตามเกณฑ์จะง่ายขึ้นเพราะคุณกำลังเก็บนโยบายแทนการคาดเดาตรรกะทีหลัง\n\nการตั้งค่าที่เรียบง่ายมักมีห้าขั้นตอน\n\nอันดับแรก สร้างตารางกฎการอนุมัติด้วยฟิลด์ที่มีผลต่อการกำหนดเส้นทาง คอลัมน์ทั่วไปได้แก่ amount_min, amount_max, department, region, approver_role, priority, และ active_status\n\nอันดับสอง ตัดสินใจว่าฟิลด์ใดสามารถเว้นว่างได้ ช่องว่างของแผนกหรือภูมิภาคอาจหมายถึง "กฎนี้ใช้กับทุกกรณี" เมื่อไม่มีการจับคู่ที่เฉพาะเจาะจงกว่า\n\nอันดับสาม เพิ่มกฎจากเฉพาะไปหากว้าง กฎเช่น "Sales + Europe + over $10,000" ควรตรวจสอบก่อนกฎกว้าง ๆ เช่น "any department + any region + over $10,000"\n\nอันดับสี่ ทดสอบด้วยตัวอย่างจริงก่อนเปิดใช้งาน ใช้กรณีขอบเช่น $5,000 พอดี ข้อมูลแผนกหาย หรือภูมิภาคที่ไม่มีการกำหนดกฎเฉพาะ\n\nอันดับห้า จำกัดผู้ที่สามารถแก้ไขตาราง การเปลี่ยนแปลงนโยบายควรทำได้ง่าย แต่ไม่ควรเปิดให้ทุกคนแก้ไข\n\nนี่คือตัวอย่างง่าย ๆ คำขอ $12,000 จาก HR ใน North America อาจตรงกับกฎสำหรับ "HR over $10,000" ซึ่งส่งไปยังผู้อำนวยการ HR หากไม่มีการกำหนดกฎเฉพาะของ HR ระบบสามารถย้อนกลับไปยังกฎกว้างกว่าเช่น "any department over $10,000" ซึ่งส่งไปยังฝ่ายการเงิน\n\nลำดับมีความสำคัญมากกว่าที่หลายทีมคาด หากกฎกว้างอยู่เหนือกฎเฉพาะ คนผิดจะได้รับคำขอและผู้คนจะเลิกเชื่อถือระบบ\n\nก่อนเปิดใช้งาน มอบเจ้าของคนหนึ่งสำหรับการเปลี่ยนกฎ เก็บเอกสารนโยบายสั้น ๆ และทดสอบอีกครั้งหลังการอัปเดตแต่ละครั้ง การเปลี่ยนแปลงการกำหนดเส้นทางเล็กน้อยสามารถมีผลกระทบใหญ่ได้\n\n## ตัวอย่างง่าย ๆ ในการใช้งานจริง\n\nลองนึกภาพบริษัทที่ใช้ฟอร์มคำขอการซื้อเดียวสำหรับทุกทีม ฟอร์มแต่ละรายการมีจำนวน แผนก และภูมิภาค ระบบตรวจสอบค่าพวกนั้นกับตารางกฎและเลือกผู้อนุมัติที่เหมาะสม\n\nสมมติว่าบริษัทมีสองแผนกคือ Marketing และ IT ทั้งคู่สามารถส่งคำขอ $4,000 ได้ แต่เส้นทางอนุมัติไม่จำเป็นต้องเหมือนกัน\n\n| Department | Region | Amount range | Approver |\n| --- | --- | --- | --- |\n| Marketing | US | $0 to $5,000 | Marketing Manager |\n| Marketing | US | $5,001+ | Finance Director |\n| IT | US | $0 to $3,000 | IT Manager |\n| IT | US | $3,001+ | CTO |\n| Marketing | EU | $0 to $5,000 | Regional Marketing Lead |\n\nตอนนี้เปรียบเทียบคำขอสองรายการที่มีจำนวนเท่ากัน คำขอของ Marketing จำนวน $4,000 ในสหรัฐไปยัง Marketing Manager ส่วนคำขอ IT จำนวน $4,000 ในสหรัฐข้าม IT Manager ไปยัง CTO เพราะ IT กำหนดเกณฑ์ต่ำกว่า\n\nภูมิภาคยังเปลี่ยนผลลัพธ์ได้ด้วย คำขอ Marketing $2,500 ในสหรัฐจะไปยัง Marketing Manager แต่คำขอเดียวกันใน EU จะไปยัง Regional Marketing Lead ฟอร์มยังคงเหมือนเดิม มีเพียงกฎที่จับคู่เท่านั้นที่เปลี่ยนไป\n\nนั่นคือคุณค่าจริงของตารางกฎ นโยบายอยู่ในข้อมูล ไม่ใช่ในตรรกะเวิร์กโฟลว์\n\nถ้าบริษัทอัปเดตนโยบายในเดือนหน้า คุณไม่ต้องสร้างกระบวนการใหม่ทั้งหมด ถ้า IT ตัดสินใจว่าคำขอที่เกิน $2,000 ควรไปยัง CTO ตอนนี้ คุณแก้ไขเพียงแถวเดียว:\n\n- กฎเก่า: IT, US, $3,001+, CTO\n- กฎใหม่: IT, US, $2,001+, CTO\n\nทุกอย่างอื่นยังทำงานต่อไป คำขอใหม่จะปฏิบัติตามนโยบายใหม่ทันทีในขณะที่โครงสร้างแอปยังไม่เปลี่ยนแปลง\n\n## ความผิดพลาดที่พบบ่อยให้หลีกเลี่ยง\n\nส่วนที่ยากที่สุดของการกำหนดเส้นทางตามเกณฑ์มักไม่ใช่แนวคิดหลัก แต่เป็นกรณีขอบที่ยุ่งเหยิงซึ่งปรากฏเมื่อมีการเปลี่ยนแปลงนโยบายและไม่มีใครจำได้ว่าทำไมคำขอถึงไปยังคนที่ไม่ถูกต้อง\n\nข้อผิดพลาดที่พบบ่อยคือกฎที่ทับซ้อนกันโดยไม่มีลำดับความสำคัญชัดเจน คุณอาจมีกฎที่ส่งคำขอ Marketing ที่เกิน $3,000 ไปยังหัวหน้าแผนก และอีกกฎที่ส่งคำขอใด ๆ ที่เกิน $5,000 ไปยังฝ่ายการเงิน คำขอ Marketing $6,000 ตรงกับทั้งคู่ ระบบจึงต้องการผู้ชนะที่ชัดเจน ใส่ลำดับความสำคัญในตารางกฎ ไม่ใช่ในตรรกะเวิร์กโฟลว์ที่ซ่อนอยู่\n\nอีกข้อผิดพลาดคือการ hard-code ชื่อบุคคลแทนบทบาทหรือกลุ่ม ชื่อเปลี่ยน ทีมเปลี่ยน ใครบางคนลาหรือย้ายแผนก ถ้ากฎเขียนว่า "ส่งไป Maria Lopez" คุณจะต้องแก้ไขทุกครั้งที่บุคลากรเปลี่ยน มันปลอดภัยกว่าที่จะส่งไปยังบทบาทเช่น Regional Finance Manager หรือ Sales Director แล้วแมปบทบาทนั้นไปยังคนปัจจุบัน\n\nการขาดเส้นทาง fallback ทำให้เกิดความล้มเหลวเงียบ ๆ สักวันหนึ่งคำขอจะไม่ตรงกับกฎใด ๆ เพราะจำนวนผิดปกติ แผนกใหม่ หรือฟิลด์ว่าง เมื่อเกิดขึ้น เวิร์กโฟลว์ยังควรทำอะไรบางอย่างที่ปลอดภัย เช่น ส่งไปยังคิวเริ่มต้นหรือทีมแอดมิน\n\nข้อยกเว้นตามภูมิภาคเป็นจุดอ่อนอีกจุด หนึ่งนโยบายที่ใช้ได้ในประเทศหนึ่งอาจใช้ไม่ได้ในอีกที่เพราะขอบเขตการใช้จ่ายท้องถิ่น กฎภาษี หรือความต้องการการรายงาน ถ้าคุณทดสอบเพียงภูมิภาคเดียว คุณอาจพลาดกรณีที่ EU US หรือ APAC ควรเดินตามเส้นทางต่างกัน\n\nกฎตามเวลาเองก็มักถูกลืม ถ้าคุณสร้างกฎชั่วคราวสำหรับสิ้นไตรมาส การระงับงบประมาณ หรือโครงการพิเศษ ให้แน่ใจว่ามีวันที่เริ่มและสิ้นสุด กฎหมดอายุควรหยุดใช้โดยอัตโนมัติ มิฉะนั้น ข้อยกเว้นเก่าจะยังคงใช้งานและส่งคำขอไปผิดทาง\n\n## การตรวจสอบขั้นสุดท้ายก่อนเปิดใช้งาน\n\nก่อนเปิดใช้งานการกำหนดเส้นทางตามเกณฑ์ ตรวจสอบจากมุมมองของผู้ใช้จริง คำขอแต่ละรายการควรไปยังผู้อนุมัติที่ถูกต้องโดยไม่ต้องมีใครเดาว่าทำไม\n\nเก็บการทบทวนขั้นสุดท้ายให้ง่าย\n\nตรวจสอบว่าคำขอปกติแต่ละรายการมีการจับคู่ที่ชัดเจน หากสองกฎสามารถใช้ได้พร้อมกัน ผู้ใช้จะได้รับผลลัพธ์ที่ไม่สอดคล้องกัน\n\nตรวจสอบว่ามีกฎ fallback อยู่ ขาดแผนก ภูมิภาคใหม่ หรือจำนวนที่ผิดปกติยังควรไปยังที่ปลอดภัยได้\n\nยืนยันว่าการอัปเดตนโยบายทำได้โดยไม่ต้องพึ่งนักพัฒนา หากฝ่ายการเงินหรือปฏิบัติการต้องเปลี่ยนขีดจำกัด วันที่ หรือผู้อนุมัติ พวกเขาควรแก้ไขเรคคอร์ดในตารางผ่านหน้าจอแอดมิน แทนการขอให้ทีมพัฒนาทำการเปลี่ยนโค้ด\n\nทดสอบวันที่ ไม่ใช่แค่ค่า นโยบายเมื่อวานและนโยบายเดือนหน้าควรทำงานตามที่คาดเมื่อวันที่มีผลถูกตั้งค่า\n\nเขียนตรรกะการกำหนดเส้นทางให้อยู่บนหน้ากระดาษเดียวด้วยภาษาง่าย ๆ หากผู้จัดการอธิบายไม่ได้อย่างชัดเจน แสดงว่าอาจซับซ้อนเกินไป\n\nการทดสอบสุดท้ายที่มีประโยชน์คือสร้างตัวอย่างคำขอห้ารายการที่ครอบคลุมกรณีปกติ กรณีขอบ และกรณีนโยบายล้าสมัย ถ้าทีมคาดผลลัพธ์ได้ก่อนรัน แปลว่าการตั้งค่าพร้อมใช้งาน ถ้าไม่ ให้ทำให้เรียบง่ายขึ้น\n\n## ขั้นตอนถัดไป\n\nเริ่มจากเล็ก ๆ เลือกโฟลว์การอนุมัติหนึ่งรายการที่สร้างความล่าช้าหรือความสับสนมากที่สุด เช่น คำขอซื้อเกินจำนวนที่กำหนด หรือการเบิกค่าใช้จ่ายตามแผนก สร้างสิ่งนั้นก่อน ทดสอบกับกรณีจริง แล้วเพิ่มประเภทกฎอื่น ๆ ต่อไป\n\nแนวทางนี้ทำให้โมเดลการกำหนดเส้นทางเชื่อถือได้มากขึ้น ผู้คนเห็นว่ากฎทำงานอย่างไร ข้อยกเว้นเกิดขึ้นที่ไหน และต้องเปลี่ยนอะไรก่อนที่การตั้งค่าจะขยายตัว\n\nการเปิดตัวครั้งแรกควรตอบคำถามพื้นฐานสี่ข้อ:\n\n- ประเภทคำขอใดควรอัตโนมัติเป็นอันดับแรก?\n- ฟิลด์ใดควบคุมการกำหนดเส้นทาง เช่น จำนวน แผนก หรือภูมิภาค?\n- ใครเป็นผู้อนุมัติแต่ละกรณีในปัจจุบัน?\n- ใครจะอัปเดตกฎเมื่อมีการเปลี่ยนแปลงนโยบาย?\n\nข้อสุดท้ายสำคัญมาก ถ้าไม่มีใครเป็นเจ้าของการอัปเดตนโยบาย เวิร์กโฟลว์จะค่อย ๆ เบี่ยงเบนจากการทำงานจริงของธุรกิจ จัดหาคนหนึ่งหรือทีมเล็ก ๆ ให้ทบทวนการเปลี่ยนกฎ อนุมัติการแก้ไข และเก็บบันทึกสั้น ๆ ว่าทำไมถึงเปลี่ยนแปลง\n\nยังช่วยได้ถ้ากำหนดตารางการทบทวน หากนโยบายเปลี่ยนบ่อย ทบทวนทุกเดือน หากกระบวนการค่อนข้างนิ่ง ไตรมาสละครั้งอาจเพียงพอ การทบทวนสั้น ๆ สามารถจับขีดจำกัดที่ล้าสมัย แผนกที่หายไป หรือข้อยกเว้นภูมิภาคก่อนที่จะสร้างความล่าช้า\n\nเก็บการทบทวนให้ใช้งานได้จริง ถามคำถามเรียบง่าย: การอนุมัติไปยังคนที่ถูกต้องไหม ทีมใดมีการเปลี่ยนโครงสร้าง ขีดจำกัดปัจจุบันยังตรงกับนโยบายการเงินหรือไม่ และมีการบายพาสด้วยมือมากเกินไปหรือไม่?\n\nหากคุณต้องการสร้างแบบเห็นภาพ AppMaster เหมาะสำหรับการสร้างตารางกฎ กระบวนการกำหนดเส้นทาง และหน้าจอแอดมินที่ให้พนักงานที่ไม่ใช่เทคนิคอัปเดตนโยบายโดยตรงแทนการส่งการเปลี่ยนทุกครั้งกลับไปหานักพัฒนา\n\nเมื่อโฟลว์หนึ่งทำงานได้ดี ให้ใช้รูปแบบเดียวกันกับกระบวนการถัดไป ขั้นตอนเล็ก ๆ ชัดเจนมักดีกว่าการสร้างระบบใหม่ทั้งหมด\n
คำถามที่พบบ่อย
หมายถึงแอปเลือกเส้นทางการอนุมัติจากข้อมูลกฎแทนการกำหนดแขนงเวิร์กโฟลว์แบบตายตัว ตัวอย่างเช่น จำนวน แผนก หรือภูมิภาคจะตัดสินว่าใครเป็นผู้อนุมัติ และคุณสามารถเปลี่ยนค่าเหล่านั้นในตารางโดยไม่ต้องสร้างกระบวนการใหม่ทั้งหมด
กฎที่ฝังอยู่ในโค้ดทำงานได้ในตอนแรก แต่ทุกการเปลี่ยนแปลงนโยบายจะกลายเป็นงานทางเทคนิคที่ต้องทดสอบและปล่อยเวอร์ชัน ตารางกฎเร็วกว่าตรงที่เวิร์กโฟลว์ไม่เปลี่ยน แค่ค่าในตารางเปลี่ยน
เริ่มจากฟิลด์ที่มีผลต่อการกำหนดเส้นทาง เช่น จำนวนขั้นต่ำ จำนวนสูงสุด สกุลเงิน แผนก ภูมิภาค ประเภทคำขอ บทบาทผู้อนุมัติ ลำดับความสำคัญ และสถานะการใช้งาน หากมีนโยบายชั่วคราวให้ใส่วันที่เริ่มและสิ้นสุดด้วย
โดยทั่วไปควรเก็บบทบาทมากกว่าชื่อบุคคล หากคุณกำหนดเส้นทางไปยังบทบาทเช่น Finance Director หรือ Department Manager การเปลี่ยนแปลงพนักงานจะจัดการได้โดยการอัปเดตการแมปบทบาทเพียงครั้งเดียว แทนการแก้ไขกฎหลายรายการ
ใช้ฟิลด์ลำดับความสำคัญที่ชัดเจนและกำหนดว่าค่าใดชนะ ระบบควรตรวจสอบกฎที่เฉพาะเจาะจงที่สุดก่อน ดังนั้นกฎแคบ ๆ อย่าง EU + Finance + over 10,000 ควรชนะเหนือกฎกว้าง ๆ ที่ครอบคลุมทุกแผนก
เพิ่มกฎสำรองไว้ หากคำขอมีข้อมูลขาดหายหรือไม่ตรงกับแถวใด ๆ ควรส่งไปยังคิวปลอดภัย ทีมแอดมิน หรือผู้อนุมัมเริ่มต้น แทนที่จะติดอยู่โดยไม่มีเส้นทาง
ได้ หากการตั้งค่าสร้างขึ้นให้เป็นแบบนั้น ใน AppMaster คุณสามารถเก็บกฎไว้ในตารางและให้กระบวนการทางธุรกิจอ่านในเวลารันไทม์ เพื่อให้พนักงานที่ได้รับอนุญาตแก้ไขข้อมูลนโยบายผ่านหน้าจอแอดมินโดยไม่ต้องแตะโค้ด
วันที่มีผลช่วยให้คุณวางแผนการเปลี่ยนแปลงและปิดข้อยกเว้นชั่วคราวโดยอัตโนมัติ มีประโยชน์ในช่วงสิ้นไตรมาส การระงับงบประมาณ หรือการเปลี่ยนแปลงนโยบายที่จะเริ่มในอนาคต
ทดสอบกรณีจริงก่อนเปิดใช้งาน โดยเฉพาะขอบเขต เช่น ค่าตัดกันที่แน่นอน ฟิลด์ว่าง แผนกใหม่ ข้อยกเว้นตามภูมิภาค และนโยบายที่หมดอายุ เพื่อให้แน่ใจว่าคำขอแต่ละรายการมีเส้นทางที่ชัดเจน
เริ่มจากโฟลว์การอนุมัติที่สร้างความล่าช้าหรือความสับสนมากที่สุด เช่น คำขอซื้อเกินจำนวนที่กำหนด หรือค่าใช้จ่ายตามแผนก ทำเวอร์ชันแรกให้เรียบง่าย ทดสอบกับกรณีจริง แล้วนำรูปแบบไปใช้กับกระบวนการอื่น


