من وقت لآخر يتم سؤالك عن الفائدة التي ستحصل عليها الشركة من الناحية النقدية من خلال استخدام محلل PVS-Studio. قررنا وضع الإجابة في شكل مقال وإعطاء جداول توضح كيف يمكن للمحلل أن يكون مفيدًا. لا يمكننا إثبات الموثوقية المطلقة لجميع العمليات الحسابية في المقالة ، لكننا نعتقد أن القارئ سوف يوافق على أفكارنا وهذا سيساعد على اتخاذ قرار بشأن مسألة الحصول على ترخيص.
أولاً ، أردنا تطبيق حاسبة العائد على الاستثمار على الموقع ونشر وصف تفصيلي لمبادئ عملها. ومع ذلك ، بعد إعداد الوصف ، أصبح من الواضح أن الآلة الحاسبة لا لزوم لها. ما يكفي من تلك الجداول التي قدمت في التفسير. لذلك ، قمنا ببساطة بتأطير هذا التفسير في شكل مقال تقرأه الآن. نأمل أن يساعد ذلك في التأكد من أن الاستخدام المنتظم لمحلل الكود الثابت PVS-Studio هو أمر منطقي.
PVS-Studio هي أداة للكشف عن الأخطاء ونقاط الضعف المحتملة في الكود المصدري للبرامج المكتوبة بلغات C و C ++ و C # و Java. إنه يعمل على Windows و Linux و macOS.
دعنا نحسب عائد الاستثمار من استخدام محلل الكود الثابت PVS-Studio في وضع "المشككين" أثناء عملية التطوير ، ثم في إصدار أكثر واقعية.
قيمة ساعة مبرمج
لتحديد مقدار الأموال التي سيعودها برنامج PVS-Studio ، يجب أولاً حساب التكلفة الحقيقية (قيمة) ساعات عمل المبرمج.
الحقيقة هي أنه لا يكفي مجرد أخذ الراتب الشهري للمبرمج وتقسيمه على 160 (متوسط عدد الساعات في شهر 40 ساعة من أسبوع العمل).
أولاً ، يجلب المبرمجون ، مثلهم مثل الموظفين في أي مجال آخر ، أموالاً أكثر مما يتقاضون رواتبهم ، وإلا فإن الشركة ستعمل بسعر أقل. يجب تزويد المبرمجين بمكان عمل ، ودفع الإيجار للمباني ، وشراء ملفات تعريف الارتباط لهم ، وتزويدهم بالإنترنت ، وما إلى ذلك. أوه نعم ، لا تزال هناك مكافآت ، أحزاب الشركات ، مكافآت مختلفة.
في الوقت نفسه ، يجب أن يكون استخدام مبرمجًا مربحًا ، أي أنه يجب عليه تحقيق أرباح صافية بشكل مباشر أو غير مباشر للشركة. في الممارسة العملية ، هذا يعني أن عمل مبرمج ، اعتمادًا على الموقف ، يجلب ما بين 2 إلى 10 أضعاف ما ينفق على راتبه. نؤكد مرة أخرى أن المبرمجين هنا لا يختلفون عن غيرهم من الموظفين. الاستعانة بمصادر خارجية لديها بعض الميزات ، ولكن هذه قصة مختلفة.
بالنسبة للقراء المتشككين ، نأخذ المعامل 2. أي أن المبرمج يجلب أموالا أكثر من مرتين مما ينفق على راتبه. في الواقع ، فإن الشركة التي لديها مثل هذه النسب على وشك الانهيار. من الأصدق أخذ معامل يساوي 3 على الأقل.
ماذا يعني كل هذا؟ إذا سقط المبرمج عن عملية التطوير لمدة ساعة واحدة ، فإن الشركة لم تتلق المبلغ المساوي لساعة عملها ، ولكن مرتين أو ثلاث مرات.
هناك عامل ثان يؤثر على سعر ساعة العمل الحقيقية. والحقيقة هي أن الموظف لا برنامج 8 ساعات في اليوم على الإطلاق. من المستحيل أن نتخيل أن أحدهم قد جاء في الصباح وجلس ، لذلك لمدة 8 ساعات ، من دون توقف ، هو مشغول. يعمل المبرمج مع Trello ، ويشارك في الاجتماعات ، ويجيب على الرسائل في البريد ، ويشارك في مراجعة الكود. في النهاية ، ما زال بحاجة للذهاب إلى المرحاض وشرب الشاي :). في أفضل الأحوال ، ستعمل مباشرة مع الرمز لمدة 6 ساعات. وإذا كنت لا تقرأ هذا النص بالشك ، فأنت تدرك أن 4 ساعات هي في الواقع وقت أكثر تصديقًا.
لذلك اتضح أن تكلفة الساعة تحتاج إلى مضاعفة بالإضافة إلى 8/6 = 1.33 (الوضع المشكك) أو 8/4 = 2 (خيار أقرب إلى الواقع).
الآن نقوم بضرب المعاملتين المعتبرتين ونحصل على المعامل النهائي الذي تحتاج به إلى مضاعفة تكلفة ساعة عمل المبرمج:
- معامل المتشككين: 2 * 1.33 = 2.66
- معامل أقرب إلى الواقع: 3 * 2 = 6
في الممارسة العملية ، ستكون المعاملات أكبر قليلاً ، حيث أننا لا نأخذ الإجازات في الاعتبار في حساباتنا.
دعونا الآن نرى ما يعنيه أن تترك شركة ما مبرمجًا براتب 100000 روبل من سير العمل لمدة ساعة واحدة.
ملاحظة لفهم ذلك ، نلاحظ أنه في الواقع تنفق الشركة أكثر من 100000 روبل على مدفوعات الرواتب. تجدر الإشارة إلى أن الشركة تقدم مساهمات في صناديق مختلفة ("ضرائب الرواتب"). وعلى أيدي بعد خصم 13 ٪ من الضريبة ، يتلقى الشخص 87000 روبل. لتبسيط العمليات الحسابية ، لن نأخذ في الحسبان الخصومات ونفترض أن الشركة تنفق 100000 فقط ، وقررنا ملاحظة ذلك لإظهار أننا لا نجمع البيانات لصالح PVS-Studio.
مع راتب 100،000 روبل ، فإن معدل 1 ساعة من العمل سيكون 625 روبل. اتضح أنه إذا تم تشتيت المبرمج لمدة ساعة واحدة لتصحيح الخطأ ، فلن تكون الشركة قادرة على الربح بسبب هذا:
- للشك: 625 روبل / ساعة * 2.66 = 1660 روبل / ساعة
- في الواقع أكثر من: 625 روبل / ساعة * 6 = 3750 روبل / ساعة
هذه هي القيمة الحقيقية (القيمة) لمدة ساعة واحدة للمبرمج عندما يكون مشغولًا بعمل مفيد.
كم ساعة ينقذ PVS-Studio
من الصعب جدًا تحديد عدد الساعات التي ستوفرها PVS-Studio سنويًا من خلال العثور على الأخطاء في المراحل المبكرة. أخطاء مختلفة جدا. بعض منهم يلاحظ على الفور من قبل مبرمج وتصحيحها على الفور. وأحيانًا يمكن أن يصرف الخلل المبرمج عن الأنشطة المفيدة
لعدة أيام .
لأسباب تجريبية لأحد المشككين ، نقول أن المحلل سيوفر ما لا يقل عن ساعتين من عمل المبرمج أسبوعيًا ، مما يلغي الحاجة إلى البحث عن الأخطاء الموجودة في اختبارات الوحدة أو قسم الاختبار. نعم ، عادةً ما يستغرق إصلاح الخلل بضع دقائق ، لكن محاولات إعادة إنتاج المشكلة والمراسلات في bugtracker واختبار التشغيل والدمج وما إلى ذلك ، ستأكل بسهولة هذه الساعتين.
ما سبق ساعتين هو خيار متشكك ، في الواقع ، قد يكون هناك أكثر من ذلك. بالنظر إلى أنه في بعض الأحيان يمكن للمحلل منع ظهور
أكياس heisenbags شديدة التكاثر ، فمن الممكن تمامًا الإشارة إلى متوسط قيمة 3 ساعات.
هناك حوالي 52 أسبوعًا في السنة. في السنة ، يحفظ المحلل الساعات التالية من عمل مبرمج حقيقي:
- شكوك حول التحليل الساكن: ساعتان * 52 = 104 ساعة موفرة
- موقف إيجابي: 3 ساعات * 52 = 156 ساعة المحفوظة
حان الوقت لحساب العائد على الاستثمار
ثم استخدام PVS-Studio من قبل مبرمج واحد براتب 100000 روبل سيعود إلى العمل في السنة:
- إذا كنت متشككا: 1،660 روبل / ساعة * 104 ساعة = 172،640 روبل
- حقا: 3750 روبل / ساعة * 156 ساعة = 585000 روبل
الآن لنأخذ فريق تطوير نموذجي يتكون من 10 أشخاص. بعد تطبيق PVS-Studio ، يمكننا أن نتوقع أنه بفضل الوقت الذي تم توفيره ، سيتمكن الفريق من أداء عمل مفيد بتكلفة:
- المتشككون: 1726400 روبل
- الواقع: 5 850 000 روبل
الصيغة النهائية
لذلك ، دعونا الآن الجمع بين كل شيء في صيغة واحدة.
يُشار إلى الراتب الشهري للمبرمج باسم S.
يرمز N. عدد المبرمجين في فريق من قبل N.
- الصيغة الخاصة بالشك: N * (S / 160) * 2.66 * 104
- الصيغة الحقيقية: N * (S / 160) * 6 * 156
الآن نقدم في شكل جداول الحسابات لفرق من أحجام أخرى. يعرض الجدول المبلغ المتوقع من المال الذي يمكن لفريق التطوير للشركة أن يربحه إذا كان خلال العام بدلاً من تحرير الأخطاء ، فسيكون مشغولًا في إنشاء شيء جديد. يجب مقارنة هذه الأرقام بتكلفة الترخيص.
وصف الجدول. السطر العلوي: راتب المطور الشهري. العمود الأيسر: عدد المبرمجين في الفريق. خلية الجدول: كم من المال سيكسبه الفريق للشركة خلال العام ، إذا كان بدلاً من تحرير الأخطاء التي يجدها PVS-Studio ، فإنه سينفذ برامج مفيدة.
الجدول للمتشككين:

الجدول N1. متشكك. أحمر: قد يكون استخدام PVS-Studio غير مبرر. الأخضر: استخدام محلل ثابت له ما يبرره ومفيد. الأزرق: استخدام مفيد بشكل واضح.الجدول الحقيقي:

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

إذا كنت ترغب في مشاركة هذا المقال مع جمهور يتحدث الإنجليزية ، فالرجاء استخدام الرابط الخاص بالترجمة: Andrey Karpov.
PVS-Studio ROI .