วัฒนธรรมองค์กรที่แข็งแรงตั้งอยู่บนหกเรื่อง คือ ทำให้คุณค่าของบริษัทเห็นได้ในงานจริง พัฒนาพนักงาน สื่อสารอย่างเปิดเผย ดูแลสมดุลชีวิตกับงาน ยอมรับความสำเร็จ และส่งเสริมความสัมพันธ์นอกรอบ ทั้งหมดนี้โยงกลับไปที่ขวัญกำลังใจของทีม ซึ่งส่งผลต่องานโดยตรง เมื่อพนักงานรู้สึกว่ามีคนเห็นคุณค่าและมีแรงจูงใจ การ
การวนซ้ำ Agile: กุญแจสำคัญในการปรับปรุงอย่างต่อเนื่องในการจัดการโครงการ
บทความนี้เล่าว่ารอบการทำซ้ำของ Agile ทำงานอย่างไร ทำไมทีมจึงพึ่งมัน และมันกำหนดวิธีพัฒนาผลิตภัณฑ์จริงอย่างไร ทีม Agile ไม่รอทำงานเป็นเดือนแล้วค่อยส่งฟีเจอร์ก้อนใหญ่ทีเดียว พวกเขาส่งงานชิ้นเล็กๆ ทุกไม่กี่สัปดาห์ รอบสั้นแบบนี้ทำให้ได้ฟีดแบ็กเร็วขึ้น ทีมรู้เร็วขึ้นว่าฟีเจอร์ใช้ได้หรือไม่ ผู้ใช้ติดขัดตรงไหน และสมมติฐานข้อไหนผิด รอบยิ่งสั้น การเปลี่ยนทิศทางก็ยิ่งเสียต้นทุนน้อย
ประเด็นสำคัญ
การส่งมอบมูลค่าแบบเพิ่มขึ้นช่วยให้ทีมปล่อยส่วนของผลิตภัณฑ์ที่ใช้งานได้เร็วขึ้น และได้ทดสอบไอเดียก่อนจะลงเงินลงแรงไปก้อนใหญ่
รอบสั้นช่วยให้เกิดการปรับปรุงอย่างต่อเนื่องเพราะทีมได้ทบทวนทั้งตัวผลิตภัณฑ์และวิธีทำงานของตัวเองเป็นประจำ
การวางแผนการทำซ้ำที่เป็นระบบช่วยให้ทีมรักษาสมาธิไว้ได้ และไม่ต้องสลับงานไปมาอย่างวุ่นวาย
ทำความเข้าใจการทำซ้ำ: บล็อกการสร้างของการพัฒนา agile
การทำซ้ำของ Agile คือรอบการพัฒนาสั้นๆ ที่ทีมวางแผน ลงมือสร้าง ตรวจสอบ และปรับปรุงงานภายในกรอบเวลาที่กำหนดไว้ รอบเหล่านี้มักเรียกกันว่าสปรินต์ และโดยปกติจะยาวตั้งแต่หนึ่งถึงสี่สัปดาห์
เหตุผลที่การทำซ้ำได้ผลนั้นเรียบง่าย งานชุดเล็กทำให้เห็นปัญหาเร็วกว่า เมื่อทีมปล่อยงานเป็นรอบสั้น ก็รู้ได้เร็วว่าฟีเจอร์แก้ปัญหาที่ตั้งใจไว้ได้จริงหรือเปล่า หรือกลับสร้างความติดขัดแบบใหม่ขึ้นมา
เรื่องนี้สำคัญมากในงาน SaaS ซึ่งสมมติฐานเกี่ยวกับผลิตภัณฑ์เปลี่ยนอยู่ตลอด พฤติกรรมผู้ใช้ ตั๋วแจ้งปัญหาจากฝ่ายซัพพอร์ต และข้อมูลวิเคราะห์มักหักล้างไอเดียตั้งต้น การทำซ้ำทำให้ทีมปรับตัวได้โดยไม่ต้องรื้อโรดแมปทั้งหมด
ผลสำรวจในวงการอย่าง State of Agile Report ชี้ให้เห็นทุกครั้งว่า การได้ฟีดแบ็กเร็วขึ้นยังเป็นเหตุผลหลักข้อหนึ่งที่องค์กรหันมาพัฒนางานแบบทำซ้ำ
การทำซ้ำของ agile ทำงานอย่างไร?
การทำซ้ำของ Agile มักใช้เวลา 1 ถึง 4 สัปดาห์ และมีขั้นตอนที่ชัดเจนดังนี้:
- การวางแผน: ทีมเลือกรายการใน backlog จำนวนที่ทำได้จริงมาใส่ในรอบนี้ Product owner เป็นผู้กำหนดลำดับความสำคัญ ส่วนวิศวกรประเมินแรงที่ต้องใช้และชี้ว่างานไหนต้องรองานไหน
- การดำเนินการ: งานพัฒนาเดินหน้าไปทีละส่วน การประชุม stand-up ทุกวันทำให้ทุกคนเห็นความคืบหน้า และช่วยให้ทีมเจอสิ่งที่ขวางงานได้ตั้งแต่เนิ่นๆ
- การตรวจสอบ: เมื่อจบรอบ ทีมสาธิตฟังก์ชันที่ทำเสร็จแล้ว ผู้มีส่วนได้ส่วนเสียดูว่างานชิ้นนี้แก้ปัญหาที่คาดไว้ได้หรือไม่
- Retrospective: ทีมทบทวนวิธีทำงานของตัวเอง หาว่าอะไรทำให้ช้า ประสานงานติดขัดตรงไหน หรือมีคอขวดทางเทคนิคอะไร แล้วนำไปปรับในรอบถัดไป
ตัวอย่าง: ช่วงแรกของการพัฒนา Slack พึ่งพารอบสปรินต์สั้นเป็นหลัก องค์ประกอบใหม่ของหน้าจอและฟีเจอร์สำหรับทำงานร่วมกันถูกนำไปทดสอบอย่างรวดเร็ว ทีมจึงปรับงานตามการใช้งานจริง แทนที่จะอิงสมมติฐานที่คิดกันเองภายใน
ประโยชน์ของการทำซ้ำของ agile
การพัฒนาแบบทำซ้ำเปลี่ยนวิธีที่ทีมรับมือกับความเสี่ยง ความเร็วในการส่งงาน และการทำงานร่วมกัน ข้อมูลเพิ่มเติม: ซอฟต์แวร์บริหารผลิตภัณฑ์สำหรับทีม
- การส่งมอบมูลค่าที่เร็วขึ้น: ทุกรอบได้งานที่ใช้งานได้ออกมา ผู้มีส่วนได้ส่วนเสียเห็นผลิตภัณฑ์เปลี่ยนจริงภายในไม่กี่สัปดาห์ ไม่ต้องรอจนถึงการปล่อยเวอร์ชันใหญ่
- ความยืดหยุ่น: รอบสั้นทำให้ปรับโรดแมปได้โดยเสี่ยงน้อยลง สิ่งที่เพิ่งได้เรียนรู้ใส่เข้าไปในรอบถัดไปได้เลย ไม่ต้องเปลี่ยนแผนกลางโครงการจนงานสะดุด
- การลดความเสี่ยง: งานชุดเล็กทำให้เห็นข้อผิดพลาดเร็วขึ้น ถ้าการตัดสินใจด้านดีไซน์หรือสถาปัตยกรรมผิดพลาด ปัญหาจะโผล่หลังจบสปรินต์เดียว แทนที่จะโผล่อีกหลายเดือนต่อมา
- การทำงานร่วมกันที่ดีขึ้น: การรีวิวงานและ retrospective ที่จัดเป็นประจำทำให้ product manager วิศวกร และผู้มีส่วนได้ส่วนเสียมีจังหวะคุยกันที่คาดเดาได้
แนวปฏิบัติที่ดีที่สุดสำหรับการทำซ้ำที่ประสบความสำเร็จ
การทำซ้ำจะได้ผลก็ต่อเมื่อทีมถือเป็นวินัยในการทำงาน มากกว่าจะเป็นแค่รูปแบบการวางแผน
กำหนดเป้าหมายที่ชัดเจน: แต่ละรอบควรมุ่งไปที่ผลลัพธ์ที่วัดได้ เป้าหมายอย่าง "ลดเวลาในการโหลดหน้า 25%" บอกทิศทางที่จับต้องได้ และทำให้ประเมินผลได้ง่ายเมื่อจบรอบ
จัดลำดับความสำคัญของงาน: ลำดับงานใน backlog ควรสะท้อนว่างานไหนส่งผลต่อผลิตภัณฑ์มากแค่ไหน เมื่อแต่ละรอบรับงานได้จำกัด งานที่มีคุณค่าสูงต้องมาก่อนงานที่ส่งผลน้อย
ใช้ retrospective เพื่อปรับปรุง: การทำซ้ำยังช่วยให้เห็นปัญหาในวิธีทำงานด้วย ถ้าทีมหมดเวลาส่วนใหญ่ของสปรินต์ไปกับการแก้บั๊ก อาจถึงเวลาเพิ่มการทดสอบอัตโนมัติให้แน่นขึ้น หรือให้ QA เข้ามาร่วมตั้งแต่เนิ่นๆ
การทำซ้ำของ agile vs รอบโครงการแบบดั้งเดิม
ต่างจากการวางแผน waterfall แบบดั้งเดิม การทำซ้ำของ Agile พึ่งพาข้อเสนอแนะอย่างต่อเนื่องและการส่งมอบแบบเพิ่มขึ้น
| ด้าน |
รอบดั้งเดิม |
การทำซ้ำของ Agile |
| ความยืดหยุ่น |
ต่ำ |
สูง |
| รูปแบบการส่งมอบ |
ครั้งเดียว (สิ้นสุดโครงการ) |
เพิ่มขึ้น |
| การมีส่วนร่วมของผู้มีส่วนได้ส่วนเสีย |
น้อยที่สุด |
ต่อเนื่อง |
| การปรับตัว |
จำกัด |
สูง |
ข้อเท็จจริงที่น่าสนใจ
คุณรู้หรือไม่? แนวคิดการปรับปรุงแบบทำซ้ำมีมาก่อนการพัฒนาซอฟต์แวร์แบบ Agile นานแล้ว วิศวกรของ Toyota ใช้วงจร "Plan-Do-Check-Act" (PDCA) ปรับปรุงกระบวนการผลิตด้วยการทดลองแล้วปรับซ้ำไปเรื่อยๆ ต่อมาตรรกะเดียวกันนี้ก็ได้กลายเป็นรากของแนวปฏิบัติในการพัฒนาแบบ Agile
เพื่อทำความเข้าใจหลักการสำคัญที่ขับเคลื่อน Agile ให้ลึกขึ้น อ่านบทความของเรา "Agile Manifesto คืออะไร? ทำความเข้าใจค่านิยมและหลักการสำคัญ" ส่วนวิธีวางโครงสร้างทีมให้ทำงานได้ดี ดูได้ในคู่มือของเรา "โครงสร้างทีม Agile: บทบาทและความรับผิดชอบสำหรับการทำงานร่วมกันอย่างมีประสิทธิภาพ" ถ้าอยากได้ไอเดียปรับรอบการทำซ้ำ ดูเคล็ดลับของเราเรื่อง "เทมเพลตเวิร์กโฟลว์: วิธีปรับกระบวนการให้เหมาะสมเพื่อประสิทธิภาพสูงสุด" อ่านเพิ่มเติม: ซอฟต์แวร์บริหารโครงการสำหรับทีม
บทสรุป
การทำซ้ำของ Agile ทำให้งานพัฒนามีจังหวะที่คาดเดาได้ เมื่อปล่อยงานเป็นรอบสั้น ทีมก็ย่นระยะจากไอเดียไปสู่การลงมือทำและการได้ฟีดแบ็กกลับมา
ผลคือความไม่แน่นอนลดลง ปัญหาโผล่เร็วขึ้น เปลี่ยนลำดับความสำคัญได้โดยไม่เสี่ยง และทีมเดินหน้าเข้าหาเป้าหมายของผลิตภัณฑ์ได้อย่างมั่นคง
การอ่านที่แนะนำ
"Agile Estimating and Planning"
แนวทางที่ใช้ได้จริงสำหรับการวางแผนและการประเมินงานแบบ Agile พร้อมวิธีจัดการรอบการทำซ้ำและส่งมอบมูลค่าทีละส่วน
"Succeeding with Agile: Software Development Using Scrum"
คู่มือการนำ Agile ไปใช้ในองค์กร เน้นแนวปฏิบัติของ Scrum ทั้งการทำซ้ำและ retrospective เพื่อให้ทีมทำงานได้ดีขึ้น
"User Story Mapping: Discover the Whole Story, Build the Right Product"
อธิบายวิธีวางแผนและเรียงลำดับความสำคัญของงานในแต่ละรอบการทำซ้ำ เพื่อให้สิ่งที่ส่งออกไปมีคุณค่าสูงจริง