SDLC - Development Methodologies

✳️ نماذج وآليات العمل في تطوير البرمجيات

(Development Methodologies)


✅ أولًا: ليه بنحتاج "آلية عمل" أو "منهجية"؟

المشروع البرمجي مش بس كود… ده تعاون بين:

  • العميل

  • المبرمجين

  • المصممين

  • المختبرين (QA)

علشان نضمن إن الشغل منظم والناس كلها ماشية على نفس الطريق، بنمشي حسب "نموذج شغل" (Software Development Methodology).



📊 أشهر النماذج:

هنبدأ دلوقتي بشرحين اتنين من أشهرهم:


1. Waterfall Model – الشلال

🌊 الفكرة:

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

🔁 المراحل:

  1. التخطيط

  2. تحليل المتطلبات

  3. التصميم

  4. البرمجة

  5. الاختبار

  6. النشر

  7. الصيانة

✅ مميزاته:

  • واضح ومنظم جدًا

  • سهل في التوثيق والمتابعة

  • مناسب للمشاريع الصغيرة أو اللي المتطلبات فيها ثابتة

❌ عيوبه:

  • ماينفعش تغير بسهولة في المتطلبات بعد البداية

  • العميل مش بيشوف حاجة شغالة إلا بعد ما المشروع يخلص

  • صعب الرجوع خطوة لورا (زي الشلال فعلاً!)


2. Agile – أجايل

🌀 الفكرة:

بدل ما نمشي المشروع كله مرة واحدة، بنقسمه إلى أجزاء صغيرة اسمها Sprints.
كل Sprint مدتها مثلًا 2 إلى 4 أسابيع، ونطلع منها حاجة شغالة.

🔁 دورة العمل في الأجايل:

  1. نخطط Sprint صغيرة

  2. نطور ونبرمج جزء بسيط

  3. نختبره

  4. نعرضه على العميل

  5. ناخد ملاحظاته

  6. نبدأ Sprint جديدة

✅ مميزاته:

  • مرن جدًا: نقدر نغيّر ونعدّل في أي وقت

  • العميل دايمًا شايف تقدم فعلي

  • المشاكل بتبان بدري

  • مناسب للمشاريع الكبيرة والمتطورة

❌ عيوبه:

  • محتاج تواصل مستمر مع العميل

  • مش مناسب لو الفريق مش منظم

  • صعب تتوقع النهاية بدقة من البداية



👥 مقارنة سريعة:

العنصر Waterfall Agile
الترتيب تتابعي (خطوة ورا التانية) تكراري (Sprints)
التغييرات صعبة سهلة ومرحب بها
دور العميل قليل نشيط جدًا في كل Sprint
وقت التسليم بعد نهاية كل المراحل بعد كل Sprint
التوثيق كثير أخفّ وأبسط


🧠 أيهم أختار؟

حالة المشروع الأفضل
متطلبات واضحة وثابتة Waterfall
مشروع كبير ومتغير باستمرار Agile
فريق صغير ووقت محدود Waterfall أو Agile خفيف
عميل حابب يشوف تطورات سريعة Agile


تعليقات

المشاركات الشائعة من هذه المدونة

HTML - Text Formatting تنسيقات النص

1.1 SQL Introduction

Entity Framework - مقدمة عن Entity Framework