SDLC - Agile Model
🌀 Agile Model – نموذج أجايل
✅ تعريف:
العميل دايمًا بيشوف شغل حقيقي كل أسبوعين أو شهر.
🧱 مبادئ أجايل (من "البيان الأجايل - Agile Manifesto"):
-
الأفراد والتفاعل أهم من الأدوات والعمليات
-
البرمجيات الشغالة أهم من التوثيق الضخم
-
تعاون العميل أهم من التفاوض بالعقود
-
الاستجابة للتغيير أهم من الالتزام بالخطة
🔁 دورة Sprint واحدة:
| الخطوة | التفاصيل |
|---|---|
| 📝 التخطيط (Planning) | نختار المهام اللي هنعملها في الـ Sprint الجاي |
| 🧠 التصميم (Design) | تصميم سريع للجزء اللي هنعمله |
| 💻 البرمجة (Coding) | نكتب الكود للوظيفة المطلوبة |
| 🧪 الاختبار (Testing) | نختبر الوظيفة دي فقط |
| 🚀 التسليم (Delivery) | نعرضها للعميل وياخد Feedback |
| 📈 التحسين (Retrospective) | نراجع Sprint ونحسّن أسلوبنا |
📆 ما هو Sprint؟
-
دورة قصيرة (عادة 1 – 4 أسابيع)
-
فيها فريق بيشتغل على وظائف محددة وقابلة للتسليم
-
آخر كل Sprint، لازم يكون فيه شيء شغال فعليًا
🧰 أدوات بتساعدك في Agile:
| النوع | الأدوات |
|---|---|
| إدارة المشروع | Jira – Trello – Azure DevOps – ClickUp |
| متابعة المهام | Scrum Board – Kanban Board |
| الاجتماعات | Daily Standups – Sprint Planning – Sprint Review |
| التوثيق السريع | User Stories – Acceptance Criteria |
📋 شكل المهمة (User Story):
"كمستخدم، أريد أن أبحث عن منتج، لكي أشتريه بسهولة."
-
User Story: صيغة تفهمها الفرق التقنية وغير التقنية
-
Acceptance Criteria: معايير نقول عند تحققها إن المهمة خلصت
🧠 مزايا Agile:
| الميزة | الشرح |
|---|---|
| 🔁 مرونة | تعديلات العميل في أي وقت |
| 🚀 تسليم سريع | العميل بيشوف نتائج بسرعة |
| 🤝 تواصل دائم | الفريق والعميل بيتكلموا باستمرار |
| 📊 تحسين مستمر | بعد كل Sprint بنشوف إيه اللي ممكن نطوره في طريقتنا |
❌ عيوب Agile:
| العيب | الشرح |
|---|---|
| ❌ محتاج انضباط عالي | لو الفريق مش منظم، المشروع يتبعثر |
| ❌ مش دايمًا مناسب للمشاريع ذات المتطلبات الثابتة | زيه مش محتاج Agile |
| ❌ صعب تحديد التكلفة النهائية من البداية | لأن المتطلبات بتتغير |
| ❌ العميل لازم يكون متواجد دايمًا | لو انشغل = مشكلة |
📊 مقارنة سريعة مع Waterfall:
| العنصر | Waterfall | Agile |
|---|---|---|
| الترتيب | خطي وتسلسلي | تكراري وتدريجي |
| التسليم | مرة واحدة في النهاية | تدريجي بعد كل Sprint |
| العميل | قليل التفاعل | جزء من الفريق |
| التغييرات | صعبة جدًا | سهلة وطبيعية |
| التوثيق | كثير ومفصل | خفيف ومطلوب بالحد الأدنى |
🔄 مثال عملي – تطبيق متجر إلكتروني
لو عميلك مش عارف بالضبط عايز إيه، وبيقولك:
"ابدأ بالتسجيل، وبعدين نشوف المنتجات بعدين… ونفكر لو نضيف كوبونات خصم"
🔥 هنا Agile أنسب:
-
تبدأ Sprint لتسجيل الدخول
-
تسلمه وتاخد رأيه
-
تبدأ Sprint تانية لإضافة المنتجات
-
العميل بيشارك في كل خطوة
📦 إيه أشهر نماذج داخل Agile؟
| النموذج | الشرح |
|---|---|
| Scrum | تقسيم المشروع إلى Sprints – فيه أدوار محددة (Product Owner, Scrum Master) |
| Kanban | يعتمد على لوحات "To Do, Doing, Done" – مناسب لو المشروع فيه مهام مستمرة |
| Extreme Programming (XP) | يهتم بجودة الكود، واختبارات مستمرة، وكتابة الكود بشكل مرن |
تعليقات
إرسال تعليق