ما هي طريقة agile- أجايل لتطوير البرمجيات؟

ما هي طريقة agile- أجايل لتطوير البرمجيات؟

طريقة Agile هو مصطلح يستخدم لوصف مناهج تطوير البرامج مع التركيز على التسليم التدريجي والتعاون الجماعي والتخطيط المستمر والتعلم المستمر ، بدلاً من محاولة تقديم كل ذلك مرة واحدة بالقرب من النهاية.

تركز طريقة agile على الحفاظ على العملية ضعيفة وإنشاء منتجات قابلة للتطبيق (MVPs) تمر بعدد من التكرارات قبل أن يصبح أي شيء نهائيًا. يتم جمع التعليقات وتنفيذها بشكل مستمر ، وهي عملية أكثر ديناميكية حيث يعمل الجميع معًا لتحقيق هدف واحد.

تطوير البرمجيات رشيق
تطوير البرمجيات أجايل

Scrum وغيره من الأساليب لطريقة agile الرائدة

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

مظلة سكرم-طريقة agile
Scrum agile umbrella

سكرم

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

يستند

نشأت Lean مع نظام إنتاج Toyota ، أو TPS ، الذي أحدث ثورة في تصنيع السلع المادية في الخمسينيات والستينيات وما بعدها. تحافظ Lean على مكانتها في التصنيع ولكنها وجدت أيضًا تطبيقات جديدة في العمل المعرفي ، مما يساعد الشركات في جميع الصناعات على التخلص من النفايات وتحسين العمليات وتعزيز الابتكار . يعد تطوير البرمجيات تطبيقًا طبيعيًا لمنهجية Lean لأنه ، مثل التصنيع ، يتبع عمومًا عملية محددة ، وله بعض شروط القبول المحددة ، وينتج عنه تقديم قيمة ملموسة. المفاهيم الأساسية التي توجه جميع ممارسات منهجية اللين ، والتي نسميها أركان اللين. هم انهم:

  • تحسن مستمر
  • احترام الناس
  • قيادة خفيفة الوزن

كانبان

Kanban هي طريقة إدارة سير عمل مرئية للغاية وهي شائعة بين فرق Lean. في الواقع ، يستخدم 83٪ من الفرق التي تمارس أسلوب Lean نظام Kanban لتصور عملية إنشاء المنتجات وإدارتها بفعالية مع التركيز على التسليم المستمر ، مع عدم إثقال كاهل فريق التطوير. مثل Scrum ، Kanban هي عملية مصممة لمساعدة الفرق على العمل معًا بشكل أكثر فعالية.

يقوم كانبان على 3 مبادئ أساسية:

  • تصور ما ستفعله اليوم (سير العمل): يمكن أن تكون رؤية جميع العناصر في سياق بعضها البعض مفيدة للغاية
  • تحديد مقدار العمل قيد التقدم (WIP): يساعد هذا في تحقيق التوازن بين النهج القائم على التدفق بحيث لا تبدأ الفرق وتلتزم بالكثير من العمل في وقت واحد
  • تحسين التدفق: عند الانتهاء من شيء ما ، يتم سحب العنصر التالي ذي الأولوية القصوى من الأعمال المتراكمة

يعزز Kanban التعاون المستمر ويشجع التعلم والتحسين النشط والمستمر من خلال تحديد أفضل سير عمل جماعي ممكن.

طريقة تطوير الأنظمة الديناميكية (DSDM)

DSDM عبارة عن إطار عمل يتكون من ثمانية مبادئ ودورة حياة ومنتجات وأدوار ومسؤوليات والعديد من تقنيات أفضل الممارسات. تدعم هذه وتدعم فلسفة تقديم مزايا تجارية متوافقة استراتيجيًا في أقرب وقت ممكن لمنح المؤسسة أفضل عائد ممكن على الاستثمار (ROI).

DSDM هي منهجية تعطي الأولوية للجدول والجودة على الوظائف ، والتي تحدد التكلفة والجودة والوقت في البداية وتستخدم طريقة MoSCoW لتحديد الأولويات ، والتي تقسم المشروع إلى أربعة أنواع مختلفة من المتطلبات:

  • يجب أن يكون (M)
  • يجب أن يكون (S)
  • يمكن أن يكون (C)
  • لن يكون (W)

هناك ثمانية مبادئ يقوم عليها DSDM Atern [13]. توجه هذه المبادئ الفريق في الموقف الذي يجب أن يتخذه والعقلية التي يجب أن يتبناها لتقديمها باستمرار.

  1. ركز على حاجة العمل
  2. تسليم في الوقت المحدد
  3. يتعاون
  4. لا تتنازل عن الجودة
  5. بناء تدريجي من أسس ثابتة
  6. تطوير بشكل تكراري
  7. تواصل بشكل مستمر وواضح
  8. أظهر السيطرة

اقراء ايضاً: ماهو طريقة كانبان لإدارة وتحسين الخدمات

البرمجة المتطرفة

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

تأخذ المنهجية اسمها من فكرة أن العناصر المفيدة لممارسات هندسة البرمجيات التقليدية تؤخذ إلى مستويات “قصوى”. كمثال ، تعتبر مراجعات الكود ممارسة مفيدة. إذا نظرنا إلى أقصى الحدود ، يمكن مراجعة الكود بشكل مستمر من خلال ممارسة البرمجة الزوجية.

تعتمد طريقة XP الأصلية على أربع قيم بسيطة – البساطة والتواصل وردود الفعل والشجاعة.

كما أن لديها اثني عشر ممارسة داعمة:

  • لعبة التخطيط
  • الإصدارات الصغيرة
  • اختبارات قبول العملاء
  • تصميم بسيط
  • برمجة الزوج
  • تطوير يحركها الاختبار
  • إعادة بناء التعليمات البرمجية
  • التكامل المستمر
  • الملكية الجماعية للرموز
  • معايير الترميز
  • تشابه مستعار
  • السرعة الدائمة
البرمجة المتطرفة-طريقة agile
البرمجة المتطرفة

التطوير المدفوع بالميزات (FDD)

تم تقديم التطوير المدفوع بالخصائص (FDD) في عام 1997 من قبل جيف دي لوكا عندما كان يعمل في مشروع تطوير برمجيات لأحد البنوك الكبيرة في سنغافورة. إنها عملية تطوير برمجيات متكررة ومتزايدة وهي طريقة Agile لتطوير البرمجيات. يمزج FDD عددًا من أفضل الممارسات المعترف بها في الصناعة في كل متماسك. هذه الممارسات مدفوعة من منظور وظيفة (ميزة) العميل. والغرض الرئيسي منه هو تقديم برامج عملية ملموسة بشكل متكرر في الوقت المناسب. تتمثل ميزة استخدام FDD في أنه قابل للتطوير حتى بالنسبة للفرق الكبيرة نظرًا لمفهوم “التصميم الكافي فقط في البداية” (JEDI). إنه حل رائع للحفاظ على السيطرة على المشاريع أجايل والمتدرجة والمعقدة بطبيعتها بسبب عمليتها التي تتمحور حول الميزات. يتكون من خمسة أنشطة أساسية:

  1. تطوير نموذج شامل
  2. بناء قائمة الميزات
  3. التخطيط بالميزة
  4. التصميم حسب الميزة
  5. بناء حسب الميزة.
التطوير المدفوع بالميزات (FDD)-طريقة agile
التطوير المدفوع بالميزات (FDD)

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

كريستال

طرق الكريستال هي مجموعة من المنهجيات (عائلة الكريستال) التي طورها أليستير كوكبيرن في منتصف التسعينيات. تأتي الأساليب من سنوات الدراسة والمقابلات التي أجراها كوكبورن مع الفرق. أظهر بحث كوكبورن أن الفرق التي قابلها لم تتبع المنهجيات الرسمية ومع ذلك ما زالت تقدم مشاريع ناجحة. عائلة Crystal هي طريقة كوكبيرن في فهرسة ما فعلوه وجعل المشاريع ناجحة. تركز الطرق البلورية على:

  • اشخاص
  • التفاعل
  • تواصل اجتماعي
  • مهارات
  • المواهب
  • مجال الاتصالات

بيان طريقة agile

تمت صياغة مصطلح “Agile” في عام 2001 في بيان Agile. تم وضع البيان لوضع مبادئ لتوجيه نهج أفضل لتطوير البرمجيات. يتكون البيان Agile من 4 قيم مهمة. الطريقة لقراءة بيان Agile ليست أن العناصر الموجودة على الجانب الأيمن لم تعد لها قيمة بعد الآن ، لكن حركة Agile تقدر العناصر الموجودة على اليسار أكثر.

بيان أجيل
بيان طريقة agile

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

مبادئ البيان لAgile

تكملة لبيان Agile ، حدد تحالف Agile أيضًا مجموعة من 12 مبدأ أساسيًا ، والتي توفر إرشادات وشرحًا أكثر تفصيلاً بالإضافة إلى بيان Agile:

مبادئ البيان الرشيقة
مبادئ البيان لأجايل
  1. أولويتنا القصوى هي إرضاء العميل من خلال التسليم المبكر والمستمر للبرامج القيمة.
  2. نرحب المتطلبات المتغيرة، حتى وقت متأخر في التنمية. تسخر العمليات أجايل التغيير من أجل الميزة التنافسية للعميل.
  3. قم بتوصيل برامج العمل بشكل متكرر ، من أسبوعين إلى شهرين ، مع تفضيل على النطاق الزمني الأقصر.
  4. يجب أن يعمل رجال الأعمال والمطورين معًا يوميًا طوال فترة المشروع.
  5. بناء مشاريع حول دوافع الأفراد. امنحهم البيئة والدعم الذي يحتاجون إليه ، وثق بهم لإنجاز المهمة.
  6. الطريقة الأكثر كفاءة وفعالية لنقل المعلومات إلى فريق التطوير وداخله هي المحادثة وجهًا لوجه.
  7. يعمل البرنامج هو المقياس الأساسي للتقدم.
  8. تعزز العمليات أجايل التنمية المستدامة.
  9. يجب أن يكون الرعاة والمطورون والمستخدمون قادرين على الحفاظ على وتيرة ثابتة إلى أجل غير مسمى.
  10. الاهتمام المستمر بالتميز التقني والتصميم الجيد يعزز طريقة agile.
  11. البساطة – فن تعظيم حجم العمل غير المنجز – أمر ضروري.
  12. تظهر أفضل البنى والمتطلبات والتصاميم من فرق ذاتية التنظيم. على فترات منتظمة ، يفكر الفريق في كيفية أن يصبح أكثر فاعلية ، ثم يقوم بضبط سلوكه وتعديله وفقًا لذلك.

ملخص طريقة agile

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