منهجيات إدارة دورة حياة التطبيقات (ALM)

مكتمل

تحظى إدارة دورة حياة التطبيق (ALM) بمنظور شامل يستمر حتى يتوقف استخدام التطبيق. قد تختلف منهجيات إدارة دورة حياة التطبيق، ومن ثمّ يُعدّ اختيار المنهجية الصحيحة المناسبة لاحتياجاتك أمراً مهماً للتطوير. يتمثّل الهدف من هذه الوحدة وإدارة دورة حياة التطبيق في المساعدة على زيادة إنتاجية المطوّر وتحسين التعاون بين الفِرق وتوفير الشفافية لعناصر العمل.

تستكشف هذه الوحدة منهجيات إدارة دورة حياة التطبيق (ALM) وتساعدك في تحديد المنهجية التي يجب استخدامها حسب احتياجات تطوير البرامج.

هناك عدة نُهج لإدارة دورة حياة التطبيق. تنطوي كل منهجية منها على مزايا وعيوب، وذلك حسب نوع المشروع والبرنامج المستخدَم.

ثمة ثلاث منهجيات شائعة هي ‏‫منهجية الشلال‬ ومنهجية Agile و‏‫المنهجية الحلزونية.

منهجية الشلال

رسم تخطيطي يوضّح المراحل الخمس لمنهجية الشلال وهي: المتطلبات وتصميم النظام والتنفيذ والتكامل والاختبار والصيانة.

منهجية الشلال هي نهج تسلسلي. ينقسم المشروع إلى عدة مراحل حيث يتم الانتقال من المرحلة السابقة إلى المرحلة التالية حتى يتم الانتهاء من المشروع. ويتم توثيق كل مرحلة بدقة بالتسليمات والمراجعات والموافقات الواضحة. لا تبدأ عادةً المرحلة التالية في منهجية الشلال حتى تنتهي المرحلة السابقة. على سبيل المثال، إذا أردتَ تنفيذ تطبيقات Finance and Operations، فسيتعيّن تحديد جميع المتطلبات المتعلقة بكل تكامل قبل أن يبدأ المطوّرون في التطوير.

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

منهجية Agile

رسم تخطيطي دائري يوضّح الخطوات الست في منهجية Agile وهي: التخطيط والتصميم والتطوير والاختبار والإصدار وتقديم الملاحظات.

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

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

ونظراً للطابع التكراري لأسلوب Agile، فقد يُعد تعقّبه أمراً معقداً. وفي كثير من الأحيان تتم إعادة تحديد أولويات العمل عندما تتجاوز التسليمات الدورة المتكررة الأصلية أو إذا كان يلزم إضافة دورات متكررة جديدة لاحقاً.

‏‫المنهجية الحلزونية

تجمع المنهجية الحلزونية بين جوانب ‏‫منهجية الشلال‬ ومنهجية Agile. تُركِّز المنهجية الحلزونية على تقييم المخاطر من خلال تقسيم المشروع إلى أجزاء أو دورات أصغر. في بداية كل دورة، يتم تحديد المتطلبات والأهداف لإنشاء نموذج أولي. وتمرّ كل دورة بنفس الخطوات لإنشاء نموذج أولي. في نهاية الدورة، تتم مراجعة النموذج الأولي والتخطيط للدورة التالية.

رسم تخطيطي للمراحل الأربع للمنهجية الحلزونية وهي: تحديد الأهداف، وتحديد المخاطر وإيجاد حلول لها، والتطوير والاختبار، والتخطيط للتكرار التالي.

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