منهجية Waterfall
جدول المحتويات
مقدمة
لا بد أنك سمعت بمنهجية Waterfall أو Waterfall methodology، وهي أحد الطرق المستخدمة في إدارة تطوير المشاريع البرمجية منذ السبعينيات.
في هذه المنهجية، يجب أن تكمل كل مرحلة من مراحل المشروع قبل الانتقال إلى المرحلة التي تليها. وهو نمط غير مرن بعض الشيء. تعتمد هذه المنهجية بشكل كبير على معرفة المتطلبات وجاهزيتها قبل البدء في تنفيذ المشروع.
تبدو هذه المنهجية غير مناسبة للتطبيق في وقتنا الحالي، وخصوصاً بعد ظهور وتطور تقنيات ومنهجيات أحدث وأكثر مرونة في إدارة المشاريع، لكنها في الواقع لا تزال تستخدم في إدارة المشاريع. استبانة في عام 2020 تفيد أن نسبة 56٪ من الخبراء في مجال إدارة المشاريع قد استخدموا منهجية Waterfall أو أنماط إدارية مشابهة.
مراحل منهجية Waterfall
مرحلة المتطلبات
في هذا المرحلة يتم تحديد ما يجب على المنتج الرقمي القيام به، ويجب على المتطلبات أن تحدد ما يلي:
- الموارد المطلوبة لتنفيذ المشروع
- ما يجب على كل فرد من أفراد الفريق القيام به
- مسار زمني لكامل المشروع
- تفاصيل كل مرحلة من مراحل التنفيذ
مرحلة التصميم
بعد جمع وتجهيز كافة المتطلبات، تأتي مرحلة التصميم. وفيها يقوم فريق التصميم بـ:
- بناء وجدولة معالم المشروع
- تحديد ما سيتم تسليمه بدقة
- تجهيز التصاميم لما سيتم تسليمه
مرحلة التنفيذ
بعد انتهاء التصميم والموافقة عليه، تبدأ مرحلة تنفيذه. ويبدأ المطورون في تطوير المنتج الرقمي المطلوب. لتقيق ذلك، عليهم:
- تجهيز خطة التنفيذ
- جمع البيانات والقيام بالأبحاث المطلوبة للتنفيذ
- توزيع المهام على الفريق والموارد
- مرحلة التحقق
لقد انتهى المطورون من تنفيذ وتطوير المنتج الرقمي. الآن تبدأ مرحلة الاختبار والتحقق من الجودة، ومن المهم أن يتم اختبار كل حالات الاستخدام لضمان أفضل تجربة مستخدم.
مرحلة الصيانة
بعد إطلاق المنتج، سيقوم فريق المطورين بحل أي مشكلة أو خلل يظهر للمستخدمين النهائيين، ويبدؤون بإطلاق نسخ أحدث من المنتج الرقمي خالية من العيوب التي ظهرت.
نستطيع بسهولة أن نرى أن كل خطوة تعتمد على الخطوة التي سبقتها، وهذا لا يسمح بوجود أخطاء بين أو ضمن المراحل. أيضاً تخيل أن صاحب المنتج الرقمي أراد أن يضيف متطلباً جديداً والمنتج في مرحلة التحقق، سيتوجب عندها إعادة دارسة المشروع ككل. قد يعني ذلك رمي كل ما تم إنجازه والبدء من جديد!
بعد كل هذا، ما هي المزايا التي قد تدفع مدراء المشاريع إلى اختيار هذه المنهجية في إدارة وتنفيذ المشاريع؟ وما هي الحدود التي تمنع استخدامها في مشاريع أخرى؟
مزايا منهجية Waterfall
- هيكلية واضحة للمشروع: تمنع هذه المنهجية وجود أي التباس بسبب التخطيط الدقيق في البداية. فالهدف النهائي واضح.
- معرفة التكاليف: وجود خطة واضحة وصارمة تضمن معرفة مدة وتكاليف المشروع من البداية.
- سهولة المتابعة: يمكن بسهولة قياس التقدم في المشروع بسبب عدم وجود ترابط وثيق بين المراحل.
- عملية قابلة للاستنساخ: مع نجاح المشروع، تستطيع بسهولة استخدام نفس العملية في مشروع آخر بمتطلبات مشابهة.
- إدارة أفضل للمخاطر: يقلل التخطيط المسبق المخاطر، فهي تسمح للمطورين التقاط مشاكل التصميم قبل كتابة أي كود برمجي.
- مسؤولية أعلى: يقع على عاتق الفريق مسؤولية عالية في كل مرحلة، لأن كلاً منها يتضمن مجموعة واضحة من الأهداف وبأوقات زمنية مدروسة.
- تاخيرات أقل ناجمة عن متطلبات جديدة: معرفة الفريق بالمتطلبات في بداية المشروع تقلل من فرص طلبات جديدة من العملاء والزبائن.
حدود المنهجية
- أوقات تسليم أطول: بسبب تسلسل مراحل المشروع، من الطبيعي أن يأخد تسليم المنتج النهائي وقتاً أطول، على عكس المنهجيات ذات التسليمات المتكررة كالمنهجية الرشيقة Agile مثلاً.
- حيز أصغر للتطوير: إن حدوث أي أمر غير متوقع قد يهدد المشروع ككل، أو قد يؤخر التسليم فترة من الزمن.
- مساحة أقل لرأي العميل: بعد انتهاء مرحلة وضع المتطلبات، لم تعد طلبات العميل المتغيرة ذات معنى.
- مئات طلبات التعديل اللاحقة: كون العميل غير قادر على إبداء رأيه في مرحلة تنفيذ المشروع، سيكون هنالك المئات من طلبات التعديل بعد الإطلاق، كإضافة ميزة جديدة إلى الكود الموجود. بالتالي، سيكون هناك مشاكل صيانة تؤخر الإطلاق.
ختاماً
رغم محدودية مرونة منهجية Waterfall وظهور منهجيات أكثر توافقاً مع طبيعة المشاريع الحديثة، إلا أنها لا تزال خياراً مناسباً في المشاريع ذات النطاق الثابت والأهداف الواضحة. بفضل قدرتها على تقديم خطة شاملة ومُحكمة من البداية، تُعتبر مثالية للمشاريع التي يمكن فيها تحديد المتطلبات بدقة، دون الحاجة إلى تغييرات كبيرة أثناء التنفيذ.
مع ذلك، فإن حدودها المتمثلة في قلة مرونتها وغياب التفاعل مع العميل أثناء المراحل المختلفة تجعلها أقل ملائمة للمشاريع الديناميكية التي تتطلب تعديلات مستمرة أو استجابة سريعة للمتغيرات.
لذلك، يعتمد اختيار المنهجية الأنسب على طبيعة المشروع، ومتطلباته، ومستوى التغير المحتمل فيه. في النهاية، تُظهر لنا منهجية Waterfall أهمية التخطيط المسبق والتنظيم الدقيق، حيث يمكن أن يقلل هذا النوع من النهج المخاطر ويوفر الوقت في المشاريع ذات المتطلبات المحددة والواضحة.