SDLC - Development Methodologies
✳️ نماذج وآليات العمل في تطوير البرمجيات
(Development Methodologies)
✅ أولًا: ليه بنحتاج "آلية عمل" أو "منهجية"؟
المشروع البرمجي مش بس كود… ده تعاون بين:
-
العميل
-
المبرمجين
-
المصممين
-
المختبرين (QA)
علشان نضمن إن الشغل منظم والناس كلها ماشية على نفس الطريق، بنمشي حسب "نموذج شغل" (Software Development Methodology).
📊 أشهر النماذج:
هنبدأ دلوقتي بشرحين اتنين من أشهرهم:
1. Waterfall Model – الشلال
🌊 الفكرة:
🔁 المراحل:
-
التخطيط
-
تحليل المتطلبات
-
التصميم
-
البرمجة
-
الاختبار
-
النشر
-
الصيانة
✅ مميزاته:
-
واضح ومنظم جدًا
-
سهل في التوثيق والمتابعة
-
مناسب للمشاريع الصغيرة أو اللي المتطلبات فيها ثابتة
❌ عيوبه:
-
ماينفعش تغير بسهولة في المتطلبات بعد البداية
-
العميل مش بيشوف حاجة شغالة إلا بعد ما المشروع يخلص
-
صعب الرجوع خطوة لورا (زي الشلال فعلاً!)
2. Agile – أجايل
🌀 الفكرة:
🔁 دورة العمل في الأجايل:
-
نخطط Sprint صغيرة
-
نطور ونبرمج جزء بسيط
-
نختبره
-
نعرضه على العميل
-
ناخد ملاحظاته
-
نبدأ Sprint جديدة
✅ مميزاته:
-
مرن جدًا: نقدر نغيّر ونعدّل في أي وقت
-
العميل دايمًا شايف تقدم فعلي
-
المشاكل بتبان بدري
-
مناسب للمشاريع الكبيرة والمتطورة
❌ عيوبه:
-
محتاج تواصل مستمر مع العميل
-
مش مناسب لو الفريق مش منظم
-
صعب تتوقع النهاية بدقة من البداية
👥 مقارنة سريعة:
| العنصر | Waterfall | Agile |
|---|---|---|
| الترتيب | تتابعي (خطوة ورا التانية) | تكراري (Sprints) |
| التغييرات | صعبة | سهلة ومرحب بها |
| دور العميل | قليل | نشيط جدًا في كل Sprint |
| وقت التسليم | بعد نهاية كل المراحل | بعد كل Sprint |
| التوثيق | كثير | أخفّ وأبسط |
🧠 أيهم أختار؟
| حالة المشروع | الأفضل |
|---|---|
| متطلبات واضحة وثابتة | Waterfall |
| مشروع كبير ومتغير باستمرار | Agile |
| فريق صغير ووقت محدود | Waterfall أو Agile خفيف |
| عميل حابب يشوف تطورات سريعة | Agile |
تعليقات
إرسال تعليق