التسعير: هكذا نقيس حجم البرمجيات وسعرها
Mesterséges Intelligencia Központ Kft. هي شركة تطوير برمجيات مقرّها في بودابست بالمجر. لا نحدد السعر بتقدير عدد الساعات: بل نقيس الحجم الوظيفي للبرنامج بنقاط COSMIC الوظيفية (ISO/IEC 19761)، ومنه نُعدّ العرض والجدول الزمني.
الخلاصة: نصف معًا أولًا ما يجب أن يؤديه البرنامج، ثم نقيس حجمه، ومن الحجم المقاس نحدد السعر والجدول الزمني. ولهذا لا نذكر سعرًا بناءً على مكالمة هاتفية أولى، ولهذا أيضًا لا ننشر قائمة أسعار.
لماذا نقيس الحجم بدلًا من تقدير الساعات؟
يخبر تقدير عدد الساعات بمقدار العمل الذي يتوقعه المقدِّر، وهذا يتوقف على خبرة المقدِّر وحذره وفريقه. وقد تعطي شركتان للمهمة نفسها أعدادًا متباينة جدًا من الساعات، ولا يتضح من الخارج سبب كل منها.
أما الحجم الوظيفي فهو على العكس من ذلك خاصية للبرنامج نفسه: فهو يقيس ما يجب أن يؤديه البرنامج، لا من يبنيه وكيف. ولذلك يمكن التحقق منه وإعادة قياسه، ويمكن به مقارنة عرضين.
ما نقطة COSMIC الوظيفية؟
COSMIC إحدى طرق القياس المعيارية دوليًا للحجم الوظيفي للبرمجيات (ISO/IEC 19761). وهي تَعُدّ حركات البيانات في العمليات الوظيفية للبرنامج. وهناك أربعة أنواع من حركات البيانات:
| حركة البيانات | معناها | مثال |
|---|---|---|
| Entry (الإدخال) | تصل بيانات من المستخدم أو من نظام آخر | يرسل المشتري نموذج الطلب |
| Exit (الإخراج) | تخرج بيانات إلى المستخدم أو إلى نظام آخر | يرسل النظام تأكيدًا |
| Read (القراءة) | يقرأ البرنامج بيانات مخزّنة | يحمّل الطلبات السابقة للمشتري |
| Write (الكتابة) | يخزّن البرنامج بيانات | يحفظ الطلب الجديد |
تساوي كل حركة بيانات نقطة COSMIC وظيفية واحدة (1 CFP)، وحجم البرنامج هو مجموعها. فعملية «تسجيل طلب» مبسّطة، على سبيل المثال، تتكوّن من إدخال واحد، وقراءة واحدة، وكتابة واحدة، وإخراج واحد، أي 4 CFP. والقياس مستقل عن لغة البرمجة، وعن التقنية، وعن الفريق الذي يعمل عليه. ويعرض مقالنا ما نقطة COSMIC الوظيفية، وبماذا تختلف عن تقدير الساعات؟ الطريقة بمثال محلول، مع حدودها.
كيف يصبح الحجم عرضًا وجدولًا زمنيًا؟
- المواصفات: نصف معًا، بندًا بندًا، الوظائف والجهات الفاعلة والبيانات (انظروا: كيف نعمل).
- القياس: يقيس مسار عمل خاص بنا مدعوم بالذكاء الاصطناعي مجموعاتِ الوظائف بعدة عمليات عدّ مستقلة بعضها عن بعض، وتضمن جولة تنسيق أن تُحتسب كل عملية مرة واحدة بالضبط.
- المراجعة: نراجع القياس، ونوضّح النقاط غير المؤكدة.
- العرض: ينتج السعر عن الحجم المقاس، مضافًا إليه ما لا يعبّر عنه الحجم الوظيفي (انظروا أدناه).
- الجدول الزمني: نرى الحجم لكل مجموعة وظائف أيضًا، ولذلك نبني عليه المراحل وترتيبها والمواعيد النهائية.
وإذا نشأت حاجة جديدة أثناء العمل، فإننا نقيسها بالطريقة نفسها، فيظهر دائمًا مقدار تغيّر النطاق، وما يعنيه ذلك بالنسبة إلى السعر والجدول الزمني.
ما الذي يؤثر أيضًا في التكلفة؟
يقيس الحجم الوظيفي ما يفعله البرنامج، لكنه لا يقيس كل ما يتطلب عملًا. والعوامل التالية يشير إليها القياس بشكل منفصل، فلا تبقى مخفية في العرض أيضًا:
- التكاملات: كم نظامًا خارجيًا يجب الارتباط به، ومدى جودة توثيق واجهاتها.
- المتطلبات غير الوظيفية: الأداء، والتوافر، وأمن البيانات، وإمكانية الوصول.
- الواجهة والرسومات المخصّصة: التصميم المفصَّل على المقاس، والعناصر المرئية الخاصة.
- تعدد المنصات: عندما يلزم للشيء نفسه نسخة للويب وأخرى لنظام iOS وأخرى لنظام Android.
- ترحيل البيانات: نقل بيانات النظام القديم إلى النظام الجديد.
- الحسابات المعقدة والعمل في الوقت الفعلي: الخوارزميات، وتدفقات البيانات الحية.
والتشغيل بعد التسليم بند منفصل: تشغيل النظام، والصيانة، ومواصلة التطوير، وفي وظائف الذكاء الاصطناعي رسوم النماذج اللغوية التي تتوقف على حجم الاستخدام. ونكتب عن ذلك أيضًا ضمن الأسئلة أدناه.
لماذا تصبح المقارنة بين عرضين ممكنة بهذه الطريقة؟
إذا انطلق عرضان من المواصفات نفسها ومن الحجم المقاس نفسه، فإنهما يغطيان النطاق نفسه: فيظهر ما تطلبه كل من الشركتين مقابل الشيء نفسه، وما تحتسبه بشكل منفصل. أما الساعات فلا يمكن مقارنتها بالطريقة نفسها، لأن الساعة ليست خاصية للبرنامج. وCOSMIC طريقة منشورة علنًا ومعيارية، ولذلك يمكن لغيرنا أيضًا التحقق من قياسنا. ومن المفيد أن تسألوا مقدّمي العروض الآخرين أيضًا عن النطاق الذي حددوا أسعارهم على أساسه.
الأسئلة الشائعة
لماذا لا تذكرون السعر عبر الهاتف؟
لا نذكر السعر عبر الهاتف لأن سعر البرنامج يتوقف على ما يجب أن يؤديه، وهذا لا يمكن قياسه بمسؤولية من مكالمة قصيرة. والاستشارة الأولى مجانية: بعدها نصف المتطلبات معًا، ونقيس الحجم، ونقدّم عرضًا على أساسه. ويمكنكم طلب موعد في صفحة التواصل.
ما الذي يجعل التطوير أعلى تكلفة؟
يصبح التطوير أعلى تكلفة في المقام الأول عندما يتضمن وظائف أكثر، أي حركات بيانات أكثر. وإلى جانب ذلك قد ترفع التكلفةَ أيضًا العواملُ المذكورة أعلاه: التكاملات الكثيرة أو السيئة التوثيق، ومتطلبات الأداء والأمان الصارمة، والرسومات المخصّصة، وتعدد المنصات، أو ترحيل كمية كبيرة من البيانات.
كم يكلّف التشغيل؟
تتوقف تكلفة التشغيل على ما يشمله: الاستضافة وتشغيل النظام، والتحديثات، وإصلاح الأخطاء، ومواصلة التطوير، وفي وظائف الذكاء الاصطناعي رسوم النماذج اللغوية التي تتوقف على حجم الاستخدام. ونفصّل نطاق التشغيل على مقاس النظام المحدد؛ ونقيس التطويرات اللاحقة بالطريقة نفسها التي نقيس بها الأولى. ونجيب عن مزيد من الأسئلة في صفحة الأسئلة الشائعة.