إدارة مشاريع البرمجيات

SE201 - دليل شامل لمبادئ إدارة المشاريع

نظرة عامة على المقرر

نتيجة تعلم المقرر (CLO4)

إظهار مهارات إدارة المشاريع من خلال العمل الفعال في فرق صغيرة، والتعاون مع الفرق الأخرى.

إدارة مشاريع البرمجيات هي تخصص حاسم يركز على تخطيط وتنظيم ومراقبة مشاريع تطوير البرمجيات. تضمن إدارة المشاريع الفعالة تسليم مشاريع البرمجيات في الوقت المحدد، ضمن الميزانية، وتلبية معايير الجودة.

طيف إدارة المشاريع: الأربع نقاط الأساسية

تركز إدارة مشاريع البرمجيات الفعالة على أربعة عناصر رئيسية، تعرف باسم الأربع نقاط الأساسية:

🧑‍💼 الأشخاص

العنصر الأهم في المشروع الناجح. يشمل أصحاب المصلحة، أعضاء الفريق، وجميع الأفراد المشاركين أو المتأثرين بالمشروع.

📦 المنتج

البرمجية المطلوب بناؤها. فهم نطاق المنتج، المتطلبات، والقيود ضروري لنجاح المشروع.

⚙️ العملية

مجموعة الأنشطة الإطارية ومهام هندسة البرمجيات المطلوبة لإنجاز العمل. يشمل منهجية التطوير المختارة.

📊 المشروع

جميع الأعمال والتخطيط المطلوب لجعل المنتج حقيقة. يشمل الجداول، الموارد، والتسليمات.

1. الأشخاص: العنصر البشري

أصحاب المصلحة الرئيسيون

المدراء الكبار

يحددون قضايا الأعمال ويوفرون التوجيه الاستراتيجي مع تأثير كبير على المشروع.

مديرو المشاريع

يخططون، يحفزون، ينظمون، ويراقبون الممارسين الذين ينفذون أعمال البرمجيات.

الممارسون

يوفرون المهارات التقنية اللازمة لهندسة منتج أو تطبيق.

العملاء/أصحاب المنتج

يحددون المتطلبات ولديهم اهتمام محيطي بالنتائج.

المستخدمون النهائيون

يتفاعلون مع البرمجية بمجرد إصدارها للاستخدام الإنتاجي.

المهارات الأساسية لقائد الفريق

💪 التحفيز

القدرة على تشجيع الأشخاص التقنيين للإنتاج بأفضل قدراتهم من خلال استراتيجيات الدفع أو الجذب.

📋 التنظيم

القدرة على تشكيل العمليات الحالية أو ابتكار عمليات جديدة لترجمة المفاهيم إلى منتجات نهائية.

💡 الابتكار

القدرة على تشجيع الإبداع حتى عند العمل ضمن حدود قائمة.

أربع صفات رئيسية لمديري المشاريع الفعالين

  1. مهارات حل المشكلات: تشخيص القضايا التقنية والتنظيمية وهيكلة الحلول بشكل منهجي
  2. الهوية الإدارية: تولي مسؤولية المشروع بثقة وسلطة
  3. التركيز على الإنجاز: مكافأة المبادرة والإنجاز لتحسين إنتاجية الفريق
  4. التأثير وبناء الفريق: فهم الإشارات اللفظية وغير اللفظية والاستجابة لاحتياجات الفريق

الفرق الرشيقة

تؤكد فلسفة الرشاقة على الكفاءة الفردية مقترنة بالتعاون الجماعي كعوامل نجاح حرجة:

⚠️ تجنب سمية الفريق

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

تنسيق الفريق والتواصل

المناهج الرسمية:

المناهج غير الرسمية:

2. المنتج: نطاق البرمجية

فهم نطاق المنتج ضروري لإدارة المشاريع الفعالة. يحدد النطاق ما سيتم بناؤه ويؤسس حدود المشروع.

أسئلة نطاق رئيسية

السياق

كيف تتلاءم البرمجية مع نظام أكبر، منتج، أو سياق أعمال؟ ما هي القيود المفروضة نتيجة لذلك؟

أهداف المعلومات

ما هي كائنات البيانات المرئية للعميل المنتجة كمخرجات؟ ما هي كائنات البيانات المطلوبة كمدخلات؟

الوظيفة والأداء

ما الوظيفة التي تؤديها البرمجية لتحويل بيانات المدخلات إلى مخرجات؟ هل هناك خصائص أداء خاصة يجب معالجتها؟

متطلبات تعريف النطاق

يجب أن يكون نطاق مشروع البرمجيات واضحًا ويمكن فهمه على مستويات الإدارة والتقنية:

  • بيانات كمية محددة بشكل صريح (مثل عدد المستخدمين المتزامنين، أقصى وقت استجابة)
  • قيود وحدود ملاحظة (مثل حجم الذاكرة، البنية التحتية الحالية)
  • حدود واضحة لما هو مضمن وغير مضمن

تحليل المشكلة

التحليل هو نشاط أساسي في تحليل متطلبات البرمجيات، يسمى أحيانًا التقسيم أو تفصيل المشكلة.

مجالان رئيسيان للتحليل:

  1. الوظيفة والمحتوى: يتم تقييم وظائف البرمجية وتحسينها لتوفير مزيد من التفاصيل. يتم تحليل كائنات البيانات الرئيسية إلى أجزاء مكونة.
  2. العملية: العملية المستخدمة لتسليم الوظيفة يتم تقسيمها إلى مكونات قابلة للإدارة.

يتم تقسيم المشكلة المعقدة إلى مشكلات أصغر وأكثر قابلية للإدارة، مما يوفر فهمًا معقولًا للمعلومات التي سيتم إنتاجها.

3. العملية: منهجية التطوير

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

معايير الاختيار

خطوات تخطيط العملية

اختيار النموذج

اختيار نموذج عملية مناسب

تحديد الخطة

إنشاء خطة مشروع أولية

التحليل

تحديد مجموعات المهام لكل نشاط

دمج المشكلة والعملية

يبدأ تخطيط المشروع بتطبيق العملية على المشكلة. يجب أن تمر كل وظيفة يتم هندستها عبر أنشطة الإطار المحددة للمؤسسة.

مثال: برمجية معالجة النصوص

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

4. المشروع: التخطيط والتنفيذ

المبدأ الرئيسي

فريق المشروع هو المورد الأساسي!

تقريبًا جميع منتجات البرمجيات يتم الحصول عليها عبر مشاريع ذات موارد محدودة تحقق أهداف مترابطة ومتعارضة.

اهتمام المشروع: التسليم في الوقت المحدد وضمن الميزانية

عشرة علامات لمشاكل المشروع

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

نهج الفطرة السليمة لتجنب المشاكل

1. ابدأ على الطريق الصحيح

2. الحفاظ على الزخم

3. تتبع التقدم

يتم تتبع التقدم مع إنتاج منتجات العمل (النماذج، الكود المصدري، حالات الاختبار) والموافقة عليها من خلال المراجعات التقنية كجزء من ضمان الجودة.

4. اتخاذ قرارات ذكية

5. إجراء تحليل ما بعد التسليم

مبدأ W5HH (باري بوم)

الوصول إلى جوهر المشروع يتطلب الإجابة على هذه الأسئلة الأساسية:

لماذا؟

لماذا يتم تطوير النظام؟ يؤسس المبرر التجاري.

ماذا؟

ماذا سيتم فعله؟ يؤسس مجموعة المهام المطلوبة للمشروع.

متى؟

متى سيتم الانتهاء منه؟ يؤسس جدول المشروع مع توقيت المهام والمعالم.

من؟

من المسؤول؟ يؤسس أدوار ومسؤوليات كل عضو في الفريق.

أين؟

أين هم موجودون تنظيميًا؟ يشير إلى أن المسؤوليات تمتد إلى ما وراء فريق البرمجيات إلى العملاء، المستخدمين، وأصحاب المصلحة.

كيف؟

كيف سيتم إنجاز العمل تقنيًا وإداريًا؟ كم من كل مورد سيكون مطلوبًا؟

تقدير المشروع والجدولة

قيود الثلاثية

من الضروري لمؤسسة البرمجيات تسليم منتج عالي الجودة، مع الحفاظ على التكاليف ضمن قيود ميزانية العميل وتسليم المشروع كما هو مجدول.

الوقت التكلفة الجودة النطاق

هناك عدة عوامل، داخلية وخارجية، قد تؤثر على مثلث القيود الثلاثية. أي من العوامل الثلاثة يمكن أن يؤثر بشدة على العاملين الآخرين.

أساسيات جدولة المشروع

جدولة المشروع تشير إلى خريطة الطريق لجميع الأنشطة التي يجب القيام بها بترتيب محدد مع تخصيص فترات زمنية لكل نشاط.

متطلبات الجدولة:

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

هيكل تقسيم العمل (WBS)

التحليل الهرمي للمشروع إلى مراحل، أنشطة، ومهام مع تسلسلاتها. بعض المهام يتم تنفيذها بالتوازي بينما يتبع البعض الآخر بالتتابع.

هدف المشروع (0)
├── المرحلة 1
│   ├── النشاط 2.1
│   ├── النشاط 2.2
│   │   ├── المهمة 2.2.1 (بدائية)
│   │   ├── المهمة 2.2.2 (بدائية)
│   │   └── المهمة 2.2.3 (بدائية)
│   └── النشاط 2.3
├── المرحلة 2
└── المرحلة 3
                

طريقة المخططات التتابعية (PDM)

PDM هي تقنية لجدولة أنشطة المشروع عن طريق عرضها في مخطط شبكي لتحديد المسار الحرج.

مثال PDM

النشاط المسبق المدة (أيام)
أ --- 1
ب --- 2
ج --- 2
د أ 4
هـ ب 5
و ب 4
ز ج 6
ح د، هـ 6
ط ز 2
ي و، ح، ط 3

هيكل العقدة

المهمة بداية مبكرة المدة نهاية مبكرة بداية متأخرة نهاية متأخرة

الحسابات الرئيسية

التمرير الأمامي:
النهاية المبكرة = البداية المبكرة + المدة
التمرير الخلفي:
البداية المتأخرة = النهاية المتأخرة - المدة
المرونة الكلية:
المرونة الكلية = البداية المتأخرة - البداية المبكرة
أو
المرونة الكلية = النهاية المتأخرة - النهاية المبكرة

تعريف المسار الحرج

المسار الحرج هو تسلسل الأنشطة المتصلة التي تنتج أطول فترة زمنية إجمالية. يمثل هذا الحد الأدنى من الوقت المطلوب لإنهاء المشروع.

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

مثال المسار الحرج: ب ← هـ ← ح ← ي (المرونة الكلية = 0 لكل مهمة)

نتائج المرونة الكلية من المثال

المهمة البداية المبكرة النهاية المبكرة البداية المتأخرة النهاية المتأخرة المرونة الكلية
ب 0 2 0 2 0
هـ 2 7 2 7 0
ح 7 13 7 13 0
ي 13 16 13 16 0
أ 0 1 2 3 2
ج 0 2 3 5 3
د 1 5 3 7 2
و 2 6 9 13 7
ز 2 8 5 11 3
ط 8 10 11 13 3

إدارة المخاطر

إدارة المخاطر تهتم بتحديد المخاطر التي تؤثر على جدول المشروع أو جودة البرمجية ووضع خطط لتجنب أو تقليل آثارها.

لماذا إدارة المخاطر مهمة

تصنيف المخاطر

حسب النوع:

حسب التأثير:

مخاطر المشروع

تؤثر على الجدول أو الموارد (مثل فقدان مبرمج خبير)

مخاطر المنتج

تؤثر على الجودة أو الأداء (مثل فشل مكون تم شراؤه)

مخاطر الأعمال

تؤثر على المؤسسة (مثل إطلاق منافس لمنتج جديد)

عملية إدارة المخاطر

تحديد المخاطر

تحديد مخاطر المشروع، المنتج، والأعمال

تحليل المخاطر

تقييم الاحتمالية والعواقب

تخطيط المخاطر

وضع خطط التخفيف

مراقبة المخاطر

تقييم ومراجعة بانتظام

أمثلة المخاطر

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

استراتيجيات تخطيط المخاطر

استراتيجيات التجنب

تقليل احتمالية ظهور الخطر. على سبيل المثال، التعامل مع المكونات المعيبة من خلال الاختبار والتحقق الشاملين قبل الدمج.

استراتيجيات التقليل

تقليل تأثير الخطر على المشروع أو المنتج. على سبيل المثال، وجود موظفين احتياطيين لمرض الموظفين أو الحفاظ على برامج تدريب متقاطع.

خطط الطوارئ

إعداد خطط للتعامل مع الخطر إذا ظهر. على سبيل المثال، تحديد موردين بديلين أو الحفاظ على علاقات مع موظفين متعاقدين.

مؤشرات المخاطر

نوع الخطر المؤشرات المحتملة
التقدير الفشل في تلبية الجدول المتفق عليه؛ الفشل في إزالة العيوب المبلغ عنها
التنظيمي نميمة تنظيمية؛ نقص الإجراء من الإدارة العليا
الأشخاص معنويات الموظفين السيئة؛ علاقات سيئة؛ دوران عالي للموظفين
المتطلبات طلبات تغيير متطلبات كثيرة؛ شكاوى العملاء
التكنولوجي تسليم متأخر للأجهزة/البرمجيات؛ العديد من المشاكل المبلغ عنها
الأدوات تردد في استخدام الأدوات؛ شكاوى حول أدوات CASE؛ مطالب بترقيات

🔍 مراقبة المخاطر

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