→ العودة إلى المدونة

كم يستغرق مشروع البرمجيات فعلاً؟

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

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

مرجعيات زمنية واقعية حسب نوع المشروع

قبل الخوض في الأسباب، إليك جداول زمنية واقعية لأنواع المشاريع الشائعة - بافتراض وجود نطاق واضح قبل بدء التطوير.

  • أداة داخلية بسيطة (عملية واحدة، لا تكاملات، عدد محدود من المستخدمين): 4 إلى 8 أسابيع
  • نظام متوسط التعقيد (وحدات متعددة، تكامل واحد على الأقل، أدوار مستخدمين): 3 إلى 5 أشهر
  • منصة معقدة (أنواع متعددة من المستخدمين، تكاملات متعددة، سير عمل مخصصة): 6 إلى 12 شهراً

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

ما يُطيل الجداول الزمنية: المتطلبات الغامضة

هذا هو العامل الأكبر في تأخر مشاريع البرمجيات، وهو في معظمه تحت سيطرة العميل.

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

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

الدقة في البداية ليست بيروقراطية. إنها توفير حقيقي للمال.

ما يُطيل الجداول الزمنية: التأخر في إعطاء التغذية الراجعة

تطوير البرمجيات عملية تكرارية. يُبنى العمل على مراحل، يُراجَع، يُعدَّل، ثم يُكمَل. هذا يعمل حين تأتي التغذية الراجعة بسرعة. ويتعطل حين لا تأتي.

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

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

ما يُطيل الجداول الزمنية: تعقيد التكاملات

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

المشكلة أنك لا تتحكم في الطرف الآخر. تتغير واجهات API دون إشعار. التوثيق يصف كيف يُفترض أن تعمل الأشياء، لا كيف تتصرف فعلاً في الحالات الحدية. أنظمة المصادقة لها متطلبات غير موثقة. البوابة الحكومية التي كان من المفترض أن تقبل XML قياسياً تتطلب صيغة لا تُوصف إلا في ملف PDF من 2019 ستجده في الصفحة 47 من منشور في منتدى.

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

ما يُبقي المشاريع في موعدها فعلاً

لا سر هنا. تلتزم المشاريع بجداولها حين:

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

التوقع الصادق

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

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

خطط للهامش. اسعَ لعدم الحاجة إليه. في الغالب ستجد نفسك في مكان ما بين الاثنين.


نبني جداول زمنية واقعية من البداية، ونُنبّه للمخاطر حين نراها، ونبقيك على اطلاع طوال المشروع - لا فقط حين يسوء شيء. تواصل معنا للحديث عن مشروعك.