Skip to main content

วิศวกรซอฟต์แวร์สามารถใช้วิธี kanban ได้อย่างไร

:

Anonim

คุณคุ้นเคยกับการต่อสู้ใช่มั้ย ฉันเดาว่าถ้าพิจารณาว่า 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 มีประโยชน์และหวังว่าคุณจะพบว่ามีประโยชน์สำหรับกระบวนการทำงานส่วนบุคคลของคุณ (หรือแม้กระทั่งสำหรับทั้งทีม!)

ทวีตฉันถ้าคุณตัดสินใจที่จะให้มันยิง!