تخطَّ إلى المحتوى
مساحة العميل

تدقيق مجاني

تطوير البرمجيات

بعد النسخة الأولى: ما يكلفه فعلًا تطوير برنامج مفصَّل

البرنامج المفصَّل لا يُسلَّم بل يُوضع في الخدمة. وكل ما يهم بعد ذلك يتقرر بطريقة طلبك للتغيير.

نُشر في 25 جويلية 2026 — Algeria Agency

الجزء الظاهر من مشروع برمجي هو بناؤه: تسعيرة، وأسابيع عمل، ووضع في الخدمة. أما الجزء الذي يدوم فهو ما بعد ذلك، وله عملة مختلفة. لم تعد تشتري برنامجًا بل تشتري تغييرات، واحدًا واحدًا، لسنوات.

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

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

لا تستشهد بأي رقم، والقسم الأول يشرح السبب: السؤال الطبيعي «كم يكلف تطوير» ليس له جواب قابل للمقارنة بين تسعيرة وأخرى، والسبب أطرف من الغياب نفسه.

النسخة الأولى ليست تسليمًا بل نقطة انطلاق

البرنامج المفصَّل هو الشراء الوحيد في مؤسستك الذي تكتشف حاجتك الحقيقية منه باستعماله. وهذا صحيح بحكم البناء: كُتب لطريقة عمل لم يصفها أحد كاملة، لأن لا أحد يصف كاملًا ما يفعله كل يوم.

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

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

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

لماذا تختلف تسعيرتان للطلب نفسه بخمسة أضعاف

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

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

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

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

وصف تغيير: ما هو قائم، وما يتغير، وما يجب ألا يتحرك

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

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

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

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

خلل أم تطوير: الحد الذي يقرر من يدفع

هذا أشيع مصادر التوتر، وهو دائمًا تقريبًا مطروح بشكل خاطئ. السؤال ليس هل يتصرف البرنامج بشكل سيئ؛ بل هل يتصرف على غير ما اتُّفق عليه.

الخلل انحراف عما كان مقررًا: كان يفترض أن يفعل هذا فيفعل ذاك. والتطوير تغيير لما كان مقررًا، بما في ذلك حين يكون السلوك الحالي مزعجًا بوضوح. برنامج يفعل بالضبط ما طُلب منه ويتبين أنه غير ملائم للاستعمال الحقيقي لا يحوي خللًا — بل يحوي فرضية خاطئة، وهو موضوع القسم الأول.

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

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

الطابور، ولماذا يجب أن يكون مرئيًا

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

والطابور المرئي قائمة يستطيع الجميع قراءتها، ولكل طلب حالته — مكتوب، مسعَّر، مقبول، جارٍ، مسلَّم. وفضيلته ليست التنظيم بل أنه يجعل التحكيم صريحًا: حين لا يمكن مرور طلبين في الأسبوع نفسه يختار شخص من عندكم، ولم يعد المطور هو من يختار افتراضًا.

وهو يغيّر أيضًا طبيعة التذكيرات. بدونه يذكّر كل طالب منفردًا، ويصير التذكير آلية ترتيب الأولويات — ما يعطي الأولوية للأكثر إلحاحًا لا للأكثر نفعًا. ومعه يصير لسؤال «أين وصل طلبي» جواب لا يحتاج أحد إلى طرحه.

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

الانتكاس: الكلفة الخفية لكل إضافة

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

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

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

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

البيئات: لماذا اثنتان، لا خمس

يلزم مكان يشتغل فيه البرنامج حقيقةً، ومكان يمكن التجريب فيه بلا عواقب. اثنان. هذا الحد الأدنى، وهو كافٍ دائمًا تقريبًا لمؤسسة لا تنشر برمجيات.

وبدون الثانية يجري كل اختبار على البيانات الحقيقية، وينتهي سؤال «هل نجرب الفوترة الجديدة» بفاتورة حقيقية تُرسل إلى زبون حقيقي. وهو نوع الحوادث التي تقع مرة وتكلف أكثر من التهيئة التي كان ينبغي القيام بها.

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

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

المطور الوحيد، وما يحدث إن رحل

أغلب البرمجيات المفصَّلة في مؤسسة صغيرة يكتبها شخص واحد أو اثنان. وهذا سبب كونها في المتناول، وهو الخطر الرئيس في الترتيب. ولا يظهر تدريجيًا أبدًا: يظهر يوم اثنين.

والسؤال الجيد ليس «كيف نتفادى ذلك»، لأنه لا يُتفادى. بل «كم يلزم شخصًا آخر من الوقت ليستأنف». أسبوع خطر مقبول؛ وثلاثة أشهر تبعية يجب الحديث عنها والأمور بخير، أي الآن.

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

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

ما يجب استلامه عند كل تسليم

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

قائمة ما تغيّر، بلغة عادية، بما في ذلك ما تغيّر دون أن يُطلب. وقائمة القواعد المقررة في الطريق، وهي قواعد القسم الرابع. وتأكيد أن الكود المسلَّم في المستودع الذي تملكه. وما تبقى معلومًا، بما فيه العيوب المقبولة مؤقتًا.

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

وهذه العناصر الأربعة تسع رسالة واحدة. لا تطلب أداة ولا منهجًا ولا مفردات: تطلب عادة، وهي عادة تُؤخذ عند أول تسليم أو لا تُؤخذ أبدًا.

كلفة تغيير المزود، بأمانة

تغيير المزود على برنامج مفصَّل ليس مستحيلًا ولا بلا ألم، وتقديره مسبقًا يتفادى الخطأين المعتادين: البقاء عند من لم يعد يناسب، أو الرحيل ظنًا أن الكلفة صفر.

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

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

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

إعادة الكتابة أم المواصلة: ثلاث إشارات

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

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

والثانية الانتكاس المزمن: كل تغيير يكسر آخر، بشكل متكرر لا عرضي. وهذا يدل على أن القواعد متشابكة لا سيئة الكتابة، والتشابك لا يُصحَّح بلمسات صغيرة.

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

ما نفعله، وما نرفضه

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

ونرفض إعطاء سعر متوسط لتطوير، والسبب ليس الحذر: لا توجد وحدة مشتركة. تسعيرتان لـ«الطلب نفسه» تتناولان شيئين مختلفين، وتعريفة معلنة لن تفعل إلا نقل الغموض من التسعيرة إلى الفاتورة. ما نسعّره طلب مكتوب، ونفضّل قضاء ساعة في كتابته معك على الدفاع عن رقم بعد ذلك.

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

وأخيرًا، الجزء الأسرع مردودًا لا يحتاج تطويرًا ولا يحتاجنا: اكتب طلباتك الثلاثة القادمة وفق فقرات القسم الثالث، واسأل مزودك الحالي كم يلزم شخصًا آخر من الوقت ليستأنف. الأول يخفّض تسعيراتك؛ والثاني يقول لك أين أنت.

الأسئلة الشائعة

لماذا يعطي مزودان سعرين مختلفين جدًا للتطوير نفسه؟

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

كيف نعرف إن كان خللًا أم تطويرًا؟

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

لماذا يكلف الطلب نفسه أكثر بعد سنتين؟

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

هل نحتاج فعلًا بيئة ثانية؟

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

ماذا نفعل إن كان شخص واحد يعرف برنامجنا؟

لا يُتفادى بل يُجعل قابلًا للتقدير. والسؤال المفيد كم يلزم شخصًا آخر من الوقت ليستأنف: أسبوع مقبول، وثلاثة أشهر تبعية تُعالَج والأمور بخير. وثلاثة أشياء تصنع الفرق — الكود في مستودع تملكه، ومذكرة تركيب يستعملها غريب، والقواعد المهنية مكتوبة بلغة عادية.

متى نعيد الكتابة بدل المواصلة؟

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

أين يبدأ دورنا

أن تكتب طلبك القادم في ثلاث فقرات — ما يجري اليوم، وما تريده، وما الذي يتغيّر في مكان آخر — لا يكلّف شيئًا ويغيّر الجواب.

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

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

اقرأ بعد ذلك

لنتحدث عن مشروعك

تدقيق مجاني دون التزام: نفحص حضورك الرقمي ونخبرك بما يعيقه.

نقيس استعمال هذا الموقع عبر غوغل أناليتيكس، لنعرف أيّ الصفحات تنفع القارئ فعلًا. ويمكنك إيقاف هذا القياس متى شئت من أسفل الصفحة. سياسة الكوكيز