อะไรคือความแตกต่างระหว่างการต่อสู้และการพัฒนาที่คล่องตัว? [ปิด]


385

อะไรคือความแตกต่างระหว่างการต่อสู้กับการพัฒนาที่คล่องตัว? Sprint และ Iterations เหมือนกันหรือไม่


3
ความเป็นไปได้ที่ซ้ำกันของScrum แบบฝึกหัดจาก Agile Practice แตกต่างกันอย่างไร
Joe

3
ฉันคิดว่าคำถามนี้อาจไม่ได้อยู่ในหัวข้อเพราะไม่เกี่ยวข้องกับการเขียนโปรแกรม
รหัส L ღ ver

พวกเขาใช้สำหรับภาคการผลิตและการผลิต ยังไม่เข้าใจว่าจะลดการใช้ซอฟต์แวร์ที่มีอยู่ได้อย่างไร สิ่งที่สะอาด, เข้าใจ, สุภาพ, สุกงอม
Siva Tumma

1
ฉันลงคะแนนให้ปิดคำถามนี้เป็นหัวข้อนอกเรื่องเพราะเป็นเรื่องเกี่ยวกับกระบวนการพัฒนาซอฟต์แวร์หรือวิธีการ
Thomas Owens

1
Scrum เป็นหนึ่งในวิธีการที่จะใช้กระบวนการแบบ Agile เช่น Kanban ดังนั้นความนึกคิดเราควรมองหาแตกต่าง b / w การต่อสู้และ Kanban atlassian.com/agile/kanban/kanban-vs-scrum
Amitesh

คำตอบ:


353

Scrum เป็นเพียงหนึ่งในวิธีการพัฒนาซอฟต์แวร์แบบว่องไวแบบวนซ้ำและแบบเพิ่มขึ้นจำนวนมาก คุณสามารถค้นหาที่นี่คำอธิบายรายละเอียดมากของกระบวนการ

ในระเบียบวิธี SCRUM Sprint เป็นหน่วยพื้นฐานของการพัฒนา Sprint แต่ละคนเริ่มต้นด้วยการประชุมวางแผนที่มีการระบุภารกิจสำหรับการวิ่งและความมุ่งมั่นโดยประมาณสำหรับเป้าหมายการวิ่ง Sprint สิ้นสุดลงด้วยการตรวจสอบหรือการประชุมย้อนหลังที่มีการทบทวนความคืบหน้าและมีการระบุบทเรียนสำหรับการวิ่งครั้งต่อไป ระหว่าง Sprint แต่ละทีมจะสร้างส่วนของผลิตภัณฑ์ที่เสร็จแล้ว

ในวิธีการแบบว่องไวการวนซ้ำแต่ละครั้งจะเกี่ยวข้องกับทีมที่ทำงานผ่านวงจรการพัฒนาซอฟต์แวร์เต็มรูปแบบรวมถึงการวางแผนการวิเคราะห์ความต้องการการออกแบบการเข้ารหัสการทดสอบหน่วยและการทดสอบการยอมรับเมื่อมีการแสดงผลิตภัณฑ์ที่ทำงานให้ผู้มีส่วนได้เสีย

ดังนั้นหากใน SCRUM Sprint คุณดำเนินการตามขั้นตอนการพัฒนาซอฟต์แวร์ทั้งหมด (ตั้งแต่การวิเคราะห์ความต้องการไปจนถึงการทดสอบการยอมรับ) และในความคิดของฉันคุณควรคุณสามารถพูดได้ว่า SCRUM Sprints นั้นสอดคล้องกับการย้ำ AGILE


12
คำอธิบายที่ดี การดัดแปลงบางอย่างที่ฉันอยากจะแนะนำ: การวางแผน Sprint เป็นเหตุการณ์แรกในกล่องเวลาวิ่ง Sprints ไม่มีช่องว่างดังนั้นจึงไม่มีอะไรมาก่อนการวิ่ง
Ryan Cromwell

63
คำตอบนั้นไม่ชัดเจนเพียงพอ วิธีที่อธิบายสองสิ่งนี้พวกมันฟังดูคล้ายกัน มีการใช้คำศัพท์ที่แตกต่างกันเพื่ออธิบาย ฉันคิดว่าคำตอบนี้แม้ว่าจะเป็นเพียงบรรทัดเดียว แต่ก็ชัดเจนและบอกความแตกต่างได้อย่างแม่นยำว่า Agile เป็นเพียงปรัชญาและ Scrum เป็นการใช้งานปรัชญา
Nawaz

1
Scrumเป็นกรอบสำหรับการพัฒนาการส่งมอบและการสนับสนุนผลิตภัณฑ์ที่ซับซ้อนไม่ใช่การจัดการโครงการ มันเป็นหนึ่งในรากฐานของปรัชญาความคล่องตัวที่อธิบายไว้ในแถลงการณ์ไม่ใช่ผลลัพธ์ของมัน
Alan Larimer

76

ดังกล่าวข้างต้นโดยผู้อื่น

Scrum เป็นวิธีการพัฒนาซอฟต์แวร์แบบวนซ้ำและเพิ่มขึ้นสำหรับการจัดการโครงการซอฟต์แวร์และการพัฒนาผลิตภัณฑ์หรือแอปพลิเคชัน ดังนั้น Scrum เป็นวิธีการแบบ Agile ที่ใช้กันอย่างแพร่หลายในการพัฒนาซอฟต์แวร์

ดังนั้น Scrum เป็นรสชาติเฉพาะของ Agile โดยเฉพาะมันถูกเรียกว่าเป็นกรอบการจัดการโครงการเปรียว

นอกจากนี้ Scrum ยังมีบทบาทสองอย่างในนั้นคือ: 1. บทบาทหลัก / แกนหลัก 2. บทบาทเสริม

บทบาทหลัก / หลัก: ประกอบด้วยสามบทบาทหลัก: a) Scrum Master, b) เจ้าของผลิตภัณฑ์ c) ทีมพัฒนา

บทบาทเสริม: บทบาทเสริมในทีมการต่อสู้คือผู้ที่ไม่มีบทบาทอย่างเป็นทางการและการมีส่วนร่วมไม่บ่อยนักในขบวนการต่อสู้ แต่อย่างไรก็ตามพวกเขาจะต้องนำมาพิจารณา ได้แก่ ผู้มีส่วนได้เสียผู้จัดการ

Scrum Master: - การประชุมในการต่อสู้มีทั้งหมด 6 แบบ:

  • การต่อสู้รายวัน / Standup
  • กรูมมิ่ง Backlog: เรื่องราว
  • Scrum of Scrums
  • การประชุมวางแผนวิ่ง
  • การประชุมทบทวน Sprint
  • Sprint ย้อนหลัง

แจ้งให้เราทราบหากมีผู้ใดต้องการข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนี้


2
เขียนบทความเกี่ยวกับบทบาทในการต่อสู้ที่ดี ขอบคุณ!
asgs

1
ขอบคุณ! นั่นเป็นความช่วยเหลือที่ดีเยี่ยมสำหรับผู้เริ่มต้น
Tesfa Zelalem

1
จุดประสงค์ของการแย่งชิงกันของ scrums คืออะไร?
kn3l

30

หน้าจอ:

SCRUM เป็นวิธีการแบบ Agile มันเป็น Framework ไม่ใช่ระเบียบวิธี

ไม่ได้ให้คำแนะนำโดยละเอียดเกี่ยวกับสิ่งที่ต้องทำ แต่ส่วนใหญ่ขึ้นอยู่กับทีมที่พัฒนาซอฟต์แวร์ เนื่องจากการพัฒนาโครงการรู้ว่าปัญหาสามารถแก้ไขได้นั่นคือสาเหตุที่เหลืออยู่ในนั้น

ทีมข้ามสายงานและการจัดการตนเองเป็นสิ่งจำเป็นในกรณีที่มีการต่อสู้ ไม่มีหัวหน้าทีมในกรณีนี้ที่จะมอบหมายงานให้กับสมาชิกในทีมแทนทั้งทีมแก้ไขปัญหาหรือปัญหา เป็นการทำงานข้ามสายงานในลักษณะที่ทุกคนมีส่วนร่วมในโครงการตั้งแต่ความคิดไปจนถึงการดำเนินโครงการ

ข้อดีของการต่อสู้คือทิศทางของโครงการที่จะปรับตามงานที่เสร็จสมบูรณ์ไม่ใช่การเก็งกำไรหรือการคาดการณ์

บทบาทที่เกี่ยวข้อง: เจ้าของผลิตภัณฑ์, Scrum Master, สมาชิกในทีม

วิธีการเปรียว:

สร้างแอปพลิเคชันซอฟต์แวร์ที่ไม่แน่นอนในลักษณะ

จังหวะการทำงานซ้ำและเพิ่มขึ้นเรียกว่า sprints ถูกใช้ในวิธีการนี้

ทั้ง Agile และ SCRUM เป็นไปตามระบบ - คุณลักษณะบางอย่างได้รับการพัฒนาเป็นส่วนหนึ่งของการวิ่งและตอนท้ายของการวิ่งแต่ละครั้ง คุณสมบัติเสร็จสมบูรณ์ทันทีจากการเข้ารหัสการทดสอบและการรวมเข้ากับผลิตภัณฑ์ มีการสาธิตการทำงานให้กับเจ้าของเมื่อสิ้นสุดการวิ่งแต่ละครั้งเพื่อให้ข้อเสนอแนะสามารถนำมาใช้ได้ซึ่งจะเป็นประโยชน์สำหรับการวิ่งครั้งต่อไป

ประกาศเพื่อการพัฒนาที่คล่องตัว:

  1. บุคคลและการมีปฏิสัมพันธ์เหนือกระบวนการและเครื่องมือ
  2. ซอฟต์แวร์ทำงานผ่านเอกสารที่ครอบคลุม
  3. การทำงานร่วมกันของลูกค้าในการเจรจาสัญญา
  4. ตอบสนองต่อการเปลี่ยนแปลงมากกว่าการทำตามแผน

นั่นคือในขณะที่มีค่าในรายการทางด้านขวาเราให้ความสำคัญกับรายการทางด้านซ้ายมากขึ้น


20

การต่อสู้ที่เหมาะสมกับการพัฒนาแบบเปรียวนั้นมีวิธีการอย่างไร

ในขณะที่วิธีการ Agile สามารถนำไปใช้กับการพัฒนาผลิตภัณฑ์ไม่เพียง แต่ในอุตสาหกรรมซอฟต์แวร์ แต่ในอุตสาหกรรมอื่น ๆ เช่นกัน Scrum มีความเฉพาะกับการพัฒนาซอฟต์แวร์

การแย่งชิงไม่ใช่วิธีการ มันให้โครงสร้างระเบียบวินัยและกรอบการพัฒนาเปรียว โครงการทั้งหมดประกอบด้วยชุดของ Sprints หรือ Sprint Cycles (1 ถึง n) โดยที่ Sprint แต่ละชุดมีระยะเวลาเท่ากัน ถ้า 'time' ถูกแทนด้วย T ดังนั้น T1 = T2 = T3 = … Tn Sprints อาจอยู่ที่ใดก็ได้ระหว่าง 2 ถึง 4 สัปดาห์ นักวิ่งที่สั้นกว่า 2 สัปดาห์นั้นไม่เหมาะและใช้น้อยกว่า ในตอนท้ายของ Sprint แต่ละชิ้นจะมีการผลิตซอฟต์แวร์ที่ใช้งานได้จริงซึ่งผู้ใช้สามารถทดสอบได้

บทความต้นฉบับอยู่ที่นี่ ...

https://www.linkedin.com/pulse/agile-development-using-scrum-what-you-dont-know-sri-prakash?trk=prof-post


4
โปรดทราบว่า Scrum ไม่ได้มีลักษณะเฉพาะสำหรับการพัฒนาซอฟต์แวร์ ... มันเป็นที่นิยมอย่างมากในการพัฒนาซอฟต์แวร์ แต่เป็นเพราะความซับซ้อนของการพัฒนาซอฟต์แวร์ การพัฒนาผลิตภัณฑ์ที่ซับซ้อนจะได้ประโยชน์จากการใช้ Scrum เรื่องสนุก: ถ้าคุณค้นหา Scrum Guide มันไม่ได้พูดถึงคำว่า "ซอฟต์แวร์" เพียงครั้งเดียว
Nick Clark

15

Agile and Scrum เป็นคำศัพท์ที่ใช้ในการจัดการโครงการ วิธีการเปรียวใช้จังหวะการทำงานที่เพิ่มขึ้นและซ้ำที่เรียกอีกอย่างว่า sprints Scrum ตรงกันข้ามเป็นประเภทของวิธีการที่คล่องตัวที่ใช้ในการพัฒนาซอฟต์แวร์

Agile เป็นแบบฝึกหัดและ Scrum เป็นกระบวนการในการทำตามแบบฝึกหัดเช่นเดียวกับ eXtreme Programming (XP) และ Kanban เป็นกระบวนการทางเลือกในการทำแบบฝึกหัดการพัฒนาแบบ Agile


9

ระเบียบวิธีน้ำตกเป็นกระบวนการออกแบบตามลำดับ ซึ่งหมายความว่าเมื่อแต่ละขั้นตอนทั้งแปด (ความคิดการเริ่มต้นการวิเคราะห์การออกแบบการก่อสร้างการทดสอบการใช้งานและการบำรุงรักษา) เสร็จสมบูรณ์นักพัฒนาจะไปยังขั้นตอนต่อไป

เนื่องจากกระบวนการนี้เป็นแบบต่อเนื่องเมื่อขั้นตอนเสร็จสิ้นแล้วนักพัฒนาจะไม่สามารถย้อนกลับไปยังขั้นตอนก่อนหน้าได้โดยไม่ต้องเกาทั้งโครงการและเริ่มจากจุดเริ่มต้น ไม่มีที่ว่างสำหรับการเปลี่ยนแปลงหรือข้อผิดพลาดดังนั้นผลลัพธ์ของโครงการและแผนที่ครอบคลุมจะต้องถูกกำหนดไว้ตั้งแต่ต้นแล้วจึงค่อยติดตามอย่างระมัดระวัง

การรับรอง ACP Agileเป็นวิธีการแก้ปัญหาข้อเสียของวิธีการน้ำตก แทนที่จะเป็นขั้นตอนการออกแบบตามลำดับระเบียบวิธี Agile ทำตามวิธีการที่เพิ่มขึ้น นักพัฒนาเริ่มต้นด้วยการออกแบบโครงการที่เรียบง่ายแล้วเริ่มทำงานกับโมดูลขนาดเล็ก งานในโมดูลเหล่านี้จะทำในการวิ่งรายสัปดาห์หรือรายเดือนและในตอนท้ายของแต่ละการวิ่งลำดับความสำคัญของโครงการจะได้รับการประเมินและการทดสอบจะทำงาน การวิ่งเหล่านี้ช่วยให้สามารถค้นพบข้อบกพร่องและข้อเสนอแนะของลูกค้าที่จะรวมอยู่ในการออกแบบก่อนที่จะวิ่งวิ่งต่อไป

กระบวนการที่ขาดการออกแบบและขั้นตอนเริ่มต้นมักถูกวิพากษ์วิจารณ์ว่าเป็นเพราะธรรมชาติของการทำงานร่วมกันที่มุ่งเน้นไปที่หลักการมากกว่ากระบวนการ


Agile เป็นคำภาษาอังกฤษทั่วไปและหมายถึงความสามารถในการสร้างและตอบสนองต่อการเปลี่ยนแปลง ในโลกของการพัฒนาซอฟต์แวร์ Agile มีชุดระเบียบวิธีและกรอบความคล่องตัว (คุณสามารถค้นหาได้ทั้งหมดใน wiki) หนึ่งในนั้นคือ SCRUM และ SCRUM เป็นกรอบและไม่ใช่วิธีการ
Don_Manj

9

เมื่อเริ่มแรกสิ่งที่ฉันสามารถพูดได้ - Agile เป็นวิธีการวิวัฒนาการจาก Unified Process ซึ่งมุ่งเน้นไปที่การพัฒนาซ้ำและการเพิ่มขึ้น (IID) IID เน้นการพัฒนาซ้ำ ๆ เกี่ยวกับขั้นตอนการก่อสร้าง (การเข้ารหัสจริง) และการส่งมอบที่เพิ่มขึ้น มันจะไม่เน้นเพิ่มเติมเกี่ยวกับการวิเคราะห์ความต้องการ (การลงทะเบียนเรียน) และการออกแบบ (การทำรายละเอียด) ที่ถูกจัดการในการทำซ้ำตัวเอง ดังนั้นการทำซ้ำที่นี่ไม่ใช่ "โครงการขนาดเล็กด้วยตัวเอง"

ใน Agile เราใช้ IDD นี้ต่อไปอีกเล็กน้อยเพิ่มความเป็นจริงมากขึ้นเช่นการทำงานร่วมกันของทีมความต้องการวิวัฒนาการและการออกแบบเป็นต้น SCRUM เป็นเครื่องมือในการเปิดใช้งานโดยพิจารณาจากปัจจัยมนุษย์และสร้างหลักการ 'ภูมิปัญญาของกลุ่ม' ดังนั้น Sprint ที่นี่คือ "โครงการขนาดเล็กด้วยตัวเอง" ที่ดีกว่าโมเดล IID ที่บริสุทธิ์

ดังนั้นการดำเนินการซ้ำในลักษณะ Agile คือใช่ในทางทฤษฎี Sprints (เน้นขนาดของการวนซ้ำที่มีขนาดเล็กและการส่งมอบที่รวดเร็ว) ฉันไม่ได้แยกความแตกต่างระหว่าง Agile และ SCRUM และฉันเห็นว่า SCRUM เป็นวิธีธรรมชาติในการนำหลักการ Agile มาใช้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.