خطوات ومراحل المنهجية الرشيقة: شرح كامل [2022]
نشرت: 2021-01-04لنفترض أن Google لم تقم بتحديث تطبيقاتها بانتظام. ماذا لو لم تحصل لعبة الجوال المفضلة لديك على أي تحديثات؟ ماذا لو كان عليك الانتظار لشهور أو حتى سنوات للحصول على إصدار جديد من التطبيق؟
سيكون الأمر مزعجًا ومحبطًا جدًا. ومع ذلك ، بفضل منهجية Agile لتطوير البرامج ، تصدر الشركات تحديثات منتظمة ، وتزيل الأخطاء في تطبيقاتها ، وتجعلك أنت المستخدم سعيدًا.
قد تتساءل ، "ما هي منهجية Agile؟". سنشرح ذلك بالتفصيل في هذا الدليل. لذلك دعونا نبدأ.
جدول المحتويات
ما هي منهجية Agile - شرح
كما يوحي الاسم ، تركز منهجية Agile على إطلاق المنتجات في كثير من الأحيان والتكيف مع التغييرات. وفقًا لقاموس أكسفورد ، يشير مصطلح "خفة الحركة" إلى القدرة على التحرك بسرعة أو بسرعة. أصبحت منهجية Agile شائعة جدًا في السنوات القليلة الماضية بسبب فعاليتها ونهجها الموجه نحو النتائج.
إنها فلسفة إدارة المشروع التي تركز على تطوير البرامج التي تعتمد على التغذية الراجعة والتغييرات التدريجية. كيف تفهم البيئة من حولك ونوع عدم اليقين الذي تواجهه ، فهذه أجزاء أساسية من هذا النهج.
يركز التطوير السريع على الفريق بدلاً من المنتج. تعتمد الحلول في هذا النهج على تعاون فريقك والوظائف المتعددة. الفريق الرشيق هو فريق منظم ذاتيًا.

هذا لا يعني أن المديرين ليسوا أساسيين في التطوير السريع. يتحمل المديرون مسؤولية التأكد من أن كل عضو في الفريق لديه المهارات المطلوبة. إنهم مسؤولون عن توفير بيئة رائعة للأعضاء حتى يتمكنوا من النجاح في عملهم.
قراءة: أسئلة مقابلة المنهجية الرشيقة
تاريخ التطور السريع
قبل أن يكون التطوير السريع شائعًا ، كانت طريقة الشلال هي الأكثر شيوعًا. كانت منهجية الشلال سائدة قبل عقود قليلة. لكن جيل مطوري البرمجيات في أواخر التسعينيات كان غير راضٍ عن هذه المنهجية. أرادوا اتباع نهج أكثر مرونة.
نهج الشلال جامد ، ومنهجية Agile مرنة. في عام 2001 ، قام 17 مطور برامج بإنشاء Agile Manifesto. لقد أرادوا تطوير بديل لعمليات تطوير البرامج ذات الوزن الثقيل والمستندة إلى المستندات. القيم الأساسية الأربعة لتطوير Agile هي كما يلي:
- يجب إعطاء الأولوية للأشخاص وتفاعلاتهم على الأدوات والعمليات
- يجب إعطاء الأولوية لبرامج العمل على التوثيق التفصيلي
- يجب إعطاء الأولوية لتعاون العملاء على التفاوض على العقود
- يجب أن تعطي الأولوية لاستجابتك للتغيير على قدرتك على الالتزام بالخطة
هذا لا يعني أنه يجب عليك تجاهل الوثائق والمواعيد النهائية. هذا يعني أنه يجب عليك التركيز أكثر على التكرار والنماذج الأولية والأشخاص والتعاون.
العقلية المرنة
في جوهرها ، Agile هي عقلية. وضع مبتكرو Agile Manifesto المبادئ الـ 12 لتطوير البرمجيات Agile لشرح ذلك بشكل أفضل:
- يجب أن يكون إرضاء عملائك من خلال التسليم المستمر والمبكر للمنتجات على رأس أولوياتك.
- إذا تغيرت متطلبات مشروعك حتى في المراحل اللاحقة من التطوير ، فيجب أن ترحب بها.
- يجب عليك تقديم منتج فعال (برنامج) في كثير من الأحيان سواء قمت بتشغيله في غضون بضعة أسابيع أو أشهر.
- التعاون اليومي بين أصحاب المصلحة في المشروع والمطورين أمر لا بد منه.
- يجب أن يبنى مشروعك على الأشخاص المتحمسين. يجب أن توفر لهم البيئة والدعم الذي يحتاجون إليه ، ويجب أن تثق بهم بأنهم سيكملون المهمة.
- المحادثة وجهًا لوجه هي الطريقة الأكثر فعالية وكفاءة لنقل المعلومات إلى فريق التطوير الخاص بك وداخله.
- منتج العمل (البرنامج) هو المقياس الحاسم لتقدمك.
- يجب عليك تعزيز التنمية المستدامة. يجب أن يكون فريقك وأصحاب المصلحة والمستخدمون والمطورون قادرين على الحفاظ على تدفق ثابت دون عوائق.
- يجب أن تولي اهتمامًا مستمرًا للتميز التقني ، والتصميم الجيد يحسن السرعة
- الحفاظ على بساطة العمليات ، كما هو الحال في تقليل العمل الذي تحتاج إلى القيام به ، أمر حيوي.
- تقوم فرق التنظيم الذاتي بإنشاء أفضل التصميمات والمتطلبات والبنى.
- يجب أن يفكر فريقك في أن يصبح أكثر نشاطًا ثم يعدل سلوكه وفقًا لذلك.
ستلاحظ أن المبادئ الأساسية لتطوير Agile تركز على رضا المستخدم أكثر من غيرها. من إصدار منتج عامل بشكل متكرر إلى امتلاك تصميم جيد ، تركز جميع القيم الأساسية لهذا النهج على إبقاء المستخدمين سعداء.
قراءة: DevOps v Agile
وهذا صحيح. لا يهتم المستخدمون (أو عملاؤك) بوثائق برامجك أو استراتيجياتك المستقبلية. إنهم يهتمون بمدى سرعة حصولهم على المنتج ، ومدى سرعة حصولهم على إصلاحات الأخطاء ، والقيمة التي تقدمها لهم المنتجات.
الاختلافات بين Agile و Waterfall
لذا فأنت تعلم أنه قبل ظهور تطوير Agile ، كان نموذج Waterfall هو الأكثر شعبية. فقد نموذج الشلال شعبيته ، لكن هذا لا يعني أنه عفا عليه الزمن. لا تزال العديد من الفرق تستخدم هذه الطريقة. هناك العديد من الاختلافات بين هذين النهجين التي تجعلهما مختلفين.
- يركز نموذج Agile على نهج تكراري وتدريجي لتطوير البرامج ، بينما في نموذج Waterfall ، يتم تطوير البرامج الخاصة بك بالتتابع من البداية إلى النهاية.
- سيكون عليك تقسيم مشروع رشيق إلى نماذج فردية. لكن لن تضطر إلى القيام بذلك في نهج الشلال.
- يحصل عملاؤك على وصول مبكر ومتكرر إلى منتج العمل الخاص بك في نهج رشيق. يمكنهم تقديم ملاحظاتك وفقًا لذلك ويسمحون لك بتغيير خطة عملك المستقبلية. من ناحية أخرى ، لن يتمكن عملاؤك من الوصول إلى المنتج إلا عند انتهائه إذا اتبعت نهج الشلال.
- النموذج الرشيق غير منظم ، في حين أن نموذج الشلال منظم وبالتالي ، يعتبره الكثيرون أكثر أمانًا.
- تطوير Agile ممتاز للمشاريع الصغيرة حيث يمكنك إكمالها بسرعة. تعتبر طريقة الشلال رائعة للمشاريع الكبيرة لأنه يمكنك إجراء تقديرات أكثر دقة وإكمال الخطة وفقًا لذلك.
- هناك تخطيط أقل في تطوير Agile مقارنةً بتطوير الشلال.
- أنت تنفذ عملية تطوير في تكرارات لبضعة أسابيع عندما تتبع نهجًا رشيقًا. من ناحية أخرى ، باستخدام نهج Waterfall ، ستكمل عملية التطوير على مراحل ، وتكون المرحلة أكبر من التكرار.
- باستخدام نهج رشيق ، يمكنك إصلاح الأخطاء في منتصف العملية حيث تحصل على التعليقات بشكل متكرر. باستخدام نهج Waterfall ، ستختبر المنتج النهائي في النهاية وليس قبل ذلك. إذا وجدت خطأً في المنتج النهائي ، فسيتعين عليك إعادة تشغيل المشروع مباشرةً من البداية.
- تحظى التوثيق بأولوية أقل في التطوير السريع مقارنةً بتطوير الشلال. في الواقع ، في الأخير ، يمكنك استخدام الوثائق لتدريب موظفيك أيضًا.
- بمجرد انتهاء التكرار في التطوير السريع ، يمكنك إرسال الميزات القابلة للشحن إلى عملائك مباشرةً. يمكن للعملاء استخدام هذه الميزات مباشرة بعد استلامها. في نهج الشلال ، سترسل جميع ميزات منتجك تمامًا عند الانتهاء من المشروع بعد المرحلة.
- في النهج الرشيق ، يتعاون المختبرين والمطورين ، بينما في نهج الشلال ، لا يفعلون ذلك.
- ستقوم بقبول المستخدم في نهاية كل سباق سريع في Agile. في طريقة الشلال ، ستقوم بقبول المستخدم في نهاية مشروعك.
- يتطلب التطوير السريع من المطورين التواصل بشكل وثيق ومنتظم للتخطيط والتحليل. في تطوير Waterfall ، لا يشارك المطورون في عملية التخطيط ويهتمون فقط بمرحلة الترميز.
خطوات منهجية رشيقة
المنهجيات الرشيقة من أنواع كثيرة. سنناقش أبرزها باختصار. يمكنك الرجوع إلى المنهجية كمجموعة محددة من الاصطلاحات التي يختار فريقك اتباعها. يمكن أن يكون لفرقك المختلفة منهجيات مختلفة. منهجيات Agile هي تلك التي تتبع القيم الأساسية ومبادئ تطوير Agile التي ناقشناها من قبل. هناك منهجيات Agile التالية:

- سكرم
- كانبان
- DSDM (طريقة تطوير البرمجيات الديناميكية)
- منهجيات الكريستال
- FDD (التطوير المدفوع بالميزات)
- XP (برمجة إكستريم)
دعنا نناقش الأساسيات أدناه:
المنهجية 1: سكروم
SCRUM هو إطار عمل يركز على تمكين الفرق للعمل معًا. إنه إرشادي. يركز على التكيف مع العوامل التي تتقلب والتعلم المستمر. إنه يفهم أن الفريق لا يعرف بالضرورة كل شيء في بداية المهمة. يعتمد سكرم على إستراتيجيات فرق الرجبي.
إنه يركز على تعزيز التعاون في الفريق من خلال تقسيمه إلى مجموعات أصغر ، تمامًا كما يفعل فريق الرجبي. كما ترى ، فإن فريق الرجبي لديه مجموعات مختلفة من اللاعبين الذين لديهم مسؤوليات محددة. في Scrum ، يتم تقسيم فريقك أيضًا إلى مجموعات أصغر.
يحتوي Scrum على ثلاث قطع أثرية أساسية هي زيادة وتراكم العدو وتراكم المنتج. دعونا نناقش كل واحد منهم لفترة وجيزة لفهم سكرم بشكل أفضل:
المنتج Backlog
يشير تراكم المنتج إلى القائمة الأساسية للمهام التي يحتاج فريقك لأدائها. تقع مسؤولية الحفاظ على هذه القائمة على عاتق مدير المنتج أو مالك المنتج. إنها قائمة مهام المجموعة لأنها تحتوي على المتطلبات والإصلاحات والتحسينات والميزات التي تمثل المدخلات للقطعة الأثرية التالية ، تراكم العدو.
سباق المتراكمة
تحتوي هذه الأداة على قائمة بإصلاحات الأخطاء والعناصر التي تختارها فرق التطوير لدورة العدو المحددة. ومع ذلك ، فإن تراكم الركض مرن للغاية ، ولديك خيار تعديله أثناء العدو إذا لزم الأمر.
زيادة راتب
اسم آخر للزيادة هو هدف العدو. يشير إلى المنتج النهائي الذي تحصل عليه من العدو. هدف العدو هو النتيجة النهائية لفريق التطوير الخاص بك. ويمكنك القول أنك حققت هذا الهدف فقط عندما تنتهي من العملية برمتها.
افترض أن فريقك بحاجة إلى نشر تطبيق على متجر Play. في هذه الحالة ، يمكنك القول أنك حققت هدف العدو عندما تضغط على زر النشر.
كما ذكرنا سابقًا ، يقسم Scrum فريقك إلى شرائح أصغر. سيكون الجزء الأول هو Scrum Master ، الذي يتحمل مسؤولية إكمال إعداد الفريق وإدارة اجتماعات العدو. الثاني هو مالك المنتج الذي يتعين عليه إنشاء تراكم المنتج والإشراف على التسليم في نهاية كل تكرار.
آخر واحد هو فريق Scrum ، والذي يعمل على دورة العدو السريع.
المنهجية 2: كانبان
يركز كانبان على تطوير البرنامج في دورة واحدة طويلة. إنها مختلفة تمامًا عن SCRUM ، الطريقة الرشيقة التي ناقشناها سابقًا. في عمليات Kanban ، يمكنك استخدام البطاقات التي تنتقل خلال العملية بأكملها. كانبان تدريجي ولكنه ليس تكراريًا. نظرًا لعدم وجود تكرارات ، لا يحتوي مشروع كانبان على نقاط بداية ونهاية محددة.
مشاريعها لها حدود "العمل في التقدم". إنها تساعد فريقك في التركيز على جزء صغير من المهمة في كل مرة. ستضيف وظائف جديدة في الدورة فقط عندما تكمل الوظيفة السابقة. يمثل كانبان المراحل المختلفة لعملية الإنشاء من خلال المراحل المتعددة لدورة حياة تطوير البرامج. أنت تمثل الميزات من خلال بطاقات كانبان وتدير تدفقها بحيث تكون كمية الميزات التي تم إدخالها هي نفسها عدد الوظائف المكتملة.
المنهجية الثالثة: التطوير المدفوع بالميزات (FDD)
يركز التطوير المدفوع بالميزات على بناء الميزات وتصميمها. في FDD ، سيعمل فريقك في مراحل قصيرة تكون محددة للغاية وتركز على العمل على عنصر. يعد فحص التصميم ، ومراجعة المجال ، وفحص الكود ، والترويج للبناء بعض الأمثلة على ذلك. بكلمات بسيطة ، يركز FDD على التطوير الخاص بالميزات.
سيتعين عليك العمل على ملكية المكون ، ونمذجة كائن المجال ، والبنيات العادية ، وعمليات التفتيش ، وفرق الميزات. يجب أن تحافظ على الرؤية المناسبة للنتائج والتقدم الحالي للمشروع أيضًا.

المنهجية 4: تنمية العجاف
تتطابق منهجية التطوير التكراري لـ Agile مع مبادئ تطوير البرمجيات اللين. يهدف Lean إلى تقليل حجم العمل في العملية لإدارة التدفق. هذا يساعد في تحسين سرعة التسليم. تعمل فرق Lean كنظم "Just In Time". هذا يعني أنه يتعين عليهم الانتظار حتى آخر لحظة مطلوبة لاتخاذ القرارات.
يركز Lean على إزالة النفايات. ووفقًا لمبادئ اللين ، فإن أي شيء لن يدفعه العميل هو إهدار. كما أنه يركز على أتمتة العمليات القابلة للتكرار والمعرضة بشدة للأخطاء البشرية.
احصل على دورة تطوير البرمجيات من أفضل الجامعات في العالم. اربح برامج PG التنفيذية أو برامج الشهادات المتقدمة أو برامج الماجستير لتتبع حياتك المهنية بشكل سريع.
افكار اخيرة
المنهجية الرشيقة هي موضوع واسع. يمكنك أن ترى مدى تعقيدها. تأثيرها على المجتمع الحديث مرئي في كل مكان.
بشكل عام ، تساعد الممارسات / الأساليب الرشيقة في إنشاء بيئات تتطور وتتغير فيها المتطلبات باستمرار. من خلال نهج منظم لإدارة المشاريع ، تعمل منهجية Agile على تعزيز ودفع تقديم برامج عالية الجودة تتماشى مع احتياجات العملاء. اكتشف المزيد حول تطوير البرمجيات Agile ، وتحقق من برنامج upGrad's Executive PG في دورة تطوير البرمجيات Full Stack.
