الفرق بين البرمجة المتطرفة و SCRUM

الفرق بين البرمجة المتطرفة و SCRUM
الفرق بين البرمجة المتطرفة و SCRUM

فيديو: الفرق بين البرمجة المتطرفة و SCRUM

فيديو: الفرق بين البرمجة المتطرفة و SCRUM
فيديو: ما هو منفذ الصوت البصري ، ومتى يجب استخدامه؟digital audio out Optical 2024, شهر نوفمبر
Anonim

البرمجة المتطرفة مقابل SCRUM | XP مقابل SCRUM

كان هناك عدد من منهجيات تطوير البرامج المختلفة المستخدمة في صناعة البرمجيات على مر السنين ، مثل طريقة تطوير الشلال ، V-Model ، RUP وعدد قليل من الأساليب الخطية التكرارية والمجمعة الأخرى. نموذج Agile (أو الأصح ، مجموعة من المنهجيات) هو نموذج تطوير برمجيات أحدث قدمه بيان Agile لمعالجة أوجه القصور الموجودة في منهجيات تطوير البرامج التقليدية.

تعتمد الأساليب الرشيقة على التطوير التكراري وتستخدم التعليقات الواردة من المستخدمين كآلية تحكم رئيسية.يمكن أن يُطلق على Agile نهج يركز على الناس أكثر من الأساليب التقليدية. يقدم نموذج Agile نسخة عمل من المنتج في وقت مبكر جدًا عن طريق تقسيم النظام إلى أجزاء فرعية صغيرة جدًا ويمكن التحكم فيها ، بحيث يمكن للعميل تحقيق بعض الفوائد في وقت مبكر. وقت دورة اختبار Agile قصير نسبيًا مقارنة بالطرق التقليدية ، لأن الاختبار يتم بالتوازي مع التطوير. بسبب كل هذه المزايا ، تُفضل الأساليب الرشيقة على المنهجيات التقليدية في الوقت الحالي. تعد برمجة Scrum و Extreme من أكثر الأشكال شيوعًا لأساليب Agile.

ما هو SCRUM؟

كما هو مذكور أعلاه ، SCRUM هي عملية إدارة مشاريع تدريجية ومتكررة ، والتي تنتمي إلى عائلة أساليب Agile. يعتمد SCRUM على إعطاء أولوية عالية لمشاركة العملاء في وقت مبكر من دورة التطوير. توصي بدمج الاختبار من قبل العميل في وقت مبكر وفي كثير من الأحيان قدر الإمكان. يتم الاختبار في كل نقطة عندما يتوفر إصدار ثابت.يعتمد أساس SCRUM على بدء الاختبار من بداية المشروع والاستمرار حتى نهاية المشروع.

القيمة الأساسية لـ SCRUM هي "الجودة هي مسؤولية الفريق" ، مما يؤكد أن جودة البرنامج هي مسؤولية الفريق بأكمله (وليس فقط فريق الاختبار). يتمثل أحد الجوانب المهمة الأخرى لـ SCRUM في تقسيم البرنامج إلى أجزاء أصغر يمكن إدارتها وتقديمها للعملاء بسرعة كبيرة. يعتبر تقديم منتج عاملاً في غاية الأهمية. ثم يواصل الفريق تحسين البرنامج وتقديمه بشكل مستمر في كل خطوة رئيسية. يتم تحقيق ذلك من خلال دورات إطلاق قصيرة جدًا (تسمى سباقات السرعة) والحصول على تعليقات للتحسين في نهاية كل دورة.

يحدد SCRUM العديد من الأدوار الرئيسية للتشغيل السلس لفريق التطوير. هم مالك المنتج (الذي يمثل العميل ويحافظ على تراكم المنتج) ، ومدير سكرم (الذي يعمل كمنظم ومنسق للفريق من خلال عقد اجتماعات سكرم ، والحفاظ على الأعمال المتراكمة والسباقات المخططة) وأعضاء الفريق الآخرين.قد يتكون الفريق من أدوار تقليدية ، ولكن في الغالب يكونون فرقًا ذاتية الإدارة. عناصر Scrum الرئيسية هي Product backlog / Release backlog (قائمة الرغبات) ، Sprint backlogs / العيوب المتراكمة (المهام في كل تكرار) ، حرق الرسوم البيانية (العمل المتبقي مقابل التاريخ). احتفالات SCRUM الرئيسية هي اجتماع تراكم المنتج واجتماع Sprint واجتماع Retrospect.

ما هي البرمجة المتطرفة؟

البرمجة المتطرفة (اختصار XP) هي منهجية تطوير برمجيات تنتمي إلى نموذج Agile. تنفذ البرمجة المتطرفة مراحل بخطوات متواصلة صغيرة جدًا (مقارنة بالطرق التقليدية). التمريرة الأولى ، التي تستغرق يومًا أو أسبوعًا فقط ، غير مكتملة عن قصد. لتوفير أهداف محددة لتطوير البرنامج ، تتم كتابة الاختبارات الآلية في البداية. ثم يقوم المطورون بالترميز. ينصب التركيز على عمل البرمجة كأزواج. بمجرد اجتياز جميع الاختبارات ، يعتبر الترميز مكتملاً. المرحلة التالية هي التصميم والهندسة المعمارية ، والتي تتعامل مع إعادة هيكلة الكود بواسطة نفس مجموعة المبرمجين.في نهاية هذه المرحلة ، يتم تقديم منتج غير مكتمل (ولكن وظيفي) إلى أصحاب المصلحة. بعد ذلك مباشرة ، تبدأ المرحلة التالية (التي تركز على المجموعة التالية من أهم الميزات).

ما الفرق بين البرمجة القصوى و SCRUM؟

البرمجة المتطرفة و SCRUM هي منهجيات متشابهة جدًا ومتوافقة بشكل مفهوم. ومع ذلك ، هناك اختلافات دقيقة ولكنها مهمة بين هاتين الطريقتين. تستمر سباقات SCRUM من 2 إلى 4 أسابيع ، في حين أن تكرارات XP النموذجية تكون أقصر (آخر أسبوع إلى أسبوعين). عادةً ، لا تسمح فرق SCRUM بإجراء تغييرات في سباقات السرعة ، لكن فرق XP أكثر مرونة قليلاً في التغييرات داخل التكرارات. على سبيل المثال ، بعد تخطيط العدو ، تظل مجموعة عناصر هذا العدو دون تغيير ، ولكن يمكن تبديل الميزة التي لم يبدأ العمل عليها في أي وقت مع بعض الميزات الأخرى في XP. هناك اختلاف آخر بين XP و SCRUM وهو أن ترتيب الميزات التي تم تطويرها في XP هو أمر له أولوية صارمة من قبل العميل ، بينما يقرر فريق SCRUM ترتيب العناصر (بعد أن يعطي مالك منتج SCRUM الأولوية لتراكم المنتج).

على عكس XP ، لا تضع SCRUM أي ممارسات هندسية. على سبيل المثال ، يتم تشغيل XP من خلال ممارسات مثل التطوير القائم على الاختبار (TDD) ، والبرمجة الزوجية ، وإعادة البناء ، وما إلى ذلك ، ومع ذلك ، يعتقد البعض أن فرض مجموعة من الممارسات على فرق التنظيم الذاتي يمكن أن يكون له تأثير سلبي ، ويمكن اعتبار ذلك عيب XP. هناك عيب آخر في برمجة Extreme وهو أن الفرق عديمة الخبرة قد تميل إلى إعادة البناء دون أي اختبارات آلية أو TDD (أو مجرد قرصنة). لذلك ، يقترح البعض أن SCRUM أفضل للتحديق (لأنه يجلب تحسينات كبيرة ببساطة من خلال التكرارات المركزة في مربعات زمنية) وأن XP مناسب للفرق الناضجة قليلاً التي اكتشفت قيمة الممارسات المذكورة أعلاه (بدلاً من استخدامها لأنهم طُلب منهم ذلك. للقيام بذلك).

موصى به: