منهجية الشلال في تطوير البرمجيات Waterfall Methodology

اقرأ في هذا المقال


منهجية التطوير هي العملية التي يقوم بها فريق هندسي ببناء منتج معين، حيث تستخدم معظم عمليات تطوير المنتجات البرمجية إما المنهجية الرشيقة (Agile) أو منهجية الشلال (Waterfall). منهجية الشلال هي منهجية تؤكد على التقدم الخطي من بداية المشروع إلى نهايته، ويستخدم المهندسون هذه المنهجية غالبًا؛ لأنها تعتمد على التخطيط الدقيق والتوثيق التفصيلي والتنفيذ المتتالي.

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

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

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

مراحل المشروع لتطوير البرمجيات باستخدام نموذج الشلال:

1- التحليل

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

2- التصميم

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

3- التطبيق

بمجرد الموافقة على التصميم، يبدأ التنفيذ الفني (أي كتابة الكود). غالبًا ما تكون هذه أقصر مرحلة؛ لأن البحث والتصميم تم إجراؤه مسبقًا.

4- الاختبار

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

5- النشر والصيانة

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

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

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

  • يمكن للمطورين اكتشاف أخطاء التصميم أثناء مرحلتي التحليل والتصميم، مما يساعدهم على تجنب كتابة أكواد خاطئة أثناء مرحلة التنفيذ.
  • يمكن تقدير التكلفة الإجمالية للمشروع بدقة، وكذلك الجدول الزمني، بعد تحديد المتطلبات.
  • باستخدام هذا النهج المنظم، يكون من الأسهل قياس التقدم وفقًا لمعالم محددة بوضوح.
  • يمكن للمطورين الذين ينضمون إلى “المشروع قيد التنفيذ” فهمه بسهولة؛ لأن كل ما يحتاجون إلى معرفته يجب أن يكون في مستند المتطلبات.
  • لا يضيف العملاء متطلبات جديدة (مما يؤدي إلى تأخير الإنتاج) إلى المشروع.

عيوب منهجية الشلال

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

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

متى يتم استخدام نموذج الشلال؟

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

المصدر: Waterfall MethodologyWaterfall ModelWhat is Waterfall Model in SDLC? Advantages and Disadvantages


شارك المقالة: