โมเดล Kanban ในวิศวกรรมซอฟต์แวร์คืออะไร?

⚡ สรุปอย่างชาญฉลาด

โมเดล Kanban ในวิศวกรรมซอฟต์แวร์แสดงภาพงานทุกอย่างบนกระดาน จำกัดปริมาณงานที่กำลังดำเนินการ และดึงงานใหม่เข้ามาก็ต่อเมื่อมีกำลังการทำงานว่างลงเท่านั้น ทำให้ทีมส่งมอบงานที่เสร็จสมบูรณ์ได้อย่างสม่ำเสมอและคาดการณ์ได้

  • 🧭 ต้นทาง: วิศวกรของโตโยต้าสร้างระบบ Kanban ขึ้นในทศวรรษ 1940 เพื่อใช้เป็นสัญญาณการเติมสินค้าแบบทันเวลาพอดี และทีมพัฒนาซอฟต์แวร์ก็ยังคงนำสัญญาณนั้นมาใช้ในปัจจุบัน
  • 🗂️ การ์ด: บัตรทุกใบจะมีลำดับความสำคัญ เจ้าของ ประเภท และวันครบกำหนด ทำให้ความเป็นเจ้าของชิ้นงานนั้นไม่คลุมเครือ
  • 📋 คอลัมน์: คอลัมน์ต่างๆ แสดงสถานะการทำงานจริง เช่น งานที่ต้องทำ การพัฒนา การทดสอบ และเสร็จสิ้น ทำให้ทุกคนสามารถมองเห็นสถานะได้ทันที
  • 🚦 ข้อจำกัดของงานระหว่างดำเนินการ: กำหนดค่าสูงสุดให้กับแต่ละคอลัมน์ด้วยจำนวนเต็มบวก จะไม่มีการ์ดใหม่เข้าสู่คอลัมน์นั้นจนกว่าจะมีการ์ดที่มีอยู่ถูกนำออกจากคอลัมน์นั้น
  • 🔁 ระบบดึง: สมาชิกในทีมจะหยิบการ์ดใบถัดไปก็ต่อเมื่อทำใบปัจจุบันเสร็จแล้วเท่านั้น ซึ่งจะช่วยลดการทำงานหลายอย่างพร้อมกันและคิวที่ไม่ได้ใช้งาน
  • 📈 เมตริก: Tracแสดงค่า k ของระยะเวลานำส่ง ระยะเวลาวงจร และปริมาณงานบนแผนภาพการไหลสะสม เพื่อเปิดเผยปัญหาคอขวดพร้อมหลักฐาน
  • ⚙️ การปรับปรุง: ปรับแต่งขีดจำกัด นโยบาย และคอลัมน์ทีละน้อยแทนที่จะออกแบบกระบวนการใหม่ทั้งหมดในคราวเดียว

Kanban คืออะไร?

Kanban เป็นกรอบการทำงานที่ได้รับความนิยมอย่างมากสำหรับการพัฒนาวิธีการพัฒนาซอฟต์แวร์แบบอไจล์ โดยให้วิธีที่โปร่งใสในการแสดงภาพงานและความสามารถในการทำงานของทีม โดยส่วนใหญ่จะใช้กระดานจริงและดิจิทัลเพื่อให้สมาชิกในทีมเห็นภาพสถานะปัจจุบันของโครงการที่พวกเขากำลังดำเนินการอยู่

คัมบังถือกำเนิดขึ้นในโตโยต้าในช่วงทศวรรษปี 1940 ความหมายของคัมบังในภาษาญี่ปุ่นคือ "ป้ายโฆษณา" บอร์ดคัมบังประกอบด้วยเสาและการ์ดเรื่องราว คอลัมน์นั้นไม่มีอะไรเลย แต่สถานะเวิร์กโฟลว์และการ์ดนั้นไม่มีอะไรมากไปกว่าการสาธิตงานจริงที่สมาชิกในทีมกำลังดำเนินการอยู่

การ์ดเหล่านั้นส่งสัญญาณแบบทันเวลาพอดี (just-in-time): สถานีจะขอชิ้นส่วนก็ต่อเมื่อต้องการใช้จริงเท่านั้น ดังนั้นจึงไม่มีการผลิตล่วงหน้า ระบบ Kanban ยังคงรักษาแนวคิดนั้นไว้ มันเป็นวิธีการที่นำมาใช้กับกระบวนการที่มีอยู่แล้ว ไม่ใช่การแทนที่กระบวนการเดิม ดังนั้นจึงเหมาะกับทุกรูปแบบ วงจรชีวิตการพัฒนาซอฟต์แวร์ โมเดลที่คุณใช้งานอยู่แล้ว

เมื่อใดจึงจะใช้คัมบัง?

ระบบ Kanban เหมาะสำหรับทีมที่มีงานเข้ามาอย่างไม่แน่นอน และจำเป็นต้องปล่อยผลงานออกสู่ตลาดทันทีที่เสร็จสมบูรณ์ นี่คือเหตุผลหลักในการใช้ระบบ Kanban:

  • Kanban สามารถใช้กับโดเมนใดก็ได้ และสามารถใช้ได้อย่างมีประสิทธิภาพในการพัฒนาซอฟต์แวร์ การจัดการโครงการ Kanban ช่วยในการปรับปรุงประสิทธิภาพของทีม
  • มันเป็นระบบแบบดึง งานจะถูกดึงออกทันทีที่บุคคลว่าง
  • ควรใช้ Kanban เมื่อคุณต้องการปล่อยงานของคุณได้ตลอดเวลา มันต้องมีการแตกแขนงคอมไพล์ แต่สามารถทำได้
  • ควรใช้ Kanban เมื่อคุณต้องการเปลี่ยนลำดับความสำคัญได้ทันที เพื่อสิ่งนั้น สิ่งที่คุณต้องทำคือวางเรื่องราวนี้ไว้ด้านบนสุดของคิวสิ่งที่ต้องทำ
  • ควรใช้เมื่อคุณต้องการแสดงภาพงานของคุณและคุณต้องการเห็นความคืบหน้าของงานด้วยภาพ

ความเหมาะสมเป็นเพียงครึ่งหนึ่งของการตัดสินใจ ส่วนผลตอบแทนที่แสดงด้านล่างคืออีกครึ่งหนึ่ง

ประโยชน์ของวิธีการคันบัน

ข้อโต้แย้งที่แข็งแกร่งที่สุดของ Kanban คือมันช่วยปรับปรุงการส่งมอบงานโดยไม่ต้องปรับโครงสร้างองค์กรใหม่ ไม่มีใครเปลี่ยนตำแหน่ง และไม่มีการกำหนดปฏิทินสปรินต์ แต่บอร์ดจะทำให้เห็นคิว ปัญหาที่ขัดขวาง และคนที่ทำงานหนักเกินไปตั้งแต่วันแรก ปัญหาคอขวดที่ทุกคนมองเห็นได้มักจะได้รับการแก้ไข

ทีมที่ใช้ Kanban อย่างสม่ำเสมอจะได้รับประโยชน์ดังต่อไปนี้:

  • ระยะเวลาการจัดส่งสั้นลง: ข้อจำกัดของ WIP จะช่วยลดเวลาที่การ์ดใช้ในการรอ ซึ่งเป็นสาเหตุที่ทำให้เกิดความล่าช้ามากที่สุด
  • ความยืดหยุ่นที่สูงขึ้น: รายการเร่งด่วนสามารถขึ้นมาอยู่ด้านบนสุดของคอลัมน์สิ่งที่ต้องทำได้ทุกเมื่อ โดยไม่ต้องรอเวลาใดๆ เพิ่มเติม
  • การทำงานร่วมกันที่ดีขึ้น: เมื่อคอลัมน์ใดคอลัมน์หนึ่งถึงขีดจำกัด สมาชิกฟรีจะช่วยกันเคลียร์คอลัมน์นั้นแทนที่จะเริ่มต้นคอลัมน์ใหม่
  • การเพิ่มขีดความสามารถของพนักงาน: แต่ละบุคคลสามารถเลือกบัตรใบต่อไปของตนเองและเป็นเจ้าของสถานะของบัตรนั้น ซึ่งช่วยขจัดปัญหาคอขวดในการอนุมัติ
  • การพยากรณ์ที่คาดการณ์ได้: ระยะเวลาดำเนินการตามประวัติที่ผ่านมาช่วยให้สามารถประมาณการการส่งมอบได้อย่างมีข้อมูลสนับสนุน แทนที่จะเป็นการคาดเดา
  • Less ของเสีย: จะไม่มีการเริ่มต้นใด ๆ จนกว่าระบบจะมีศักยภาพเพียงพอที่จะดำเนินการให้แล้วเสร็จ

ผลลัพธ์เหล่านี้เกิดจากหลักการสี่ประการที่ควบคุมการนำ Kanban ไปใช้ทุกรูปแบบ

หลักการสี่ประการของคัมบัง

ต่อไปนี้คือหลักการสำคัญสี่ประการของระบบ Kanban:

  1. เริ่มจากสิ่งที่คุณมีตอนนี้: ระบบ Kanban แนะนำการทำงานแบบค่อยเป็นค่อยไปและเริ่มต้นด้วยสิ่งที่คุณมีในปัจจุบัน เนื่องจากหนึ่งในแนวทางปฏิบัติคือการปรับปรุงอย่างต่อเนื่อง คุณจะต้องปรับปรุงระบบอย่างค่อยเป็นค่อยไป
  2. ตกลงที่จะติดตามการเปลี่ยนแปลงเชิงวิวัฒนาการที่เพิ่มขึ้น: Kanban แนะนำให้ทำการเปลี่ยนแปลงทีละส่วนในกระบวนการ และคุณต้องไม่ทำการเปลี่ยนแปลงครั้งใหญ่ในกระบวนการในคราวเดียว
  3. เคารพกระบวนการ บทบาท และความรับผิดชอบในปัจจุบัน: อีกครั้งหนึ่ง ให้เริ่มจากสิ่งที่คุณมีตอนนี้และเปลี่ยนแปลงกระบวนการ บทบาท และความรับผิดชอบในลักษณะที่เพิ่มขึ้นทีละน้อย
  4. ส่งเสริมการเป็นผู้นำในทุกระดับ: ทุกคนสามารถทำหน้าที่เป็นผู้นำและเสนอแนวคิดเพื่อปรับปรุงประสิทธิภาพของระบบคัมบังโดยรวมได้ คุณไม่ควรคิดว่านี่เป็นกิจกรรมระดับผู้บริหาร และแม้แต่สมาชิกที่อายุน้อยที่สุดในทีมก็สามารถทำหน้าที่เป็นผู้นำได้

หลักการอธิบายถึงกรอบความคิด ส่วนการปฏิบัติทั้งหกข้อด้านล่างนี้อธิบายถึงพฤติกรรมในชีวิตประจำวันที่นำหลักการเหล่านั้นไปปฏิบัติใช้จริง

แนวทางปฏิบัติหลักหกคัมบัง

ต่อไปนี้คือหลักปฏิบัติหลัก 6 ประการของ Kanban:

  1. เห็นภาพขั้นตอนการทำงานหลักการนี้แนะนำให้ใช้กระดาน Kanban (ทั้งแบบกายภาพหรือดิจิทัล) เพื่อแสดงภาพรวมของขั้นตอนการทำงาน สมาชิกแต่ละคนในทีมต้องเห็นการ์ดของตนเองและของสมาชิกคนอื่นๆ ในทีม คุณสามารถย้ายการ์ดของคุณไปยังคอลัมน์ต่างๆ ได้ตามรูปแบบของกระดาน ซึ่งจะช่วยเพิ่มความโปร่งใสภายในทีมและทำให้แก้ไขปัญหาที่ติดขัดได้ง่ายขึ้น
  2. จำกัดงานที่กำลังดำเนินอยู่: Kanban เป็นระบบ pull-based และช่วยปรับปรุงประสิทธิภาพของทีมเพื่อจำกัดงานที่กำลังดำเนินการและมีงานที่ทีมสามารถทำได้ให้แล้วเสร็จภายในกรอบเวลาที่กำหนด ขีดจำกัด WIP นี้มีผลตั้งแต่ต้นจนจบเวิร์กโฟลว์ คุณสามารถใช้ขีดจำกัดที่ด้านบนของคอลัมน์ได้โดยใช้จำนวนเต็มบวก
  3. มุ่งเน้นไปที่การไหล: หลักการนี้เน้นไปที่การไหลและการหยุดชะงักใดๆ หากมีการขัดจังหวะหรือขัดขวาง จะต้องได้รับการแก้ไขอย่างถาวร
  4. นโยบายที่ชัดเจน: สามารถกำหนดนโยบายเป็นทีมเพื่อลดการทำงานซ้ำและมุ่งเน้นไปที่พื้นที่ที่ต้องการความสนใจหรือจุดที่มีประสิทธิภาพมากกว่า
  5. คำติชมวน: Feedback loops มีความสำคัญมากใน Kanban มันไม่ได้เป็นเพียงภายในทีม แต่ระหว่างหลายทีม โค้ช ฯลฯ ซึ่งช่วยในการปรับปรุงสุขภาพโดยรวมของระบบคัมบัง
  6. ปรับปรุงอย่างต่อเนื่อง: นี่คือหลักการสำคัญของระบบคัมบัง โดยระบุว่าคุณสามารถปรับปรุงกระบวนการได้ตลอดเวลา และนั่นจะส่งผลให้มีประสิทธิภาพดีขึ้น

การปฏิบัติงานจำเป็นต้องมีผู้รับผิดชอบ ซึ่ง Kanban มีวิธีการจัดการที่แตกต่างจากวิธีการอื่นๆ วิธีการที่คล่องตัว.

บทบาทและความรับผิดชอบของระบบ Kanban

Kanban ไม่กำหนดตำแหน่งงานใหม่ และนั่นเป็นเจตนา เพราะหลักการข้อที่สามขอให้คุณเคารพบทบาทที่คุณมีอยู่แล้ว นักพัฒนาซอฟต์แวร์ก็ยังคงเป็นนักพัฒนาซอฟต์แวร์ต่อไป ในทางปฏิบัติแล้ว เมื่อบอร์ดมีความพร้อมมากขึ้น จะมีหน้าที่รับผิดชอบสองอย่างเกิดขึ้น และการนำไปใช้ในระบบที่พร้อมเต็มที่แล้วมักจะระบุหน้าที่เหล่านั้นไว้อย่างชัดเจน

การขอ ผู้จัดการฝ่ายจัดส่งสินค้า บุคคลนี้มีหน้าที่ควบคุมการไหลของงานผ่านบอร์ด คอยตรวจสอบการ์ดที่หยุดนิ่ง แจ้งปัญหาที่ขัดขวางการทำงาน รักษาปริมาณงานในคอลัมน์ให้อยู่ในขอบเขตที่กำหนด และดำเนินการตรวจสอบที่ทีมตรวจสอบข้อมูลเวลาการทำงานของตนเอง ผู้จัดการคำขอรับบริการ เป็นเจ้าของสิ่งที่ปรากฏบนกระดาน เป็นตัวแทนของลูกค้าที่ยื่นคำขอ จัดเรียงคอลัมน์สิ่งที่ต้องทำเพื่อให้รายการที่มีมูลค่าสูงสุดอยู่ด้านบน และกำหนดนโยบายการคัดเลือกอย่างชัดเจน

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

การ์ดคัมบัง

วิธีการ Kanban แนะนำให้มองเห็นภาพรวมของงาน โดยแนะนำให้ใช้ทั้งกระดานจริงและกระดานดิจิทัล และกระดานด้านล่างแสดงให้เห็นถึงคอลัมน์ต่างๆ ที่มีบัตรกระจายอยู่ทั่วแต่ละคอลัมน์

การ์ดคัมบังเป็นส่วนสำคัญบนกระดานคัมบังเนื่องจากแสดงถึงงานที่ทีมกำลังทำอยู่ การ์ดเหล่านี้ก็จะมี

  1. ลำดับความสำคัญ
  2. เจ้าของ
  3. ประเภท
  4. วันครบกำหนด

คอลัมน์ในบอร์ด Kanban แสดงถึงขั้นตอนการทำงาน และคุณสามารถวางขีดจำกัด WIP (งานระหว่างดำเนินการ) ไว้ในคอลัมน์ได้ ขีดจำกัด WIP หมายถึงจำนวนการ์ดสูงสุดที่สามารถอยู่ในคอลัมน์นั้นได้.

เนื่องจากวิธีการ Kanban ใช้ระบบแบบดึง (pull-based system) ดังนั้นเมื่อใดก็ตามที่นักพัฒนาว่าง พวกเขาสามารถดึงการ์ดจากคอลัมน์สิ่งที่ต้องทำ (to-do) ไปยังคอลัมน์การพัฒนา (dev) ได้ กระดานที่เก็บการ์ดเหล่านั้นสมควรได้รับการพิจารณาอย่างละเอียดมากขึ้น

คณะกรรมการคัมบัง

คณะกรรมการคัมบัง เป็นเครื่องมือการจัดการโครงการแบบว่องไวที่ช่วยนำ Kanban ไปใช้ในการจัดการโครงการเพื่อวัตถุประสงค์ส่วนตัวและทางธุรกิจ เป็นบอร์ดทางกายภาพหรือดิจิทัล (JIRA) ที่ออกแบบมาเพื่อช่วยให้ทีมเห็นภาพการทำงานของตนในขั้นตอนและกระบวนการต่างๆ นอกจากนี้ยังช่วยแสดงขั้นตอนการทำงานกับคอลัมน์โดยใช้การ์ดอีกด้วย

มีคอลัมน์แสดงสถานะของงาน เช่น

  1. ทำ,
  2. dev
  3. การทดสอบ
  4. เสร็จสิ้น

แต่ละคอลัมน์เหล่านี้สามารถมีการ์ด <=ขีดจำกัด WIP การ์ดแสดงถึงงานจริง

คุณสามารถใช้ตัวเลขบวกเพื่อจำกัดปริมาณงานที่กำลังดำเนินการอยู่ และสามารถวางตัวเลขจำกัดนี้ไว้ที่ด้านบนของคอลัมน์ทั้งในกระดาน Kanban จริงและดิจิทัล สมาชิกในทีมแต่ละคนสามารถจัดการสถานะของการ์ดของตนเองได้ และทั้งทีมสามารถมองเห็นภาพรวมของขั้นตอนการทำงานได้ Digiกระดานดำ เช่น จิระ เพิ่มข้อจำกัดเดียวกันด้วยเวลาวงจรอัตโนมัติ tracต่อไป เราจะมาเรียนรู้เกี่ยวกับเวิร์กโฟลว์ Kanban ที่คอลัมน์เหล่านั้นแสดงถึงกัน

เวิร์กโฟลว์คัมบัง

เวิร์กโฟลว์คัมบัง คือชุดขั้นตอนที่ช่วยให้ทีมกำหนดนโยบายและหลักการที่ชัดเจนใน Kanban โดยแสดงถึงกฎและขั้นตอนต่างๆ ในขณะที่งานกำลังดำเนินอยู่ในขั้นตอนต่างๆ ของวงจรการพัฒนาและการส่งมอบ เวิร์กโฟลว์คัมบังประกอบด้วยกระบวนการทีละขั้นตอนระหว่างการเริ่มต้นและการส่งมอบงานเฉพาะ

Kanban หลักพื้นฐานดังต่อไปนี้คือ “หยุดเริ่ม เริ่มจบ” ด้วยความช่วยเหลือของขีดจำกัด WIP ทำให้งานเสร็จได้มากขึ้น มีเวิร์กโฟลว์และสถานะคัมบังที่ปรับแต่งได้ซึ่งมีอยู่ในเครื่องมือสมัยใหม่ใดๆ เช่น JIRA

ด้านล่างนี้คือสถานะพื้นฐานที่ทีมซอฟต์แวร์จำนวนมากปฏิบัติตามในการจัดการเวิร์กโฟลว์

สหรัฐอเมริกา ความเข้าใจในหน้าที่การงาน
ทำ งานมาถึงที่นี่เป็นครั้งแรกในสถานะนี้
พร้อมสำหรับการวิเคราะห์ วิเคราะห์งานและเพิ่มข้อกำหนดให้ครบถ้วน
พร้อมสำหรับการพัฒนา การวิเคราะห์เสร็จสิ้นและเริ่มการพัฒนาได้
ในการพัฒนา งานกำลังได้รับการพัฒนา
พร้อมสำหรับการทดสอบ การพัฒนาเสร็จสมบูรณ์ และตอนนี้สามารถเริ่มการทดสอบได้
ในการทดสอบ งานกำลังถูกทดสอบ
พร้อมสำหรับการเปิดตัว การทดสอบเสร็จสิ้น การปล่อยวางสามารถเกิดขึ้นได้
ปล่อยตัว/เสร็จสิ้น การเผยแพร่.

โปรดสังเกตว่าสถานะ "พร้อมสำหรับ" คือคิว ไม่ใช่การทำงาน การ์ดสามารถค้างอยู่ในคิวได้ไม่จำกัด ดังนั้นกฎที่ใช้ในการเคลื่อนย้ายการ์ดจึงมีความสำคัญมากกว่าสถานะ

ระบบดึงตาม

Kanban เป็นวิธีการแบบดึงซึ่งงานจะถูกดึงแทนที่จะถูกผลัก ทันทีที่คุณทำการ์ดปัจจุบันของคุณเสร็จสิ้น คุณสามารถดึงการ์ดใหม่จากคอลัมน์ก่อนหน้าของกระดานคัมบังได้

ด้วยข้อจำกัดของ WIP Kanban จะช่วยปรับปรุง Lead Time และ Cycle Time ได้ ควรจะมีช่องว่างน้อยที่สุดระหว่างเวลาทั้งสองนี้ ตัวอย่างเช่น เรามีนักพัฒนา 5 คนและนักทดสอบเพียง 1 คน แล้วจะเกิดอะไรขึ้นในกรณีนี้ จะมีการ์ดจำนวนมากที่ต้องทดสอบอยู่เสมอ และการ์ดเหล่านั้นจะวางทิ้งไว้เฉยๆ และรออยู่

เพื่อเอาชนะปัญหาที่กล่าวมาข้างต้นและปรับปรุงประสิทธิภาพ Kanban ปฏิบัติตามแนวทางแบบดึงด้วยขีดจำกัด WIP ซึ่งจะมีการดึงการ์ดในจำนวนจำกัด

ดังนั้น ผู้ทดสอบจะดึงงานจากระยะ "พร้อมสำหรับการทดสอบ" เมื่อเขาทำงานปัจจุบันในมือเสร็จแล้ว ด้วยขีดจำกัด WIP ในคอลัมน์คัมบัง (ขั้นตอนของการพัฒนา) คุณจะไม่มีการ์ดที่ไม่ต้องดูแลจำนวนมากในเวิร์กโฟลว์คัมบัง

ระบบแบบดึง (pull-based system) ยังช่วยในการหาความเร็วที่เหมาะสมสำหรับทีม เมื่อความเร็วเหมาะสมแล้ว ทีมก็จะทำงานได้ดีขึ้น ทุกอย่างขึ้นอยู่กับตัวเลขเพียงตัวเดียว นั่นคือ ขีดจำกัดของงานที่ยังไม่เสร็จ (WIP limit)

การจำกัด WIP (งานระหว่างดำเนินการ)

ในวิธีการ Kanban นั้น WIP (Work in Progress) จะจำกัดจำนวนงาน/การ์ดที่สมาชิกในทีมหรือทั้งทีมสามารถทำได้ในเวลาเดียวกัน

ขีดจำกัด WIP ช่วยให้มั่นใจได้ว่าทีมจะรักษาเสถียรภาพในการทำงานและเพิ่มลักษณะการคาดการณ์ ซึ่งเป็นสิ่งจำเป็นในระบบแบบดึง โดยปกติแล้ว การตัดสินใจเกี่ยวกับขีดจำกัด WIP จะดำเนินการโดยทีมงานเอง

เหตุผลในการกำหนดขีดจำกัด WIP

ต่อไปนี้เป็นเหตุผลในการตั้งค่าขีดจำกัด WIP:

  • มันเปลี่ยนโฟกัสไปที่การทำให้สิ่งต่างๆ เสร็จสิ้นลง โดยที่แต่ละคนจะมุ่งเน้นไปที่งานเดียวในแต่ละครั้ง
  • ช่วยให้ทีมเข้าใจความสามารถของพวกเขา
  • ช่วยปรับปรุงระยะเวลาในการผลิตและรอบเวลา
  • ช่วยในการหลีกเลี่ยงงานซ้อน (ในโหมดรอ)
  • มันช่วยปรับปรุงการไหลของขั้นตอนการทำงาน ทำให้งานต่างๆ ดำเนินต่อไปได้อย่างต่อเนื่อง
  • นอกจากนี้ยังช่วยแก้ไขปัญหาอุปสรรคต่างๆ เนื่องจากบุคคลนั้นไม่ต้องสลับไปมาระหว่างงานต่างๆ

⚠️คำเตือน: การตั้งขีดจำกัดสูงเกินไปก็เหมือนกับการไม่ตั้งขีดจำกัดเลย — การ์ดจะเข้าคิวและเวลาในการทำงานจะนานขึ้น ส่วนการตั้งขีดจำกัดต่ำเกินไปจะทำให้คนไม่ได้ทำอะไร ควรเปลี่ยนขีดจำกัดของแต่ละคอลัมน์ทีละคอลัมน์ แล้วสังเกตเวลาในการทำงานเป็นเวลาสองสัปดาห์

นั่นคือทฤษฎีส่วนสุดท้ายแล้ว ส่วนที่เหลือด้านล่างจะนำทฤษฎีไปสู่การปฏิบัติจริง

วิธีการนำระบบ Kanban ไปใช้ทีละขั้นตอน

การเริ่มต้นใช้ Kanban นั้นง่ายมาก: ขั้นตอนแรกอธิบายสิ่งที่คุณทำอยู่แล้ว ทำตามขั้นตอนเหล่านี้โดยมีทีมทั้งหมดอยู่ด้วย

  1. จัดทำแผนผังขั้นตอนการทำงานปัจจุบัน นำชิ้นงานที่เสร็จสมบูรณ์แล้วย้อนกลับไปทีละขั้นตอน ผ่านทุกขั้นตอนการส่งมอบ แต่ละขั้นตอนการส่งมอบจะกลายเป็นคอลัมน์ ซึ่งรวมถึงสถานะรอการส่งมอบที่ไม่มีใครเป็นเจ้าของอย่างเป็นทางการ
  2. วาดกระดานหมากรุก จัดทำตารางโดยแบ่งเป็นคอลัมน์ละหนึ่งรัฐ จากซ้ายไปขวา และจบด้วยคำว่า เสร็จสิ้น กระดานไวท์บอร์ดพร้อมกระดาษโน้ตก็เพียงพอสำหรับเดือนแรก
  3. เขียนการ์ดเหล่านั้น ติดป้ายให้กับสิ่งของทุกชิ้นบนเครื่องบิน โดยระบุลำดับความสำคัญ เจ้าของ ประเภท และวันครบกำหนด จากนั้นวางสิ่งของนั้นไว้ในช่องที่ตรงกับสถานะจริง
  4. กำหนดคำว่า “เสร็จสิ้น” สำหรับแต่ละคอลัมน์ เขียนเกณฑ์การออกจากเกมลงบนกระดาน การกำหนดนโยบายอย่างชัดเจนเช่นนี้จะช่วยป้องกันไม่ให้ไพ่กระเด้งกลับไปข้างหลัง
  5. กำหนดขีดจำกัดงานระหว่างดำเนินการ (WIP) เริ่มต้น เลือกหมายเลขเริ่มต้นสำหรับทุกคอลัมน์ ยกเว้นคอลัมน์ที่ต้องทำและคอลัมน์ที่เสร็จแล้ว โดยใช้วิธีการด้านล่าง จากนั้นเขียนหมายเลขนั้นไว้เหนือหัวข้อ
  6. เห็นด้วยกับกฎการดึง ไม่มีใครเริ่มการ์ดใหม่ในขณะที่คอลัมน์ของตนเต็ม พวกเขาจะช่วยเคลียร์คอลัมน์ทางด้านขวาแทน
  7. ตรวจสอบกระดานทุกวัน เริ่มจากขวาไปซ้าย โดยเริ่มจากไพ่ที่เก่าที่สุดก่อน แล้วถามว่ามีอะไรมาขวางไพ่ใบนี้ และใครสามารถปลดบล็อกไพ่ใบนี้ได้ในวันนี้
  8. วัดขนาดก่อน แล้วค่อยขันให้แน่น หลังจากผ่านไปสองสัปดาห์ ข้อมูลเวลาของรอบการทำงานจะแสดงให้เห็นว่าคอลัมน์ใดเก็บการ์ดได้นานที่สุด ลดขีดจำกัดนั้นลงหรือเพิ่มความจุ แล้วทำซ้ำขั้นตอนเดิม

ขั้นตอนที่ห้าเป็นขั้นตอนที่ทีมส่วนใหญ่ติดขัด ดังนั้นนี่คือวิธีการประเมินขนาดทีมสามวิธีที่ผู้ปฏิบัติงานใช้:

วิธีการกำหนดขนาด WIP วิธีการทำงาน
ขนาดทีมบวกหนึ่ง ขีดจำกัดเท่ากับจำนวนคนที่ทำงานในคอลัมน์นั้น บวกกับช่องว่างสำรองอีกหนึ่งช่องสำหรับรายการที่ถูกบล็อก เหมาะที่สุดสำหรับบอร์ดใหม่ที่ยังไม่มีข้อมูล
คนละสองถึงสามชิ้น คูณจำนวนคนในคอลัมน์ด้วยสองหรือสาม; นักพัฒนาสามคน คนละสองรายการ จะได้หกคน
อัตราการผลิต x เวลาต่อรอบ นำค่า WIP = ปริมาณงาน x เวลาต่อรอบ มาใช้กับประวัติการทำงานของคุณเอง จากนั้นตั้งค่าขีดจำกัดให้ต่ำกว่าผลลัพธ์เล็กน้อย

ถือว่าตัวเลขแรกเป็นสมมติฐาน การจับคู่กระดานกับรูปแบบที่เป็นทางการ การทดสอบที่คล่องตัว ช่วยป้องกันไม่ให้คอลัมน์ทดสอบกลายเป็นคอขวด และเวลาที่แสดงด้านล่างทั้งสองช่วงจะพิสูจน์ว่ามันได้ผลหรือไม่

เวลานำและรอบเวลา

ในวิธีการ Kanban นั้น ระยะเวลานำส่ง (lead time) และระยะเวลารอบการผลิต (cycle time) ถูกนำมาใช้กันอย่างแพร่หลาย ซึ่งทั้งสองอย่างนี้มีความแตกต่างกัน และเป็นสิ่งสำคัญที่จะต้องเข้าใจเพื่อหลีกเลี่ยงความสับสน

ระยะเวลาในการ เวลาวงจร
เวลานำจะวัดเป็นเวลาระหว่างการมาถึงของงานในเวิร์กโฟลว์ของคุณและการออกจากเวิร์กโฟลว์ ซึ่งหมายความว่างานดังกล่าวได้ถูกเผยแพร่แล้ว รอบเวลาวัดเป็นเวลาระหว่างการมาถึงของงานในสถานะ "อยู่ระหว่างดำเนินการ" และการมาถึงของงานในสถานะ "พร้อมสำหรับการเปิดตัว"

ในที่นี้สิ่งสำคัญคือต้องเข้าใจด้วยว่าไม่ต้องรวมเวลาที่ใช้ระหว่างความพร้อมสำหรับการเปิดตัวและการเปิดตัวจริง

Cycle Time = Work in Progress/Throughput

💡 เคล็ดลับ: ระยะเวลารอคอยคือสิ่งที่ลูกค้าประสบ ส่วนระยะเวลาดำเนินการคือสิ่งที่ทีมควบคุมได้ ช่องว่างที่กว้างหมายความว่างานจะค้างอยู่ในคิวก่อนที่ใครจะเริ่มทำงาน ดังนั้นควรแก้ไขปัญหาการรับงานก่อนที่จะเร่งความเร็วของทีม

ในสถานการณ์ที่เหมาะสมที่สุด ช่องว่างระหว่างระยะเวลารอคอยและระยะเวลาการผลิตควรมีน้อยที่สุด และระบบ Kanban จะใช้แผนภาพการไหลสะสม (CFD) เพื่อวัดข้อมูลย้อนหลังของระยะเวลารอคอยและระยะเวลาการผลิต ซึ่งแผนภาพดังกล่าวจะเป็นหัวข้อในบทถัดไป

แผนภาพการไหลสะสม (CFD)

CFD เป็นกราฟที่มีอยู่ในกราฟชั้นนำทั้งหมด เครื่องมือการจัดการเวิร์กโฟลว์ เหมือนจิรา แผนภูมินี้วัดจำนวนบัตรงาน/งานทั้งหมดที่เข้าสู่ขั้นตอนการทำงาน และรวบรวมบัตร/งานที่ทำเสร็จแล้วเมื่อเวลาผ่านไป

ช่วยให้คุณประมาณระยะเวลารอคอยสินค้าโดยเฉลี่ยและรอบเวลาสำหรับเวลาที่กำหนดไว้ล่วงหน้าได้

แผนภาพ CFD จะแสดงตัวชี้วัดหรือจุดที่เป็นปัญหาที่ต้องแก้ไข จะช่วยให้คุณเห็นภาพที่ชัดเจน และจากแผนภาพนี้ คุณสามารถแก้ไขระยะเวลานำและเวลาวงจรของทีมได้ แผนภาพการไหลสะสมด้านล่างแสดงแต่ละสถานะเป็นแถบสี แถบที่กว้างขึ้นเรื่อยๆ คือคอขวด

แผนภูมินี้อ่านได้จากปริมาณสี่อย่าง:

  1. ระยะเวลาในการ: คือระยะเวลาระหว่างการมาถึงของการ์ดใหม่ในขั้นตอนการทำงานของคุณและการออกจากขั้นตอนการทำงานครั้งสุดท้าย
  2. เวลาวงจร: คือระยะเวลาระหว่างการมาถึงของการ์ดในสถานะการทำงานและเวลาที่การ์ดพร้อมปล่อย
  3. WIP: งานระหว่างดำเนินการ (WIP) จำกัดจำนวนรายการงานสูงสุดในขั้นตอนต่างๆ ของเวิร์กโฟลว์
  4. ทางเข้า: เป็นประสิทธิภาพจริงและบอกจำนวนไพ่จริงที่จัดส่งในช่วงเวลาที่กำหนด
Throughput = WIP/Cycle Time

นั่นครอบคลุมถึงสิ่งประดิษฐ์ กลไก และตัวชี้วัดแล้ว คำถามที่เหลือคือ Kanban แตกต่างจาก Scrum อย่างไร

การต่อสู้กับ คัมบัง

นี่คือความแตกต่างที่สำคัญระหว่าง การต่อสู้กับ คัมบังสำหรับภาพรวมที่กว้างขึ้น โปรดดูที่... Agile กับ Scrum.

การทะเลาะกัน Kanban
การทะเลาะกัน เน้นเรื่องการวางแผนเริ่มต้นด้วยการวางแผนสปรินต์และจบลงด้วยการมองย้อนหลังสปรินต์ มีการประชุมหลายครั้งเพื่อช่วยให้แน่ใจว่าทีมสอดคล้องกับขั้นตอนต่อไป ลำดับความสำคัญ และบทเรียนที่ได้รับจากสปรินต์ก่อนหน้า Kanban เปิดให้ทำการเปลี่ยนแปลงได้ทุกที่ หมายความว่ามีความแข็งแกร่งน้อยลงและ สิ่งต่างๆสามารถเปลี่ยนแปลงได้บ่อยครั้ง.
ขอแนะนำการสะสมของ การวัดเวลา เกิดขึ้นระหว่างการวิ่งระยะสั้น Kanban ขอแนะนำกราฟ เพื่อดูภาพรวมความคืบหน้าของทีมในช่วงเวลาหนึ่ง
การทะเลาะกัน ไม่มีอีกต่อไป เรียกร้องให้ทีมมุ่งมั่น แต่กลับเป็นเรื่องของเป้าหมายและการคาดการณ์ของสปรินต์ คัมบังอาศัย การกำหนดกรอบเวลาและการพยากรณ์.
มันเน้นเรื่องการวางแผนและอื่นๆ การประมาณค่ามีบทบาทสำคัญมาก ในการต่อสู้ คัมบังก็มี ไม่มีข้อกำหนดบังคับ สำหรับการประมาณค่า
ทุกๆ แต่ละคนมีบทบาทของตน และความรับผิดชอบ ไม่ กำหนดบทบาทให้มีความยืดหยุ่น ในแง่ของความรับผิดชอบส่วนบุคคล
การวนซ้ำ/Sprints ได้รับการแก้ไขในระยะเวลา ระยะเวลานี้แตกต่างกันไปตั้งแต่ 2 สัปดาห์ถึง 1 เดือน คัมบังก็คือ ไม่ได้ขึ้นอยู่กับระยะเวลา- สิ่งนี้วัดจากรอบเวลา
ทีมคือ จำเป็นต้องกระทำ จำนวนงานที่เฉพาะเจาะจง ความมุ่งมั่นไม่จำเป็น มันเป็นทางเลือกสำหรับทีม
ในวิธีนี้ ทีมข้ามสายงาน มีความสำคัญเนื่องจากสามารถจัดการกับการหยุดชะงักที่อาจก่อให้เกิดปัญหาคอขวดในการพัฒนาซอฟต์แวร์ได้ มี ทีมงานเฉพาะทาง เป็นสิ่งสำคัญ
มันเป็น ไม่สามารถเพิ่มรายการได้ เพื่อการทำซ้ำอย่างต่อเนื่อง ใหม่ สามารถเพิ่มรายการได้อย่างง่ายดาย หากมีกำลังการผลิตเพิ่มเติม
Sprint Backlog เป็นเจ้าของโดยเท่านั้น ทีมเดียว. หลายทีมสามารถแชร์บอร์ด Kanban ได้
สินค้าพร้อมส่งคือ กำหนดโดยการวิ่งระยะสั้นซึ่งชุดงานจะต้องแล้วเสร็จและพร้อมสำหรับการตรวจทาน ผลิตภัณฑ์และกระบวนการต่างๆ จัดส่งอย่างต่อเนื่อง ตามความจำเป็น ดังนั้นกระบวนการทดสอบและการตรวจสอบจึงดำเนินไปพร้อมๆ กัน
วิธีการพัฒนาซอฟต์แวร์ Scrum มุ่งเน้นไปที่งานที่ค้างอยู่. วิธีคัมบังโดยสิ้นเชิง มุ่งเน้นไปที่แดชบอร์ดกระบวนการ.
ทุกๆ สมาชิกในทีมมีบทบาทเฉพาะ ใน Scrum master จะตัดสินใจเรื่องไทม์ไลน์ เจ้าของผลิตภัณฑ์กำหนดเป้าหมายและวัตถุประสงค์ และสมาชิกในทีมดำเนินงานพัฒนา ไม่มีบทบาทที่กำหนดไว้ล่วงหน้าสำหรับทีม อย่างไรก็ตาม อาจยังมีผู้จัดการโครงการอยู่ ทีมได้รับการสนับสนุนให้ร่วมมือและทำงานร่วมกัน
ดีที่สุดสำหรับโครงการที่มี การเปลี่ยนลำดับความสำคัญ. เหมาะสำหรับทีมที่มี ลำดับความสำคัญที่มั่นคง ที่ไม่น่าจะเปลี่ยนแปลงไปตามกาลเวลา
วัดการผลิต โดยใช้ความเร็ว ผ่านการวิ่งระยะสั้น วัดการผลิตโดยใช้ รอบเวลา หรือเวลาที่แน่นอนที่ใช้ในการทำให้โครงการหนึ่งชิ้นเสร็จสมบูรณ์
Scrum ต้องการ การเปลี่ยนแปลงจากรูปแบบดั้งเดิมอย่างสมบูรณ์ ไปจนถึงโมเดล Agile Scrum ที่จะนำไปใช้ในโครงการ Kanban ไม่อนุญาตให้มีการเปลี่ยนแปลงครั้งใหญ่ ในโครงการ
ใน Scrum t ทั้งหมดeam มุ่งเน้นไปที่การทำงานร่วมกันและทำงานให้สำเร็จ เพื่อให้มีงานพัฒนาคุณภาพ ทีมทำงานเพื่อให้บรรลุเป้าหมาย และลดเวลาในการดำเนินการให้เสร็จสิ้นทั้งหมด ดังนั้นการลดรอบเวลาจึงเป็นตัวบ่งชี้ความสำเร็จที่ใหญ่ที่สุด
การทะเลาะกัน เน้นกำหนดการของมัน- ไม่สามารถเพิ่มรายการใหม่ลงในการวนซ้ำอย่างต่อเนื่อง Kanban มีลักษณะวนซ้ำมากกว่า ไม่มีกรอบเวลาที่เฉพาะเจาะจง- เพื่อให้สามารถเพิ่มรายการใหม่ได้อย่างต่อเนื่องทุกครั้งที่มีกำลังการผลิตเพิ่มเติม
งานทั้งหมดเสร็จสิ้นใน แบตช์/Sprints. โครงการทั้งหมดดำเนินการเกี่ยวกับความเคลื่อนไหวของ รายการงานแบบเธรดเดียว กระแส
Scrum master ทำหน้าที่เป็นนักแก้ปัญหา คัมบังเป็นกำลังใจ สมาชิกในทีมทุกคนเป็นผู้นำ และแบ่งปันความรับผิดชอบกันทุกคน
Scrum กำหนด การวนซ้ำแบบมีกรอบเวลา. คัมบังมุ่งเน้นไปที่ การวางแผนระยะเวลาที่แตกต่างกัน สำหรับการวนซ้ำแต่ละครั้ง
Scrum ช่วยให้บริษัทต่างๆ ประหยัดเวลาและเงิน. วิธีคัมบัง มุ่งเน้นการปรับปรุงอย่างต่อเนื่องผลผลิตและประสิทธิภาพ
บรรลุ การสื่อสารที่มั่นคงและสม่ำเสมอ ของประสิทธิภาพในทุกระดับ สมาชิกในทีมมีแนวโน้มมากขึ้น บรรลุเป้าหมายได้ง่ายขึ้นมาก เพราะลักษณะการมองเห็นของบอร์ดคัมบัง
มันเป็น ปรับตัวเข้ากับการเปลี่ยนแปลงอย่างต่อเนื่องได้ง่ายขึ้น เพราะการวิ่งระยะสั้นและการตอบรับที่สม่ำเสมอ มันเป็น ออกแบบมาเพื่อเอาต์พุตที่สม่ำเสมอและสม่ำเสมอการเปลี่ยนแปลงที่สำคัญในความต้องการของลูกค้าอาจทำให้ Kanban ล้มเหลวได้
ต้นทุนรวมของโครงการมีน้อยซึ่งอาจนำไปสู่ ผลลัพธ์ที่รวดเร็วและถูกกว่า. หากประเมินงานไม่ถูกต้อง ต้นทุนโครงการทั้งหมดจะไม่แม่นยำในกรณีเช่นนี้ งานสามารถกระจายออกไปเป็นหลายสปรินต์ได้
วิธีการนี้ ต้องการสมาชิกในทีมที่มีประสบการณ์ เท่านั้น. ดังนั้นหากทีมงานประกอบด้วยคนที่ไม่เชี่ยวชาญโครงการก็ไม่สามารถเสร็จทันเวลาได้ ไม่ กรอบเวลาที่เฉพาะเจาะจง ได้รับการจัดสรรในแต่ละเฟส ดังนั้นสมาชิกในทีมจึงไม่เข้าใจว่าตนจะใช้เวลาเท่าใดในแต่ละเฟส
ในวิธี Agile Scrum นี้ก็คือ ง่ายต่อการส่งมอบผลิตภัณฑ์ที่มีคุณภาพ ตามเวลาที่กำหนด มันถูกออกแบบมาสำหรับก เอาต์พุตสม่ำเสมอและสม่ำเสมอ การเปลี่ยนแปลงครั้งใหญ่ในความต้องการของลูกค้าอาจทำให้ระบบ Kanban ล้มเหลวได้
การขอ แผนโครงการจะไม่รบกวน แม้ว่าสมาชิกในทีมจะออกจากทีมก็ตาม หากสมาชิกในทีมคนใดออกระหว่างการพัฒนา ก็สามารถทำได้ กระทบต่อการพัฒนาโครงการ.
ประชุมทุกวันเป็นบางครั้ง หงุดหงิด สมาชิกในทีม บอร์ด Kanban ที่ล้าสมัย อาจนำไปสู่ปัญหาในกระบวนการพัฒนาได้
โครงการขนาดใหญ่สามารถแบ่งแยกได้ง่าย ให้เป็นสปรินท์ที่สามารถจัดการได้ง่าย โครงการขนาดใหญ่จะได้รับการจัดการในลักษณะ ไหลอย่างต่อเนื่อง โดยแยกเป็นชิ้นเดียว ไม่ได้แบ่งเป็นชุดๆ

คำถามที่พบบ่อย

ทั้งสองอย่าง การส่งสัญญาณดึง (pull signal) และการลดของเสียของ Kanban มาจากหลักการผลิตแบบลีน (Lean manufacturing) ในขณะที่วงจรการตอบรับที่สั้นและการส่งมอบแบบเพิ่มทีละน้อยนั้นสอดคล้องกับหลักการของ Agile ทีมส่วนใหญ่จึงมองว่า Kanban เป็นวิธีการที่ได้มาจาก Lean ซึ่งนำมาใช้ในบริบทของ Agile มากกว่าที่จะเป็นกรอบการทำงานที่แข่งขันกัน

คุณสมบัติของ AI ในเครื่องมือสำหรับบอร์ด เช่น จิระ ขณะนี้สามารถร่างคำอธิบายบัตร จัดประเภทคำขอที่เข้ามาโดยอัตโนมัติตามประเภท ทำเครื่องหมายบัตรที่ค้างอยู่นานกว่าปกติ และแนะนำว่าคอลัมน์ใดกำลังกลายเป็นคอขวด

ใช่ครับ แต่ต้องมีขอบเขตจำกัด โมเดลจะใช้การจำลองแบบมอนเตคาร์โลกับข้อมูลเวลาในการผลิตในอดีตของคุณ เพื่อให้ได้ช่วงความน่าจะเป็น เช่น โอกาส 85 เปอร์เซ็นต์ที่จะเสร็จภายใน 12 วัน ความแม่นยำขึ้นอยู่กับเวลาที่บันทึกในบัตรอย่างชัดเจน ไม่ได้ขึ้นอยู่กับโมเดลครับ

Scrumban คือรูปแบบผสมผสานที่คงไว้ซึ่งพิธีการของ Scrum เช่น การวางแผนและการทบทวนหลังการทำงานเสร็จสิ้น ในขณะที่แทนที่ข้อผูกพันในสปรินต์ด้วยกระดาน Kanban และการจำกัดปริมาณงานที่กำลังดำเนินการ (WIP) ทีมต่างๆ มักนำรูปแบบนี้มาใช้เมื่อขอบเขตของสปรินต์มีการเปลี่ยนแปลงบ่อยครั้งในระหว่างรอบการทำงาน

การ์ดที่ถูกบล็อกจะไม่สามารถดำเนินการต่อได้เนื่องจากมีข้อจำกัดภายนอก การตัดสินใจที่ขาดหายไป หรือการตรวจสอบที่ไม่ผ่าน การ์ดนั้นยังคงนับรวมอยู่ในขีดจำกัด WIP ของคอลัมน์ ซึ่งเป็นไปโดยเจตนา: เมื่อขีดจำกัดเต็ม ทีมจะต้องกำจัดตัวบล็อกนั้นออกไป

สรุปโพสต์นี้ด้วย: