Jarrod ให้คำตอบที่ดี (+1 ถึงเรื่องนั้น) และฉันอยากจะขยายไปเล็กน้อย
Agile ไม่ได้เป็นเพียงแค่ความล้มเหลวอย่างรวดเร็วและข้อเสนอแนะระหว่างเจ้าของผลิตภัณฑ์ (ลูกค้า) และทีม มันเกี่ยวกับการตอบรับอย่างรวดเร็วระหว่างผู้มีส่วนได้เสีย เพื่อให้มีความคล่องตัวอย่างแท้จริง (และนี่คือโดยตรงจากการประกาศ ) คือการรับรู้ว่ากระบวนการที่มีอยู่เพียงเพื่อช่วยให้นักพัฒนาในการส่งมอบผลิตภัณฑ์ที่ดีขึ้น ผู้คนด้านบนของกระบวนการหมายความว่าทันทีที่ทีมตระหนักถึงกระบวนการที่มีอยู่ของคุณไม่ทำงานคุณจะเปลี่ยนมันและทำให้มันใช้งานได้
"Scrum but ... " ก็เป็นปัญหาเช่นกัน แต่ก็มีทั้งสองด้านของเหรียญนี้ ถ้าคุณดูแถลงการณ์คุณจะเห็นว่ามันเกี่ยวกับทีมและการสร้างเครื่องมือ / กระบวนการทำงานให้คุณ ไม่มีสองทีมเหมือนกันดังนั้นแต่ละทีมจะทำงานแตกต่างกันเล็กน้อยและก็โอเค แน่นอนคุณสามารถใช้วิธีการแย่งชิงกันทั้งหมดและลองทำตามจดหมายและดูว่ามันเหมาะกับทีมของคุณหรือไม่
อีกทางเลือกหนึ่งคือแทนที่จะผลักดันกระบวนการอื่นเข้าสู่ทีมและทำให้ทุกคนทำตามสิ่งที่ Scrum บอกให้คุณทำลองใช้วิธีการที่คล่องตัว : สื่อสารกับทีมและดูว่าคุณสามารถระบุปัญหาและวิธีแก้ปัญหาสำหรับแต่ละเรื่องด้วยกันได้หรือไม่ จากนั้นค่อยแนะนำการเปลี่ยนแปลงในแบบที่คุณทำงานเพื่อให้ปัญหาได้รับการแก้ไข
อาจใช้เวลาสักครู่ แต่ ...
- คุณจะแก้ไขปัญหาที่ใหญ่ที่สุดก่อนซึ่งจะมีผลกระทบมากที่สุดต่อความสามารถของทีมในการส่งมอบผลิตภัณฑ์
- โดยการระบุปัญหาที่เกิดขึ้นทันทีและการมีส่วนร่วมในการหาวิธีแก้ปัญหาสมาชิกในทีมของคุณจะเข้าใจว่าทำไมการปฏิบัติบางอย่างจึงมีความสำคัญและจะไม่ทำอย่างนั้นเพราะพวกเขาได้รับคำสั่งให้ทำ
หากเราวาดความคล้ายคลึงกันระหว่างการต่อสู้และรูปแบบการออกแบบการทำงานในแบบที่ฉันเสนอจะคล้ายกับการเขียนโค้ดลงในรูปแบบที่คุณเก็บรหัสให้ง่ายที่สุดเท่าที่จะทำได้และมาบรรจบกับรูปแบบการออกแบบเมื่อจำเป็นเท่านั้น เมื่อเทียบกับการเลือกรูปแบบการออกแบบและการหมุนด้วย (เช่นสุ่มเลือก Scrum และกระบวนการทั้งหมดเป็นหนึ่งชุด) ซึ่งบางครั้งทำให้รหัสซับซ้อนและยากที่จะรักษามากกว่าที่จะเป็นอย่างอื่น
กุญแจสำคัญในการเข้าใจคือความคล่องตัวไม่ได้เกี่ยวกับกระบวนการใหม่ในการทำสิ่งต่าง ๆ มันเกี่ยวกับการเปลี่ยนแปลงอย่างต่อเนื่องและการปรับอย่างต่อเนื่องกับกระบวนการ / การปฏิบัติที่มีอยู่