عندما تكلّفون بتطوير برمجيات، ستُسألون عاجلاً أو آجلاً عن طريقة الدفع التي تفضلونها. الإجابتان التقليديتان هما سعر ثابت للمشروع كله، أو الدفع مقابل الوقت والمواد أثناء سير العمل. وتُباع كل منهما على أنها الخيار الآمن. وقد تسوء كل منهما كثيراً إذا استُخدمت لنوع مشروع غير مناسب. عملتُ بالطريقتين سنوات طويلة، ومن جانبي الطاولة، والخيار الصحيح يكاد يكون واضحاً دائماً متى طُرحت الأسئلة الصحيحة.
ما هو كل نموذج فعلاً
السعر الثابت يعني أن المورّد يلتزم بتسليم نطاق محدد مقابل مبلغ متفق عليه. ويتحمل المورّد مخاطر استغراق العمل وقتًا أطول من المتوقع. في المقابل، يحتاج المورّد إلى نطاق محدد، وسيتحفظ على تغييره.
الوقت والمواد يعني أن تدفعوا مقابل الجهد المبذول فعليًا، عادةً بالساعة أو اليوم أو الشهر، إضافة إلى أي تكاليف مباشرة مثل تراخيص الأطراف الثالثة. وتتحملون مخاطر استغراق العمل وقتًا أطول. في المقابل تحصلون على المرونة: يمكنكم تغيير الاتجاه وإضافة ميزات وإسقاط ما يتبين أنه غير مهم.
الترتيب الثالث، المطوّر المخصص أو التعاقد الشهري، قريب جدًا من الوقت والمواد: تحجزون مقدارًا محددًا من وقت المطوّر كل شهر وتوجهون استخدامه. نتناوله في صفحة المطوّر المخصص.
وعد السعر الثابت، وأين ينكسر
يبدو السعر الثابت مطمئنًا لأنه يمنحكم رقمًا تضعونه في الميزانية. وهذه الطمأنينة حقيقية عندما تتحقق الشروط التالية:
- المتطلبات واضحة ومكتوبة ومن غير المرجح أن تتغير.
- التقنية مألوفة والمخاطر منخفضة.
- يمكنكم أن تصفوا مسبقاً كيف ستقررون أن العمل قد انتهى.
في ظل هذه الشروط يكون السعر الثابت فعّالاً. يعرف الجميع ما الذي يُبنى وكم يكلّف.
تبدأ المشكلة حين لا تتحقق هذه الشروط، وهذا شائع. تخيلوا مشروعاً متطلباته غير واضحة. المورّد المطلوب منه سعر ثابت أمامه خياران صادقان. إما أن يضيف هامشاً كبيراً لتغطية المجهول، فتدفعون ثمن مخاطرة قد لا تقع أبداً. وإما أن يسعّر بدقة ثم يحمي نفسه بتفسير كل غموض في أضيق نطاق ممكن. وكلاهما يؤدي إلى احتكاك. وينتهي بكم الأمر إلى الجدل حول ما إذا كان أمر ما "ضمن النطاق" بدلاً من الحديث عن مدى فائدته.
وهناك مشكلة أهدأ أيضاً. حين يتحمل المورّد المخاطرة، يكون لديه حافز طبيعي لاختصار الطريق بما لا ترونه بسهولة: اختبار أقل، وتوثيق أضعف، وحلول أسرع وأقل قابلية للصيانة. المورّدون الجيدون لا يفعلون ذلك، لكن بنية العقد تجعله مغرياً، ومن المفيد معرفة ذلك.
وعد الوقت والمواد، وأين ينكسر
يتعامل الوقت والمواد بصدق مع طبيعة البرمجيات: أفضل فهم للمشكلة يأتي أثناء البناء. فهو يتيح لكم البدء مبكراً، والتعلم من الاستخدام الفعلي، والتعديل. وغالباً ما ينتج منتجات أفضل حين تكون الفكرة لا تزال قيد التشكّل.
مخاطره من النوع المعاكس. فبدون انضباط، لا يكون للميزانية سقف ولا يكون للمشروع نهاية طبيعية. تحتاج إلى أن تثق بأن المورّد يعمل بكفاءة ويصدقك القول عن التقدم. وعليك أيضًا أن تؤدي دورك بتحديد الأولويات، لأن كل ميزة تضيفها تزيد التكلفة.
يمكنكم تقليل هذا الخطر كثيراً بعادات بسيطة:
- اتفقوا على نطاق تقديري في البداية وتعاملوا معه كرقم للتخطيط لا كوعد.
- اعملوا على مراحل قصيرة يكون في نهاية كل منها شيء يمكنكم رؤيته واختباره.
- اطلبوا تقارير دورية بالوقت المنفق على كل جزء من العمل.
- حدّدوا نقطة مراجعة تقررون عندها المتابعة أو تغيير الاتجاه أو التوقف.
- احتفظ بقائمة أعمال مرتبة حسب الأولوية، ليُنجز العمل الأعلى قيمة أولًا دائمًا.
طريقة بسيطة للاختيار
اطرحوا على أنفسكم هذه الأسئلة حول مشروعكم.
ما مدى قدرتي على وصف المنتج النهائي اليوم؟ إذا كان بإمكانكم تسليم مواصفات مكتوبة إلى ثلاثة موردين وتوقع نتائج متقاربة، فالسعر الثابت معقول. وإذا لم يكن ذلك ممكنًا، فلا.
ما احتمال أن أغيّر رأيي؟ كونوا صادقين مع أنفسكم. يتعلم معظم الناس شيئًا جديدًا حين يرون برنامجًا يعمل. إذا كنتم تتوقعون تعديل الخطة، فالوقت والمواد أنسب.
ما مدى حداثة التقنية أو المشكلة؟ المجالات غير المألوفة، مثل تكامل جديد أو ميزة ذكاء اصطناعي، تنطوي على مجاهيل الأفضل تقاسمها بدل إخفائها في السعر.
ما حجم العمل؟ المهام الصغيرة المحددة جيدًا، مثل تقرير معين أو تكامل بسيط أو إصلاح محدد، تناسب السعر الثابت. أما البرامج الكبيرة الطويلة فالأفضل تقسيمها إلى مراحل، لكل منها اتفاقه الخاص.
ما مدى أهمية ثبات الميزانية مقابل المرونة؟ لدى بعض المؤسسات قواعد مشتريات تتطلب رقمًا ثابتًا. هذا قيد مشروع، وهناك طرق لمراعاته، موضحة أدناه.
الأنماط الهجينة التي تنجح عادةً بشكل أفضل
عمليًا، كثيرًا ما يكون الترتيب الأفضل مزيجًا منها.
مرحلة استكشاف مدفوعة، ثم سعر ثابت. خصصوا مرحلة قصيرة مدفوعة (أسبوعًا أو أسبوعين) لإنتاج نطاق مكتوب أو نموذج أولي أو تجربة تقنية تختبر الجزء الأكثر خطورة. ثم يُثبَّت سعر البناء وفق ذلك النطاق. فأنتم تشترون اليقين باستثمار صغير محدد المدة.
سعر ثابت لكل مرحلة. قسّموا المشروع إلى مراحل، لكل منها مُخرَج واضح وسعر ثابت، واتفقوا على كل مرحلة بعد إنجاز السابقة. تحصلون على قابلية التوقع بخطوات صغيرة وحرية التعديل بين المراحل.
الوقت والمواد بحد أقصى. يُنفَّذ العمل بنظام الوقت والمواد، مع الاتفاق على حد أقصى لا يمكن تجاوزه دون موافقتكم. يُحمى المورّد من نطاق مفتوح، وتُحمَون من تكلفة مفتوحة.
التعاقد الشهري. للمنتجات المستمرة ذات التغييرات المنتظمة، يسهل التخطيط والتشغيل بمبلغ شهري ثابت مقابل قدر متفق عليه من وقت المطوّر.
التغييرات وكيف تعالجها العقود
أيًّا كان النموذج الذي تختارونه، سيتغير المشروع. وينبغي أن ينص العقد على كيفية ذلك. ففي السعر الثابت ينبغي وجود إجراء مكتوب لطلبات التغيير: وصف التغيير، وتقدير أثره، واعتماده، ثم المتابعة. وفي نموذج الوقت والمواد تتم التغييرات بإعادة ترتيب الأولويات، ويبقى السؤال الوحيد هو هل يظل الإجمالي ضمن ميزانيتكم. وإذا سكت العقد عن التغيير فتوقعوا خلافات.
أمور أخرى تستحق التدوين
أياً كان نموذج التسعير، تأكدوا من أن الاتفاق يغطي بعض الأساسيات:
- الملكية. ينبغي أن تمتلكوا الشيفرة والملكية الفكرية بعد سداد قيمة العمل، وأن تكون الشيفرة في مستودع تتحكمون به.
- القبول. كيف ستقررون أن المُخرَج قد اكتمل؟ باختبارات أم بعرض تجريبي أم بقائمة تحقق؟
- السرية. اتفاقية عدم إفصاح (NDA) إذا كانت معلوماتكم حساسة.
- الضمان والدعم. ماذا يحدث عند ظهور خلل بعد أسبوع من الإطلاق؟
- إنهاء العلاقة. كيف يمكن لأي من الطرفين التوقف، وما الذي تحصلون عليه عندها.
ما أوصي به
إذا كنت تستطيع وصف مشروعك بوضوح، فاطلب سعرًا ثابتًا وتوقّع أن يقدّمه مورّد جيد، مع نطاق واضح وآلية للتغيير. وإن لم تستطع، فلا تفرض ذلك. ابدأ بمرحلة استكشاف قصيرة مدفوعة أو مرحلة بالوقت والمواد بسقف محدد، ثم انتقل إلى الأسعار الثابتة للأجزاء التي تتضح معالمها.
في IT Labs India نقدم كل هذه النماذج، ونوصي بالنموذج بعد استشارة أولية مجانية، لأن الاختيار الصحيح يعتمد على مشروعك لا على ما يناسب فواتيرنا. ويبدأ كل تعاقد بتقدير مكتوب. وإذا كنت تحدد ما تطلبه، فمقالنا عن ما الذي يحدد تكلفة البرمجيات المخصصة رفيق مفيد، ويمكنك قراءة المزيد عن كيفية إدارتنا للمشاريع في صفحة كيف نعمل. وعندما تكون مستعداً، أخبرنا عن مشروعك.