PVS-Studio ROI

PVS-Studio ROI

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

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

PVS-Studio هي أداة مصممة للكشف عن الأخطاء ونقاط الضعف المحتملة في التعليمات البرمجية المصدر للبرامج ، مكتوبة بلغات C و C ++ و C # و Java. إنه يعمل في بيئة Windows و Linux و macOS.

دعونا نحسب عائد الاستثمار من استخدام محلل الكود الثابت PVS-Studio في سياق التطوير - أولاً في "وضع الشك" ، ثم بشكل أكثر واقعية.

قيمة ساعة عمل المطور


لتحديد مقدار الأموال التي سيعود عليها برنامج PVS-Studio ، نحتاج أولاً إلى حساب التكلفة الحقيقية (القيمة) لساعة عمل المطور.

حقيقة الأمر هي أنه لا يكفي مجرد أخذ الراتب السنوي للمطور وتقسيمه بحلول عام 1900 من وقت العمل. بالمناسبة ، يتم اختيار الرقم 1900 التعسفي إلى حد ما. يعتمد عدد ساعات العمل في السنة اعتمادًا كبيرًا على البلد. على سبيل المثال ، يوجد في كوريا الجنوبية خلال العام 2069 ساعة عمل ، في روسيا - 1974 ، في الولايات المتحدة - 1783 وفي المملكة المتحدة - 1676. ومع ذلك ، فإن الرقم 1900 مناسب تمامًا من حيث أسبوع العمل 40 ساعة ، وسوف نستخدم بالضبط هذا الرقم لمزيد من الحسابات.

فلماذا لا يكفي مجرد تقسيم الراتب السنوي بحلول عام 1900؟

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

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

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

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

هناك عامل ثاني يؤثر على سعر ساعة العمل الحالية. حقيقة الأمر هي أن الموظف لا يرمز 8 ساعات في اليوم. من غير المعقول أن يأتي رجل في الصباح وكان يتعامل مع الكود لمدة 8 ساعات طوال يوم العمل. يعمل أحد المطورين مع Trello ، ويشارك في الاجتماعات ، ويستجيب للرسائل في البريد ، ويشارك في مراجعة الكود. في النهاية ، يحتاج إلى الذهاب إلى المرحاض وتناول الشاي :). في أفضل الأحوال ، سوف يعمل مباشرة مع الكود لمدة 6 ساعات. إذا كنت تقرأ هذا النص وليس في "الوضع المتشكك" ، فأنت تفهم ما هو في الواقع 4 ساعات هو وقت أكثر معقولية.

اتضح أن تكلفة الساعة تحتاج إلى ضرب 8/6 = 1.33 (الوضع المتشكك) أو 8/4 = 2 (أقرب إلى الواقع).

والآن ، دعونا نضرب المضاعفين اللذين تمت مناقشتهما ونحصل على المضاعف النهائي ، الذي تحتاج إلى مضاعفة تكلفة ساعة المطور:

  • مضاعف للمتشككين: 2 * 1.33 = 2.66
  • المضاعف ، أقرب إلى الواقع: 3 * 2 = 6

في الممارسة العملية ، ستكون المعاملات أكبر قليلاً ، لأننا لا نأخذ الإجازات في الاعتبار في الحسابات.

دعونا الآن نرى ما يعنيه بالنسبة للشركة عندما يخرج المطور الذي يبلغ متوسط ​​راتبه 74000 دولار في السنة من سير العمل لمدة ساعة واحدة. تم اختيار الكسب السنوي البالغ 74،000 دولار بعد متوسط ​​الراتب في ألمانيا وفقًا لبيانات بوابة StepStone لعام 2018.

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

إذا كان الراتب 74000 دولار ، فإن سعر الساعة سيكون 74000 دولار / 1900 = 39 دولار. اتضح أنه إذا كان أحد المطورين يشتت انتباهه عن إصلاح خطأ لمدة ساعة واحدة ، فلن تتمكن الشركة من كسب:

  • للمتشككين: 39 دولار في الساعة * 2.66 = 103 دولار في الساعة
  • في الواقع أكثر من: 39 دولار / ساعة * 6 = 234 دولار / ساعة

هذه هي التكلفة الحقيقية لساعة واحدة (قيمة) ساعة واحدة للمطور عندما يفعل شيئًا مفيدًا.

كم ساعة يحفظ PVS-Studio


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

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

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

هناك حوالي 50 أسبوعًا في السنة. خلال عام ، يحفظ المحلل العدد التالي من ساعات عمل المطور الحقيقي:

  • موقف متشكك من التحليل الثابت: 2 ساعة * 50 = 100 ساعة موفرة
  • موقف إيجابي: 3 ساعات * 50 = 150 ساعة المحفوظة

حان الوقت لحساب العائد على الاستثمار


ثم باستخدام PVS-Studio ، سيعود مبرمج واحد براتب 74.000 دولار إلى العمل كل عام:

  • إذا كنت متشككا: 103 دولار / ساعة * 100 ساعة = 10.300 دولار
  • الواقع: 234 دولار / ساعة * 150 ساعة = 35.100 دولار.

الآن لنأخذ فريقًا نموذجيًا يتكون من 10 أشخاص. بعد تقديم PVS-Studio ، يمكننا أن نتوقع ، بفضل الوقت الموفر ، أن يتمكن الفريق من أداء عمل مفيد سيكلف:

  • المتشككون: 103،000 دولار
  • الواقع: 351000 دولار

الصيغة النهائية


لذلك ، دعونا الآن توحيد كل هذا في صيغة واحدة.

دعنا نشير إلى الراتب السنوي للمبرمج باسم S.

عدد المطورين في الفريق هو N.

  • الصيغة الخاصة بالشك: N * (S / 1900) * 2.66 * 100
  • الصيغة الحقيقية: N * (S / 1900) * 6 * 150

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

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

الجدول للمتشككين:

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

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

الجدول الفعلي:

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

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

الجدول الثاني ، في رأينا ، صالح ، ومن المعقول أن نأخذ هذا في الاعتبار عند تقييم جدوى الحصول على الترخيص.

ملاحظة


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

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

الخاتمة


لذلك ، على الرغم من أن الحسابات قد لا تكون مناسبة لجميع الشركات ، إلا أننا نأمل أن نتمكن من توضيح كيفية التعامل مع تقييم فعالية استخدام PVS-Studio فيما يتعلق بالأعمال ككل.

Source: https://habr.com/ru/post/ar437962/


All Articles