บอร์ด: Scrum, Kanban และ Delivery pipeline
บอร์ด 3 แบบใน BoardMark: Scrum, Kanban และ Delivery pipeline — สถานะ, workflow, WIP limit ต่อคอลัมน์, environment, การลากการ์ด และการแก้ไขพร้อมกัน
บอร์ดแต่ละแบบต่างกันอย่างไร?
| บอร์ด | Sprint | เหมาะกับ |
|---|---|---|
| Scrum | มี | ทีมที่ทำงานเป็นรอบ มี story points, burndown และหน้าวางแผน backlog |
| Kanban | ไม่มี | งานไหลต่อเนื่อง เช่น ดูแลระบบหรือ support เริ่มจากคอลัมน์ Backlog และกำหนด WIP limit ได้ |
| Delivery pipeline | ไม่มี | ทีมที่ต้องรู้ว่าแต่ละ issue อยู่ environment ไหน มีคอลัมน์ทดสอบและผ่านการทดสอบต่อ environment |
คอลัมน์ Backlog บน Kanban ทำงานอย่างไร?
project Kanban มีสถานะ Backlog เป็นคอลัมน์แรกก่อน To Do issue ใหม่เริ่มที่ Backlog และลากไป To Do เมื่อพร้อมทำ คอลัมน์ Backlog พับเก็บได้ project Kanban ที่สร้างก่อนมีฟีเจอร์นี้ ผู้ดูแล project กดเพิ่มคอลัมน์ Backlog ได้ครั้งเดียว
WIP limit ต่อ status กำหนดใน project.md คอลัมน์ที่เกิน limit จะถูกเน้นให้เห็น
Delivery pipeline ทำงานอย่างไร?
ตอนสร้าง project ระบุ environment ตามลำดับการส่งมอบ 1–10 อัน ระบบสร้างคอลัมน์ Backlog · To Do · Test Rejected · Developing · Dev Done แล้วตามด้วย Testing และ Passed ของแต่ละ environment และปิดท้ายด้วย Done บนบอร์ด คอลัมน์ของแต่ละ environment อยู่ใต้แถบหัวข้อเดียวกัน
- issue ที่ทดสอบไม่ผ่านใน environment ใดก็ตาม ย้ายไป Test Rejected แล้วกลับเข้าสู่การพัฒนา
- ผู้ดูแล project เพิ่ม เปลี่ยนชื่อ หรือจัดลำดับ environment ได้ภายหลังในหน้าตั้งค่า project
- ลบ environment ได้เมื่อไม่มี issue อยู่ในคอลัมน์ของ environment นั้น — ระบบแสดงรายการ issue ที่ยังค้างอยู่
- Delivery pipeline ไม่มี sprint
---
key: REL
name: Releases
board_type: pipeline
environments: # 1–10, in delivery order
- { id: develop, name: develop }
- { id: uat, name: UAT }
- { id: prod, name: production }
statuses: # generated from the environments
- { id: backlog, name: "Backlog", category: todo }
- { id: todo, name: "To Do", category: todo }
- { id: test_rejected, name: "Test Rejected", category: in_progress }
- { id: developing, name: "Developing", category: in_progress }
- { id: dev_done, name: "Dev Done", category: in_progress }
- { id: testing_develop, name: "Testing (develop)", category: in_progress }
- { id: passed_develop, name: "Passed (develop)", category: in_progress }
- { id: testing_uat, name: "Testing (UAT)", category: in_progress }
- { id: passed_uat, name: "Passed (UAT)", category: in_progress }
- { id: testing_prod, name: "Testing (production)", category: in_progress }
- { id: passed_prod, name: "Passed (production)", category: in_progress }
- { id: done, name: "Done", category: done }
---Status และ workflow มาจากไหน?
จากไฟล์ project.md ของแต่ละ project ทุก status มี category (todo, in_progress, done) และกำหนดได้ว่าย้ายไป status ใดก็ได้ (any) หรือเฉพาะเส้นทางที่ระบุ project ใหม่ได้ To Do, In Progress, In Review, Test Rejected และ Done
---
key: APP
name: Mobile App
board_type: scrum
statuses:
- { id: todo, name: "To Do", category: todo }
- { id: in_progress, name: "In Progress", category: in_progress }
- { id: in_review, name: "In Review", category: in_progress }
- { id: test_rejected, name: "Test Rejected", category: in_progress }
- { id: done, name: "Done", category: done }
transitions: any # any | explicit list
parallel_sprints: false # Scrum only; off by default
---ย้ายการ์ดอย่างไร?
- ลากการ์ดไปคอลัมน์อื่นเพื่อเปลี่ยน status หรือลากขึ้นลงเพื่อจัดลำดับ
- ลาก issue จากแถบ backlog ลงคอลัมน์ได้โดยตรง — issue จะเข้า sprint ที่กำลังทำงานพร้อม status นั้น
- บนมือถือกดค้างแล้วลาก หรือเปลี่ยน status ในหน้ารายละเอียด issue
- ใช้คีย์บอร์ด: ⇧← / ⇧→ ย้ายคอลัมน์ และ ⇧↑ / ⇧↓ เลื่อนลำดับ
ทุกคนที่เปิดบอร์ดอยู่เห็นการเปลี่ยนแปลงแบบ realtime
ถ้าสองคนแก้ issue เดียวกันพร้อมกันจะเป็นอย่างไร?
ทุกการบันทึกส่ง version ที่อ่านมา ถ้ามีคนบันทึกก่อน ระบบจะไม่เขียนทับ แต่แสดงความแตกต่างให้คุณเลือกเอง: ใช้ของฉัน, ใช้ของอีกฝ่าย หรือรวมการแก้ไข แม้การแก้ไขจะไม่ทับกันก็ตาม