คุณคุ้นเคยกับการต่อสู้ใช่มั้ย ฉันเดาว่าถ้าพิจารณาว่า The Scrum Alliance มีสมาชิกมากกว่า 400, 000 คนและส่วนใหญ่จะใช้ในองค์กรของพวกเขาสำเร็จ
แต่ไม่ใช่วิธีเดียวที่จะสร้างซอฟต์แวร์ในแบบที่คล่องตัว - อย่างจริงจัง! คุณเคยได้ยินเกี่ยวกับ Kanban?
สำหรับข้อมูลพื้นฐานเล็ก ๆ น้อย ๆ นั้น แต่เดิมนั้นถูกนำไปใช้กับการผลิตแบบลีนเพื่อให้เห็นภาพอินพุตและเอาท์พุทของงานที่ไหลผ่านโรงงาน การสร้างภาพข้อมูลนี้ถูกนำเสนอบนกระดานที่เรียกว่า - รอมัน - Kanban เมื่อเร็ว ๆ นี้และเกี่ยวข้องกับคุณมากขึ้นมันถูกนำมาใช้เป็นวิธีการจัดการการพัฒนาซอฟต์แวร์
นักประสาทวิทยาคนแรกที่กล่าวไว้ David J. Anderson เป็นวิธีการจัดระเบียบการพัฒนาซอฟต์แวร์และการวางแผนที่ช่วยให้คุณค้นพบปัญหากระบวนการและนำเสนอการปรับปรุงที่มีคุณค่าอย่างต่อเนื่องในผลิตภัณฑ์ของคุณ เพียงแค่ใส่ ณ จุดใดก็ได้คุณสามารถดูว่าที่ทำงาน (แสดงด้วยการ์ด) อยู่ในกระบวนการพัฒนา
มันทำงานอย่างไร
บอร์ด Kanban พื้นฐานใช้หกคอลัมน์ที่แสดงตำแหน่งของงานแต่ละชิ้นในวงจรการพัฒนาผลิตภัณฑ์ ตัวอย่างคร่าวๆของสิ่งที่ดูเหมือนอยู่ด้านล่าง
ดูตัวอย่างบอร์ด Kanban นี้บน Trello
คอลัมน์ 1: งานในมือ
คอลัมน์ Backlog ควรมีรายการลำดับความสำคัญข้อบกพร่องหรือความต้องการทางธุรกิจ การ์ดยังไม่จำเป็นต้องมีรายละเอียดมากนัก แต่ควรมีข้อมูลเพียงพอที่สมาชิกในทีมของคุณเข้าใจว่าทำไมมันถึงสำคัญ
คอลัมน์ 2: การวางแผน
ในคอลัมน์นี้ผู้จัดการผลิตภัณฑ์จะกรอกข้อมูลจำเพาะสำหรับคุณสมบัติโดยการพบปะกับผู้มีส่วนได้เสียทางธุรกิจวิศวกรและนักออกแบบ เมื่อพร้อมแล้วเขาหรือเธอจะย้ายไปที่คอลัมน์“ พร้อมสำหรับวิศวกรรม”
คอลัมน์ 3: พร้อมสำหรับวิศวกรรม
ในขั้นตอนนี้การ์ดทั้งหมดควรมีข้อกำหนดโดยละเอียด แม้ว่าคุณอาจยังมีคำถามเกี่ยวกับรายละเอียดทางเทคนิค แต่ข้อกำหนดทางธุรกิจควรชัดเจน
คอลัมน์ 4: กำลังดำเนินการ
คุณสามารถย้ายการ์ดไปที่“ กำลังดำเนินการ” ได้ตลอดเวลา ระบบ“ ดึง” ที่ขับเคลื่อนด้วยตนเองนี้สร้างวัฒนธรรมของความรับผิดชอบและความอยากรู้อยากเห็นส่วนบุคคล
คอลัมน์ 5: การทดสอบ
เมื่อคุณทำงานบนการ์ดเสร็จแล้วให้ย้ายไปที่“ การทดสอบ” ซึ่งวิศวกรอื่น (หรือบางคนในทีมงาน QA) จะรับมัน
คอลัมน์ 6: นำไปใช้งาน
คุณสมบัติที่กำหนดอีกประการหนึ่งคืองานควรส่งมอบอย่างต่อเนื่องไปยังสภาพแวดล้อมการผลิตหรือสภาพแวดล้อมการผลิต คอลัมน์นี้ช่วยให้ทุกคนในทีมได้เห็นว่ามีการเผยแพร่ผลงานใดบ้างเมื่อเร็ว ๆ นี้
ข้อดีและข้อเสีย
เมื่อคุณตัดสินใจเลือกระหว่าง Kanban กับวิธีการทั่วไปเช่น Scrum หรือ Waterfall ให้คำนึงถึงประโยชน์และความท้าทายเหล่านี้:
ประโยชน์ที่ได้รับ: ปรับปรุงการทำงานร่วมกัน
ในทีมพัฒนาบางทีมที่ฉันทำงานด้วยวิศวกรเป็นผู้เชี่ยวชาญ แต่ละทีมจะมีวิศวกรส่วนหน้าและวิศวกรแบ็กเอนด์ นี่หมายความว่างานนั้นถูกบล็อกบ่อยครั้งเพราะวิศวกรกำลังยุ่งกับสิ่งอื่น
ในทางกลับกัน Kanban จำกัด การทำงานที่กำลังดำเนินอยู่และกีดกันการขัดขวาง สมาชิกในทีมแต่ละคนสามารถทำงานได้ครั้งละหนึ่งรายการเท่านั้นและทุกคนที่ไม่ว่างสามารถดึงงานจากด้านบนของคอลัมน์“ พร้อมสำหรับวิศวกรรม” สิ่งนี้ส่งเสริมให้วิศวกรทั่วไปและความร่วมมือระหว่างสมาชิกในทีม
เพิ่มผลประโยชน์: อย่าปล่อยให้สิ่งต่าง ๆ ผ่านไปก่อนที่พวกเขาจะพร้อม
Kanban ใช้งานได้เฉพาะเมื่อคุณรอที่จะย้ายไพ่ไปยังคอลัมน์ถัดไปจนกว่าจะเสร็จสมบูรณ์ (โบนัส: สิ่งนี้จะช่วยลดข้อบกพร่องได้อย่างมาก)
ถาม: หมดกำลังใจเวลาที่จะไตร่ตรอง
ตามค่าเริ่มต้นจะไม่มีการวิ่งตามเวลาที่มีเป้าหมายชัดเจนเป้าหมายวันที่และรอบการปล่อย ให้คิดว่าการ์ดแต่ละใบเป็นงานอิสระที่สามารถทำให้เสร็จสมบูรณ์และเผยแพร่ได้ตลอดเวลา
ด้วยกระแสงานที่ต่อเนื่องนี้ไม่มีตัวเลือก“ รอจนกว่าจะมีการวิ่งครั้งต่อไป” คุณต้องตรวจสอบบอร์ดอย่างต่อเนื่องดึงรายการถัดไปและย้ายรายการที่เสร็จสมบูรณ์แบบดาวน์สตรีม นอกจากว่าคุณจะสร้างเวลาสำหรับการหวนรำลึกความหลังและความโดดเด่นอาจเป็นเรื่องยากสำหรับสมาชิกในทีมที่จะติดตามว่าพวกเขากำลังทำอะไรอยู่
รับรอบ: ยืมสิ่งที่ได้ผลจากการต่อสู้
ฉันใช้ชีวิตประจำวันที่โดดเด่นและย้อนหลังกับ Kanban และพบว่าพวกเขาเพิ่มคุณค่า หากมีการประชุมหรือรูปแบบปกติที่เหมาะกับทีมของคุณอย่าเปลี่ยนการประชุมเป็น Kanmatically เวลางบประมาณในการพูดคุยเกี่ยวกับลำดับความสำคัญและวิธีการที่พวกเขาเปลี่ยนแปลงเพื่อให้ทุกคนรู้ว่าเกิดอะไรขึ้นในวงจรการพัฒนาผลิตภัณฑ์
ประโยชน์: เพิ่มความโปร่งใส
นักพัฒนาแต่ละคนจะต้องใช้ความคิดริเริ่มในการย้ายการ์ดไปยังคอลัมน์“ อยู่ระหว่างดำเนินการ” ความหมายในเวลาใดก็ตามผู้จัดการของทีมสามารถดูว่าใครกำลังยุ่งใครไม่ว่างและนานแค่ไหนที่งานชิ้นใดกำลังดำเนินการอยู่
เมื่อการผลิตช้าลงหรือหยุดลง Kanban ช่วยให้คุณเห็นได้อย่างชัดเจนว่าทำไม ไม่ว่าจะเป็นเพราะทีมธุรกิจไม่ได้จัดลำดับความสำคัญของสินค้าที่ค้าง, ทีมผลิตภัณฑ์ยังไม่เสร็จสเป็ค, ทีม dev กำลังเคลื่อนไหวช้ากว่าที่คาดไว้, หรือทีมงาน QA ไม่สามารถทดสอบบางอย่างได้; คอขวดมีความชัดเจน
เพิ่มผลประโยชน์: อนุญาตให้ความคืบหน้าเป็นแบบสาธารณะ
ข้อดีอย่างหนึ่งของ Kanban คือภาพที่ชัดเจนมาก แม้แต่สมาชิกในทีมที่ไม่ใช่ด้านเทคนิคก็สามารถดูกระดาน Kanban และบอกตำแหน่งของชิ้นงานได้ ใช้สิ่งนี้เพื่อประโยชน์ของคุณและอนุญาตให้ความสำเร็จของทีมส่องแสงโดยวางบอร์ดของคุณในที่สาธารณะ
ถาม: ไม่อนุญาตให้มีการวางแผนระยะยาว
การกังวลเกี่ยวกับกำหนดเวลาและการประมาณการไม่ใช่การใช้เวลาให้เกิดประโยชน์มากที่สุดดังนั้นคุณอาจชื่นชมว่า Kanban มีความสามารถในการทำงานแบบวันต่อวันมากขึ้น ที่กล่าวว่าเพียงอย่างเดียวไม่ได้จัดทำระบบสำหรับการสร้างแผนระยะยาว สิ่งนี้สามารถทำให้คุณทำงานเป็นระยะ ๆ แทนที่จะมุ่งเน้นที่สิ่งใดสิ่งหนึ่งเป็นเวลานาน มันยากที่จะใช้เวลาหนึ่งวันในโครงการ A จากนั้นหนึ่งวันในโครงการ B จากนั้นเปลี่ยนกลับเป็นโครงการ A
รับรอบ: ใช้เมื่อความคาดหวังของคุณจะเปลี่ยนไป
แต่ละคอลัมน์ในกระดานของคุณเป็นอิสระจากคนอื่นดังนั้นสมาชิกในทีมสามารถย้ายสิ่งต่าง ๆ ได้ตลอดเวลา สิ่งนี้สามารถรบกวนผู้พัฒนาในการตั้งค่าการแย่งชิงกัน (ที่การคาดคะเนการวิ่งทำล่วงหน้า) แต่ Kanban เติบโตในสภาพแวดล้อมที่เปลี่ยนแปลงอย่างรวดเร็วเช่นนี้
ทุกคนต้องการมีประสิทธิผลมากขึ้น แต่อาจเป็นเรื่องยากที่จะลองสิ่งใหม่ ๆ หากคุณไม่แน่ใจว่าจะเริ่มจากตรงไหน ฉันพบว่า Kanban มีประโยชน์และหวังว่าคุณจะพบว่ามีประโยชน์สำหรับกระบวนการทำงานส่วนบุคคลของคุณ (หรือแม้กระทั่งสำหรับทั้งทีม!)
ทวีตฉันถ้าคุณตัดสินใจที่จะให้มันยิง!