เอกสาร
ตัวเลขคำนวณอย่างไร: ตัวชี้วัด flag และเกณฑ์
ทุกค่าที่ BoardMark คำนวณให้ — บอร์ด sprint และ burndown, Insights, ความพร้อมของ release, flag ของ template, RICE และ rollup, สรุปอัตโนมัติ และประมาณการบิล — พร้อมสูตร ใครเห็น และข้อจำกัด
อ่านตัวเลขเหล่านี้อย่างไร
ทุกตัวเลข สถานะ และ flag ในหน้านี้คำนวณจากข้อมูลบนบอร์ดด้วยกฎตายตัวที่อ่านได้ ไม่มี AI ตัดสิน จึงได้ผลเดิมทุกครั้งที่เปิด ตารางส่วนใหญ่มี 4 คอลัมน์: ตัวเลข · วัดอย่างไร · ใครเห็น · ข้อจำกัด (ตารางที่ไม่มีคอลัมน์ “ใครเห็น” บอกไว้ที่ต้นหัวข้อ)
- flag คำนวณตอนอ่าน ไม่เก็บไว้ และไม่เคยย้ายการ์ดให้เอง — ถ้าวันที่หรือฟิลด์เปลี่ยน flag ก็เปลี่ยนตาม
- “วันนี้” และ “วันไหน” ใช้เขตเวลาของบริษัท (บริษัทในไทย = เวลาไทย Asia/Bangkok) ส่วนการนับ seat ของบิลนับเวลา 00:00 เวลาไทย
- วันทำงาน = จันทร์–ศุกร์ ไม่หักวันหยุดนักขัตฤกษ์ ส่วน cycle time และ lead time นับวันตามปฏิทินรวมเสาร์–อาทิตย์
- ประวัติการย้ายสถานะบันทึกครบตั้งแต่ 7 ต.ค. 2569 ตัวเลขที่ต้องใช้ประวัติก่อนวันนั้นจึงอาจขาด
- AI agent อ่านตัวเลขผ่าน MCP ได้ชุดเดียวกับที่คนเห็น ควรรายงานตามที่ได้รับ ไม่เดาเพิ่ม
บนบอร์ด
| ตัวเลข | วัดอย่างไร | ใครเห็น | ข้อจำกัด |
|---|
| WIP และ WIP limit | จำนวนการ์ดในคอลัมน์ตอนนี้เทียบ limit ที่ตั้ง: เกิน = สีเตือน ▲, เต็ม ●, ในเกณฑ์ ✓ | ทุกคนใน project | เป็นคำเตือน ไม่บล็อกการย้าย; On Hold อยู่กลุ่ม to do จึงไม่นับเป็น WIP |
| Throughput ของบอร์ด (Kanban, Delivery pipeline) | การ์ดที่อยู่ในคอลัมน์ Done ตอนนี้ นับตามสัปดาห์ของการเปลี่ยนแปลงครั้งล่าสุด (สัปดาห์ละ 7 วัน) แท่งขวาสุด = สัปดาห์นี้ | ทุกคนใน project | ใช้วันที่แก้ล่าสุด ไม่ใช่วันที่เสร็จ — การ์ดที่แก้หลังเสร็จจะย้ายไปสัปดาห์ที่แก้; ตัวเลขที่แม่นกว่าอยู่ใน Insights |
| การ์ดที่เสร็จบนบอร์ด | Kanban และ Delivery pipeline แสดงการ์ด Done ของสัปดาห์นี้ (ตั้งแต่จันทร์ 00:00) การ์ดที่เสร็จก่อนหน้านั้นออกจากบอร์ด; ถ้าเปิด Releases การ์ดที่เสร็จของ release ที่ขึ้น production แล้วออกจากบอร์ดทันที | ทุกคนใน project | ไม่ได้ลบ — ยังค้นได้ด้วย ⌘K ในหน้า release และผ่าน MCP |
| Sub-tasks x/y | จำนวนการ์ดลูกที่อยู่คอลัมน์กลุ่ม done ÷ การ์ดลูกทั้งหมด | ทุกคนใน project | นับลูกชั้นเดียว |
| Votes (Feedback / Idea box หรือ project ที่เปิด votes) | 1 คน 1 โหวต กดซ้ำเพื่อถอน | ทุกคนใน project; viewer โหวตไม่ได้ | ไม่มีน้ำหนักโหวต |
Sprint, burndown และ velocity (Scrum)
| ตัวเลข | วัดอย่างไร | ใครเห็น | ข้อจำกัด |
|---|
| Burndown | story points ของการ์ดใน sprint ที่ยังไม่อยู่คอลัมน์กลุ่ม done บันทึกวันละครั้ง; เลือก sprint ได้เมื่อเปิด parallel sprints | ทุกคนใน project; agent ใช้ get_burndown | การ์ดไม่มี points นับ 0; เปลี่ยนกลุ่มของคอลัมน์มีผลจากวันนั้น (sprint ที่ปิดแล้วคงตัวเลขเดิม); นำเข้า Jira Cloud ได้ burndown ย้อนหลัง แต่ CSV เริ่มจากวันนำเข้า |
| วันเหลือ / เกินกำหนด | วันที่สิ้นสุด sprint − วันนี้; sprint ที่เลยวันสิ้นสุดแสดงป้ายแดง “เกินกำหนด n วัน” จนกว่าจะมีคนปิด | ทุกคนใน project | sprint ไม่ปิดเอง |
| Points และจำนวนการ์ดของ sprint | รวม points และจำนวนการ์ดใน sprint และส่วนที่เสร็จ | ทุกคนใน project | งานที่ยังไม่เสร็จตอนปิด sprint ไปที่ backlog, sprint ใหม่ หรือ sprint ที่วางแผนไว้ตามที่ผู้ปิดเลือก |
| Velocity | points ที่เสร็จของ 3 sprint ล่าสุดที่ปิดแล้ว (ในรายงาน Sprint review) | ผู้รับรายงาน (Premium) | ไม่คิดค่าเฉลี่ยถ่วงน้ำหนักและไม่พยากรณ์ |
Insights (Premium)
นิยามเต็มอยู่ใน https://www.boardmark.ai/th/docs/insights ตารางนี้สรุปกฎและข้อจำกัด ช่วงเวลา 7 / 30 / 90 วัน ไตรมาส หรือกำหนดเอง (≤ 366 วัน) เทียบกับช่วงยาวเท่ากันก่อนหน้า ผู้ดูแล project เห็นรายคนของ project ผู้ดูแลบริษัทเห็นทุก project สมาชิกทั่วไปเห็นเฉพาะตัวเลขระดับทีม
| ตัวเลข | วัดอย่างไร | ข้อจำกัด |
|---|
| Cycle time (median, p85) | เข้าสถานะกลุ่ม in progress ครั้งแรก → เข้า done ครั้งล่าสุด เป็นวันปฏิทิน | การ์ดที่ข้าม in progress ไป done ตรง ๆ หรือย้ายก่อน 7 ต.ค. 2569 ไม่นับ — หน้าเขียน “วัดได้ n จาก m ใบ” เสมอ |
| Lead time (median) | สร้างการ์ด → done รวมเวลาใน backlog | ยาวกว่า cycle time เสมอ |
| Throughput | การ์ดและ points ที่ done ต่อสัปดาห์ = รวมในช่วง ÷ (วัน ÷ 7) | ไม่มี points = 0 pts แต่นับ 1 ใบ |
| งานค้าง (stuck) | การ์ดกลุ่ม in progress ไม่ย้ายสถานะ ≥ n วันทำงาน (ค่า stuck ของ project ตั้งต้น 3) | แก้ข้อความหรือ comment ไม่นับเป็นการขยับ — นับเฉพาะการย้ายสถานะ |
| งานที่เสร็จต่อคน | การ์ดและ points ที่ done ในช่วง นับให้ผู้รับผิดชอบปัจจุบัน | ไม่ใช่คนที่ย้ายหรือทำจริงเสมอไป; ไม่มีการเทียบรายคนกับช่วงก่อน; ไม่ใช่คะแนนผลงาน |
| สัดส่วน write ของ agent | write ผ่าน AI agent ทุกชนิด ÷ write ทั้งหมด | ตัวเลขกลาง ไม่ใช่ดี / แย่ |
| Bug เปิด vs ปิด | bug ที่สร้างในช่วง เทียบ bug ที่ done ในช่วง | นับเฉพาะการ์ด type bug |
| ต้นทุน release / bug หลัง release | points และจำนวนการ์ดแยก feature / bug; bug หลัง release = bug ที่สร้างใน 14 วันหลังขึ้น production | ไม่มีเงินหรือค่าแรง; release ซ้อนกัน bug นับให้ release ล่าสุดก่อนวันสร้าง |
ความพร้อมของ release
เมื่อเปิด Releases (แพ็กเกจที่จ่ายเงิน) แท็บ Releases ตัดสินสถานะของแต่ละ feature (epic ใน release; การ์ดที่ไม่มี epic อยู่กลุ่ม “งานอื่น”) ตามลำดับนี้ — ข้อแรกที่ตรงคือผล:
| สถานะ | เมื่อไร |
|---|
| Blocked | การ์ดใดของ feature (รวม epic) อยู่ On Hold หรือถูก blocked by การ์ดที่ยังไม่เสร็จ |
| At risk | มี bug ระดับ critical หรือ high ที่ยังเปิดอยู่ มีการ์ดใน Test Rejected หรือเลยวันของ milestone แล้วแต่การ์ดยังไปไม่ถึงขั้นนั้น |
| Ready | ผ่านทุกข้อ: ทุกการ์ด dev done และผ่านทุก environment ก่อน production (Scrum / Kanban: เสร็จทุกใบ) ไม่มี bug critical / high เปิด ไม่มี Test Rejected ไม่ติด |
| On track | ที่เหลือ — กำลังเดินหน้า ยังไม่ครบ |
- สถานะของ release: ยังไม่พร้อม = ข้อบังคับของ gate ไม่ผ่าน · พร้อมแต่มีความเสี่ยง = เหลือเฉพาะข้อไม่บังคับ · พร้อม = ผ่านทั้งหมด · ขึ้น production แล้ว
- gate ตั้งต้น — ตรวจอัตโนมัติ: ทุก feature ผ่าน environment สุดท้ายก่อน production (Scrum / Kanban: เสร็จทุกใบ) ✱, ไม่มี critical bug เปิด ✱, ไม่มี feature ที่ติด ✱, ไม่มี high bug เปิด; ติ๊กโดยคน: Release note ✱, Deployment package ✱, Rollback plan ✱, CAB approval และ Security review (✱ = บังคับ) — ผู้จัดการ release และผู้ดูแลเพิ่มข้อเองได้
- นับ bug ตาม severity ของการ์ด type bug ที่ยังไม่เสร็จ bug ที่ไม่ใส่ severity ไม่ทำให้ At risk
- บน Delivery pipeline เมื่อกดขึ้น production การ์ดในคอลัมน์ Passed สุดท้ายก่อน production ถูกย้ายไป Done ให้ ส่วนการขึ้นทั้งที่ข้อบังคับไม่ผ่านต้องใส่เหตุผล (ลง audit log)
- ใครเห็น: ทุกคนใน project (รวม viewer) เห็นสถานะ feature และ timeline; ผู้จัดการ release (สวิตช์ “จัดการ release”) และผู้ดูแลเห็น gate ทีละข้อและประวัติ scope; สมาชิกเห็นผลรวมของ gate
Flag ของ template
flag คำนวณจากวันที่และฟิลด์ของการ์ดทุกครั้งที่อ่าน ทุก flag เป็นตัวกรองใน list view และค่า flag= ของ search_issues ทุกคนใน project เห็น ค่าที่ “ปรับได้” ตั้งในหน้าตั้งค่าโปรเจกต์
| Flag | Template · บน | กฎ | ข้อจำกัด |
|---|
awaiting_signature | Sales & Billing · ดีล | อยู่ Sent ≥ 7 วันนับจาก sent_at (ปรับได้) | ดีล Lost ไม่มี flag |
bill_due | Sales & Billing · งวด | ยังไม่ออกบิล (ไม่มี invoiced_at) และ bill_on ≤ วันนี้ | — |
due_soon | Sales & Billing · งวด | ออกบิลแล้ว ยังไม่จ่าย due_on ภายใน 3 วัน (ปรับได้) | — |
overdue | Sales & Billing · งวด | ออกบิลแล้ว ยังไม่จ่าย เลย due_on (แสดง n วัน) | ต้องบันทึก paid_at เองเมื่อได้เงิน |
all_paid | Sales & Billing · ดีล | ทุกงวด Paid และ Σ paid_amount ≥ amount แต่ยังไม่ Closed | ไม่ปิดดีลให้เอง |
sla_soon / sla_over | Service desk · คำขอ | sla_due ภายใน 1 วัน / เลย sla_due; sla_due ตั้งจากความเร่งด่วนตอนสร้าง Urgent 1 · High 3 · Normal 7 · Low 14 วัน (ปรับได้) | ไม่มี flag ขณะอยู่ Waiting หรือ Done |
over_budget / spent_warn | Budget planning · รายการงบ | actual > planned / actual ≥ 80% ของ planned (ปรับได้); remaining = planned − actual | ตัวเลขกรอกเอง ไม่ดึงจากบัญชี |
off_track / at_risk / on_track | Roadmap & Goals · เป้าหมาย | off_track = เลย end และ progress < 100 · at_risk = % เวลาที่ผ่านไปของ start→end − % progress > 25 ก่อนถึง end · on_track = ที่เหลือ | ไม่มี flag เมื่อเป้าหมาย done หรือไม่มี start / end |
เตือน: ทุกเช้า 08:00 (เวลาบริษัท) BoardMark แจ้งเจ้าของดีล ผู้ติดตาม และผู้รับผิดชอบ — bill_due เช้าวัน bill_on ครั้งเดียว, due_soon ครั้งเดียว, overdue วันถัดจาก due_on แล้วทุก 7 วันจนจ่าย, awaiting_signature และ all_paid ครั้งเดียว; Service desk มีสวิตช์ SLA due ของตัวเอง; Budget planning แจ้งในกระดิ่งเท่านั้น; off_track แจ้งเจ้าของเป้าหมายครั้งเดียว
RICE, rollup, formula และยอดรวม
| ตัวเลข | วัดอย่างไร | ใครเห็น | ข้อจำกัด |
|---|
| score (RICE) | reach × impact × confidence ÷ effort ปัดทศนิยม 1 ตำแหน่ง | ทุกคนใน project | ว่างจนกรอกครบ 4 ค่า หรือเมื่อ effort = 0 |
| progress (rollup) | ค่าเฉลี่ยของเป้าที่ลิงก์ (relates, blocks, delivers) น้ำหนักเท่ากัน: การ์ดในคอลัมน์ done = 100% อื่น ๆ 0%; release = % การ์ดที่ผ่าน gate สุดท้าย (ขึ้นแล้ว = 100%) | ทุกคนใน project | การ์ดที่ยังทำอยู่นับ 0% ไม่ใช่ครึ่งทาง; ลึกชั้นเดียว; เป้าที่ผู้อ่านเปิดไม่ได้ถูกข้าม คนที่สิทธิ์ต่างกันจึงอาจเห็นต่างกัน |
| linked | จำนวนเป้าที่ลิงก์และผู้อ่านเปิดได้ | ทุกคนใน project | — |
| Delivery · N% (ดีล) | rollup progress ของ release หรือการ์ดที่ลิงก์กับดีล | ทุกคนใน project | กฎเดียวกับ progress |
| formula | a − b, a + b, a / b ของฟิลด์ตัวเลข / เงินในการ์ดเดียวกัน เช่น remaining | ทุกคนใน project | อ่านอย่างเดียว ไม่เก็บไว้ |
| ยอดหัวคอลัมน์และแถวรวม | Sales & Billing: หัวคอลัมน์รวมมูลค่าดีล; ดีลแสดง paid / total และ “เก็บแล้ว n จาก N งวด”; Budget planning: แถว Σ planned / actual / remaining ของแถวที่กรอง | ทุกคนใน project | เงินเก็บทศนิยม 2 ตำแหน่งในสกุลเงินของ project ไม่แปลงสกุล |
สรุปอัตโนมัติ (Premium)
| ตัวเลข | วัดอย่างไร | ใครเห็น | ข้อจำกัด |
|---|
| Standup: ช่วงที่สรุป | ตั้งแต่ standup ครั้งก่อน วันจันทร์รวมตั้งแต่วันศุกร์ | ผู้รับที่ตั้งไว้ เฉพาะ project ที่เขาเปิดได้ | วันที่ไม่มีอะไรเปลี่ยนไม่ส่ง (เปิดฉบับว่างได้); แสดงเฉพาะคนที่ทำอะไร ไม่มีรายชื่อคนที่ไม่ได้ทำ |
| งานค้าง (stuck) | การ์ด in progress ไม่ย้ายสถานะ ≥ n วันทำงาน (ตั้งต้น 3) | ผู้รับ | กฎเดียวกับ Insights |
| เกินกำหนด (overdue) | งวดของ Sales & Billing ที่เลย due_on และคำขอ Service desk ที่เลย sla_due | ผู้รับ | ไม่รวมการ์ดอื่นของ project |
| Bug ที่เปิด | bug ระดับ critical / high ที่ยังไม่เสร็จ | ผู้รับ | bug ไม่ใส่ severity ไม่นับ |
| สุขภาพของ project (รายงานผู้บริหาร) | flag ที่แย่ที่สุดของเป้าหมาย Roadmap & Goals ใน project; ไม่มีเป้าหมาย = ความคืบหน้าของ sprint ที่กำลังทำเทียบเวลาด้วยกฎ off / at risk / on track เดียวกัน; ไม่มีทั้งคู่ = ไม่มีค่า | ผู้รับรายงาน (ผู้ดูแลบริษัทเป็นค่าตั้งต้น) | Kanban / pipeline ที่ไม่มีเป้าหมายไม่มีค่าสุขภาพ |
| Throughput ในรายงานผู้บริหาร | การ์ดที่ done ในช่วง เทียบช่วงก่อนหน้ายาวเท่ากัน | ผู้รับรายงาน | ไม่มี points |
ประมาณการบิลและใบแจ้งหนี้
| ตัวเลข | วัดอย่างไร | ใครเห็น | ข้อจำกัด |
|---|
| seat ที่คิดเงิน | นับ seat ที่เปิดใช้ทุกวัน 00:00 พร้อมแพ็กเกจของวันนั้น: max(0, Σ seat-day − Σ seat-day ฟรี) ÷ จำนวนวันในเดือน ปัดทศนิยม 2 ตำแหน่ง แยกต่อแพ็กเกจ; ฟรีวันละ 2 seat ในวัน Pro (Premium ไม่มี) + seat ของคูปองในวันที่คูปองยังใช้ได้ | ผู้ดูแลบริษัท | seat ที่ suspend / deactivate และ AI agent ไม่คิดเงิน |
| ค่า seat | seat ที่คิดเงิน × ราคาต่อ seat ต่อเดือน (Pro ฿249, Premium ฿329 ก่อน VAT) | ผู้ดูแลบริษัท | วันที่เปลี่ยนแพ็กเกจคิดแพ็กเกจที่สูงกว่า |
| พื้นที่ไฟล์ | พื้นที่สูงสุดของเดือนส่วนที่เกิน 10 GB ปัดขึ้นเป็นก้อน 10 GB ก้อนละ ฿70 | ผู้ดูแลบริษัท | ใช้ค่าสูงสุด ไม่ใช่ค่าเฉลี่ย |
| VAT และหัก ณ ที่จ่าย | VAT 7% ของยอดก่อน VAT; นิติบุคคลเลือกหัก 1% (e-WHT) หรือ 3% ของยอดก่อน VAT; ยอดชำระ = รวม VAT − ภาษีหัก ณ ที่จ่าย | ผู้ดูแลบริษัท | บริษัทนอกไทยจ่าย USD, VAT 0%, ไม่หัก ณ ที่จ่าย |
| ประมาณการเดือนนี้ | จากวันที่นับได้ถึงตอนนี้ในหน้า คอนโซลผู้ดูแล | ผู้ดูแลบริษัท | ยังไม่ใช่ยอดสุดท้าย — ใบแจ้งหนี้ออกวันที่ 1 ของเดือนถัดไป ครบกำหนดใน 15 วัน |
ตัวอย่างคำนวณ 4 กรณีอยู่ใน “บิลของฉันคำนวณอย่างไร? (ตัวอย่าง)” ที่ https://www.boardmark.ai/th/agents/pricing-faq.md และ https://www.boardmark.ai/th/faq
สิ่งที่ BoardMark ไม่วัด
- ไม่มีการจัดอันดับหรือให้คะแนนผลงานรายคน และไม่เทียบคนกับคน
- ไม่มีการบันทึกเวลาทำงาน (time tracking) และไม่มีค่าแรงหรือเงินในต้นทุน release
- ไม่มีการพยากรณ์วันเสร็จ (forecast) หรือ Monte Carlo
- ไม่หักวันหยุดนักขัตฤกษ์ และไม่มีปฏิทินวันทำงานของทีม
- ตัวเลขที่ต้องใช้ประวัติก่อน 7 ต.ค. 2569 อาจไม่ครบ ส่วนการ์ดที่นำเข้าจาก Jira Cloud มีประวัติสถานะจาก Jira