Scrum คืออะไร
Scrum คือกรอบการจัดการที่ทีมใช้เพื่อจัดระเบียบของตนเองและทำงานเพื่อให้บรรลุเป้าหมายร่วมกัน โดยอธิบายชุดการประชุม เครื่องมือ และบทบาทสำหรับการส่งมอบโครงการอย่างมีประสิทธิภาพ เช่นเดียวกับทีมกีฬาที่ฝึกซ้อมสำหรับการแข่งขันใหญ่ การฝึกใช้ Scrum ช่วยให้ทีมสามารถจัดการตนเอง เรียนรู้จากประสบการณ์ และปรับตัวให้เข้ากับการเปลี่ยนแปลงได้ ทีมซอฟต์แวร์ใช้ Scrum เพื่อแก้ปัญหาที่ซับซ้อนได้อย่างคุ้มราคาและยั่งยืน
ระเบียบวิธีของ Scrum คืออะไร
หลักการและค่านิยมบางอย่างกำหนดลักษณะระเบียบวิธีของ Scrum
หลักการ Scrum เพื่อความสำเร็จของโปรเจกต์
ความโปร่งใส
ทำงานเป็นทีมในสภาพแวดล้อมที่ทุกคนตระหนักถึงความท้าทายที่ผู้อื่นอาจประสบ การสนทนาแบบเห็นหน้ากันเป็นประจำระหว่างสมาชิกในทีมจากต่างสายงานและเจ้าของโครงการป้องกันการสื่อสารที่ผิดพลาด และการติดขัดของข้อมูล
การพิจารณาไตร่ตรอง
การพิจารณาไตร่ตรองมักถูกกำหนดอยู่ในเฟรมเวิร์ก เพื่อให้สมาชิกในทีมตรวจสอบความคืบหน้าของตน ผู้จัดการโครงการใช้ข้อมูลเชิงลึกจากการประชุมเหล่านี้เพื่อประเมินและวางแผนในอนาคต ส่งผลให้โครงการดำเนินไปอย่างมีประสิทธิภาพมากขึ้น ภายในงบประมาณ และตามกำหนดเวลา
การปรับตัว
สมาชิกในทีมสามารถจัดลำดับความสำคัญของงานใหม่ได้ตามความต้องการของลูกค้าที่เปลี่ยนแปลงไป พวกเขาตัดสินใจว่างานใดที่ต้องทำก่อนและงานใดที่จะกลับมาทำในอนาคต
ค่า Scrum สำหรับทีมงานโครงการ
ทีมงาน Scrum ปฏิบัติตามค่านิยมหลักห้าประการ
ความมุ่งมั่น
สมาชิกทีมงาน Scrum มุ่งมั่นกับงานและตามเวลาที่ตั้งเป้าไว้ และทุ่มเทกับการปรับปรุงงานอย่างต่อเนื่องเพื่อหาแนวทางแก้ไขที่ดีที่สุด
ความกล้าหาญ
ทีมงาน Scrum แสดงความกล้าโดยการถามคำถามเปิดและท้าทาย พวกเขาสนทนากันอย่างเรียบง่ายและโปร่งใสเพื่อให้ได้ทางแก้ไขที่ดีที่สุด
มุ่งเน้น
ไม่ว่าเวลาใดๆ สมาชิกในทีมก็จะทำงานตาม Product Backlog ที่กำหนด พวกเขาจะมุ่งเน้นไปที่งานที่เลือกเพื่อให้ส่งมอบได้ภายในกรอบเวลาที่จำกัด
การเปิดกว้าง
สมาชิกทีมงาน Scrum เปิดรับแนวคิดและโอกาสใหม่ๆ ที่สนับสนุนการเรียนรู้ของแต่ละคนและคุณภาพของโครงการโดยรวม
ความเคารพ
สมาชิกในทีมเคารพผู้จัดการโครงการ เคารพกันและกัน และเคารพกระบวนการของ Scrum วัฒนธรรมแห่งความเคารพนี้สร้างความมุ่งมั่นในการทำงานร่วมกันและความร่วมมือกันภายในทีม
Scrum ทำงานอย่างไร
Scrum คือ เฟรมเวิร์กที่เรียนรู้ได้ง่ายแต่ยากที่จะเป็นผู้เชี่ยวชาญ Jeff Sutherland และ Ken Schwaber ซึ่งเป็นผู้ร่วมกันริเริ่ม Scrum ได้อธิบายแนวคิดพื้นฐานไว้ใน The Scrum Guide คู่มือนี้ให้ภาพรวมโดยละเอียดของกระบวนการ Scrum และวิธีนำไปใช้อย่างมีประสิทธิภาพ
ความสำคัญของ Scrum คือทีมที่จัดระเบียบตนเองโดยส่งมอบคุณค่าของลูกค้าในช่วงเวลาจำกัดที่เรียกว่า Sprint Scrum กำหนดอาร์ทิแฟกต์ บทบาท และเหตุการณ์ที่เกี่ยวข้องกับแต่ละ Sprint เรามาลองดูแต่ละตัวอย่างเหล่านี้โดยละเอียดกัน
อาร์ทิแฟกต์ Scrum คืออะไร
ทีมงาน Scrum ใช้เครื่องมือที่เรียกว่า อาร์ทิแฟกต์ Scrum เพื่อแก้ปัญหาและจัดการโครงการ อาร์ทิแฟกต์ Scrum ให้ข้อมูลการวางแผนที่สำคัญและข้อมูลงานแก่สมาชิกในทีมและผู้ที่มีส่วนเกี่ยวข้อง ประกอบด้วยสามอาร์ทิแฟกต์หลักๆ
Product Backlog
Product Backlog เป็นรายการแบบไดนามิกของคุณสมบัติ ข้อกำหนด การปรับปรุง และการแก้ไขที่ต้องดำเนินการให้เสร็จสิ้นเพื่อความสำเร็จของโครงการ โดยพื้นฐานแล้วมันคือรายการสิ่งที่ต้องทำของทีมซึ่งมีการทบทวนและจัดลำดับความสำคัญใหม่อย่างต่อเนื่องเพื่อปรับให้เข้ากับการเปลี่ยนแปลงของตลาด เจ้าของผลิตภัณฑ์จะเป็นผู้ดูแลและปรับปรุงรายการ ลบรายการที่ไม่เกี่ยวข้อง หรือเพิ่มคำขอใหม่จากลูกค้า
Sprint Backlog
Sprint Backlog คือรายการที่ทีมพัฒนาต้องทำให้เสร็จในรอบ Sprint ปัจจุบัน ก่อน Sprint แต่ละครั้ง ทีมงานจะเลือกรายการที่จะลงมือทำงานจาก Product Backlog Sprint Backlog นั้นยืดหยุ่นและสามารถพัฒนาได้ระหว่าง Sprint
Increment
Increment เป็นขั้นตอนสู่เป้าหมายหรือวิสัยทัศน์ เป็นผลิตภัณฑ์ที่ใช้งานได้จาก Sprint ทีมสามารถใช้วิธีการต่างๆ เพื่อกำหนดและสาธิต Sprint Goals ของตน แม้จะมีความยืดหยุ่น แต่ Sprint Goal พื้นฐาน ซึ่งเป็นสิ่งที่ทีมต้องการบรรลุจาก Sprint ปัจจุบันนั้น ไม่สามารถถูกประนีประนอมได้
ตัวอย่างเช่น บางทีมเลือกที่จะเผยแพร่บางสิ่งให้กับลูกค้าในช่วงสุดท้ายของ Sprint เพื่อที่ Sprint Goal ของพวกเขาจะเสร็จสมบูรณ์เมื่อการเปลี่ยนแปลงซอฟต์แวร์ได้รับการเผยแพร่ ทีมอื่นอาจกำลังทำงานเพื่อทำให้ทั้งชุดเสร็จสมบูรณ์ ในกรณีนี้ Sprint Goal จะสมบูรณ์ก็ต่อเมื่อการทดสอบคุณสมบัติเสร็จสิ้น
บทบาทของ Scrum คืออะไร
ทีมงาน Scrum ต้องมีบทบาทจำเพาะสามบทบาท คือเจ้าของผลิตภัณฑ์ หัวหน้า Scrum และทีมพัฒนา
เจ้าของผลิตภัณฑ์
เจ้าของผลิตภัณฑ์ มุ่งเน้นให้มั่นใจว่าทีมพัฒนาจะส่งมอบคุณค่าที่ดีที่สุดให้กับธุรกิจ พวกเขาเข้าใจและจัดลำดับความสำคัญของความต้องการที่เปลี่ยนแปลงไปของผู้ใช้ปลายทางและลูกค้า เจ้าของผลิตภัณฑ์ที่มีประสิทธิภาพจะดำเนินการดังต่อไปนี้
- ให้คำแนะนำที่ชัดเจนแก่ทีมงานเกี่ยวกับคุณสมบัติที่จะนำเสนอ
- เชื่อมช่องว่างระหว่างสิ่งที่ธุรกิจต้องการ และสิ่งที่ทีมเข้าใจ
- ตัดสินใจว่าควรเผยแพร่เมื่อใดและบ่อยเพียงใด
หัวหน้า Scrum
- ทำกำหนดการสำหรับทรัพยากรที่จำเป็นสำหรับแต่ละ Sprint
- อำนวยความสะดวกในกิจกรรมอื่นๆ ของ Sprint และการประชุมทีม
- เป็นผู้นำในการเปลี่ยนผ่านสู่ระบบดิจิทัลภายในทีม
- อำนวยความสะดวกในการฝึกอบรมทีมเมื่อมีการใช้เทคโนโลยีใหม่
- สื่อสารกับกลุ่มภายนอกเพื่อแก้ไขปัญหาที่ทีมอาจเผชิญโดยรวม
ทีมพัฒนา Scrum
ทีมงาน Scrum ประกอบด้วยผู้ทดสอบ นักออกแบบ ผู้เชี่ยวชาญ UX วิศวกร Ops และนักพัฒนา สมาชิกในทีมมีทักษะที่แตกต่างกัน และจะฝึกฝนซึ่งกันและกัน ดังนั้นจึงไม่มีใครกลายเป็นจุดติดขัดในการส่งมอบงาน
Jeff Bezos ซึ่งเป็นผู้ก่อตั้ง Amazon แนะนำกฎสองพิซซ่าในการตัดสินใจขนาดทีม ทีมควรมีขนาดเล็กพอที่พิซซ่าสองถาดจะแบ่งกันพอ
ทีมพัฒนา Scrum มีการดำเนินการดังต่อไปนี้
- ทำงานร่วมกันเพื่อให้แน่ใจว่า Sprint จะสำเร็จไปด้วยดี
- สนับสนุนแนวทางการพัฒนาที่ยั่งยืน
- จัดระเบียบตนเอง และดำเนินโครงการด้วยทัศนคติที่ชัดเจน
- ขับเคลื่อนการวางแผนและการประเมินว่าจะสามารถทำงานให้เสร็จได้มากน้อยเพียงใดในแต่ละ Sprint
กิจกรรมของ Scrum คืออะไร
กิจกรรมของ Scrum หรือพิธีการของ Scrum เป็นชุดการประชุมตามลำดับที่ทีมงาน Scrum ดำเนินการเป็นประจำ บางตัวอย่างของกิจกรรมของ Scrum มีดังต่อไปนี้
การวางแผน Sprint
ในกิจกรรมนี้ ทีมงานจะประมาณงานที่ต้องทำใน Sprint ถัดไป สมาชิกจะกำหนด Sprint Goal ที่เฉพาะเจาะจง วัดได้ และทำให้สำเร็จได้ เมื่อสิ้นสุดการประชุมวางแผน สมาชิก Scrum ทุกคนจะทราบวิธีการส่ง Increment ในแต่ละรายการใน Sprint
Sprint
Sprint คือช่วงเวลาจริงที่ทีมงาน Scrum ทำงานร่วมกันเพื่อทำ Increment ให้เสร็จสิ้น สองสัปดาห์คือระยะเวลาปกติสำหรับหนึ่ง Sprint แต่อาจแตกต่างกันไปขึ้นอยู่กับความต้องการของโครงการและทีมงาน งานยิ่งซับซ้อนและมีสิ่งที่ไม่รู้จักมากเท่าไร Sprint ก็ยิ่งสั้นลงเท่านั้น
Daily Scrum หรือ stand-up
Daily Scrum คือการประชุมสั้นๆ ที่สมาชิกในทีมเข้าร่วมและวางแผนสำหรับวันนั้น พวกเขารายงานเกี่ยวกับงานที่เสร็จสิ้น และบอกถึงสิ่งที่เผชิญในการจะบรรลุ Sprint Goal มันถูกเรียกว่า Stand-up เพราะมีจุดมุ่งหมายเพื่อให้การประชุมสั้นและมีประโยชน์ที่สุด เหมือนตอนที่ทุกคนยืนอยู่
การตรวจสอบ Sprint
เมื่อ Sprint สิ้นสุดลง ทีมงานจะประชุมกันอย่างไม่เป็นทางการเพื่อทบทวนงานที่เสร็จสมบูรณ์และนำเสนอต่อผู้ที่มีส่วนเกี่ยวข้อง เจ้าของผลิตภัณฑ์อาจปรับปรุง Product Backlog ตาม Sprint ปัจจุบัน
การศึกษาผลงานย้อนหลังของ Sprit
ทีมงานมารวมตัวกันเพื่อจัดทำเอกสารและหารือเกี่ยวกับสิ่งที่ใช้ได้ผลและไม่ได้ผลระหว่าง Sprint แนวคิดที่เกิดขึ้นจะถูกใช้ในการปรับปรุง Sprints ในอนาคต
ทำไม Scrum จึงมีความสำคัญในการพัฒนาซอฟต์แวร์
ทีมทุกประเภท เช่น HR การตลาด และทีมออกแบบ ใช้ Scrum อย่างมีประสิทธิภาพ อย่างไรก็ตาม Scrum เป็นที่แพร่หลายมากกว่าในทีมพัฒนาซอฟต์แวร์และทีมวิศวกรรม มันช่วยให้ทีมสามารถตอบสนองความต้องการที่เปลี่ยนแปลงได้รวดเร็วยิ่งขึ้น โดยไม่มีการเสียการควบคุมในต้นทุนและงบประมาณ มันเป็นสิ่งสำคัญด้วยเหตุผลดังต่อไปนี้
ความสามารถในการรักษาคุณภาพในสถานการณ์ที่ท้าทาย
การตรวจสอบการประกันคุณภาพถูกสร้างขึ้นในเฟรมเวิร์กของ Scrum ทีมกำหนดข้อกำหนดในตอนเริ่มต้นของทุกๆ Sprint ทีมงานทำการประเมินซอฟต์แวร์หรือวงจรชีวิตของผลิตภัณฑ์อย่างละเอียด พร้อมทั้งแสดงให้เห็นว่างานสำเร็จลุล่วง ซึ่งหมายความว่าข้อกำหนดยังคงมีความเกี่ยวข้องและสามารถบรรลุได้ภายในกรอบเวลาอันสั้น การมีข้อเสนอแนะจากเจ้าของผลิตภัณฑ์สม่ำเสมอและการตรวจสอบ Sprint ช่วยให้สามารถปรับปรุงทีมได้อย่างต่อเนื่องตลอดทั้งโครงการ
เพิ่มผลตอบแทนจากการลงทุน
ทีมงาน Scrum จัดลำดับความสำคัญของความต้องการตามมูลค่าของลูกค้าและการวิเคราะห์ความเสี่ยง มุ่งเน้นที่การพัฒนาผลิตภัณฑ์หลัก ที่สามารถออกสู่ตลาดเพื่อรวบรวมความคิดเห็นของลูกค้าในช่วงต้น การพัฒนา Scrum มีสิ่งที่ต้องพิจารณา โดยดูว่าข้อบกพร่องนั้นถ้าจะพัฒนาต้องมีค่าใช้จ่ายน้อย ดูประสิทธิภาพของทีม และมีวิธีการที่จะทำให้สำเร็จอย่างรวดเร็ว เพื่อช่วยประหยัดค่าใช้จ่ายในระยะยาว
ทีมที่มีความสุขและมีประสิทธิผลมากขึ้น
ตัววัดที่เกี่ยวข้องซึ่งช่วยปรับปรุงการประเมินผล
ทีมงาน Scrum เลือกตัววัดของตนเองเพื่อวัดประสิทธิภาพของโครงการ พวกเขาประเมินไทม์ไลน์ งบประมาณ และตัวชี้วัดคุณภาพตามประสบการณ์และความสามารถของพวกเขา เจ้าของผลิตภัณฑ์มีอำนาจควบคุมเพราะค่าประเมินนั้นมีความสัมพันธ์กัน ทีมจะได้รับการสนับสนุนมากในช่วงเริ่มต้นโปรเจ็กต์และมากขึ้นเรื่อยๆ เมื่อเวลาผ่านไป ผู้ที่มีส่วนเกี่ยวข้องของโครงการตรวจสอบผลิตภัณฑ์ที่ใช้งานได้ และให้ข้อเสนอแนะอย่างสม่ำเสมอ เพื่อให้แน่ใจว่าโครงการยังคงอยู่ในเส้นทางที่ต้องการ
Scrum และ Agile แตกต่างกันอย่างไร
Agile หมายถึงความคิดหรือวิธีคิดในการพัฒนาซอฟต์แวร์ เป็นปรัชญาที่นำมาใช้ในระดับองค์กรเพื่อให้สมาชิกในทีมทุกคนให้ความสำคัญกับการปรับปรุงอย่างต่อเนื่องและการส่งมอบคุณค่าให้กับลูกค้า Scrum เป็นเฟรมเวิร์กสำหรับการทำงานให้เสร็จภายในหลักการของ Agile Scrum ใช้หลักการหลักทั้งหมดของ Agile ในการกำหนดวิธีการเพื่ออำนวยความสะดวกให้กับโครงการ อย่างไรก็ตาม สิ่งสำคัญที่ควรทราบคือ Agile ไม่ได้หมายถึง Scrum เสมอไป วิธีการต่างๆ มากมายใช้แนวทาง Agile ในการจัดการโครงการ
ทีมพัฒนา Scrum จะนำ DevOps มาใช้ได้อย่างไร
- การทดสอบซอฟต์แวร์อัตโนมัติและการเขียนการทดสอบใหม่สำหรับทุกการพัฒนาคุณสมบัติ
- การใช้เทคโนโลยีจำนวนมาก และเครื่องมือที่สนับสนุนการนำไปใช้จริงอย่างต่อเนื่อง
- ปล่อยการเปลี่ยนแปลงในการผลิตเมื่อสิ้นสุด Sprint แต่ละครั้ง