PVS-Studio ROI

    PVS-Studio ROI

    Von Zeit zu Zeit wird die Frage gestellt, wie viel Geld das Unternehmen von der Verwendung des PVS-Studio Analyzers profitieren kann. Wir haben uns entschlossen, die Antwort in Form eines Artikels zu formulieren und Tabellen zur Verfügung zu stellen, die zeigen, wie nützlich der Analysator sein kann. Wir können in diesem Artikel nicht die absolute Genauigkeit aller Berechnungen nachweisen, aber wir glauben, dass der Leser unseren Gedanken zustimmen wird, und dies wird helfen, eine Entscheidung über den Erwerb einer Lizenz zu treffen.

    Zunächst wollten wir einen ROI-Rechner auf der Website implementieren und eine detaillierte Beschreibung der Funktionsprinzipien einfügen. Nach der Erstellung der Beschreibung wurde jedoch klar, dass der Rechner überflüssig ist. Genug der Tabellen, die in der Erklärung angegeben wurden. Deshalb haben wir diese Erklärung einfach in Form eines Artikels, den Sie gerade lesen. Es ist zu hoffen, dass der statische Codeanalysator von PVS-Studio regelmäßig verwendet wird.

    PVS-Studio ist ein Tool zum Erkennen von Fehlern und potenziellen Schwachstellen im Quellcode von Programmen, die in C, C ++, C # und Java geschrieben sind. Funktioniert unter Windows, Linux und Mac OS.

    Berechnen Sie die Kapitalrendite aus der Verwendung des statischen Codeanalysators von PVS-Studio im „Skeptic“ -Modus während des Entwicklungsprozesses und dann in einer realistischeren Version.

    Programmierstundenwert


    Um zu ermitteln, wie viel Geld PVS-Studio zurückgibt, müssen Sie zunächst den tatsächlichen Wert (Wert) der Arbeitsstunde des Programmierers berechnen.

    Tatsache ist, dass es nicht ausreicht, das monatliche Gehalt eines Programmierers einfach durch 160 zu dividieren (die durchschnittliche Anzahl von Stunden pro Monat bei 40 Stunden Arbeitswoche).

    Erstens verdienen Programmierer wie auch Angestellte anderer Sparten mehr Geld, als sie ein Gehalt erhalten, ansonsten wird das Unternehmen selbst negativ arbeiten. Programmierer müssen Jobs bereitstellen, Miete für Räumlichkeiten zahlen, Cookies kaufen, sie mit Internet versorgen und so weiter. Oh ja, es gibt immer noch Preise, Firmenfeiern, verschiedene Boni.

    In diesem Fall sollte die Verwendung des Programmierers rentabel sein, das heißt, er sollte direkt oder indirekt den Nettogewinn des Unternehmens einbringen. In der Praxis bedeutet dies, dass die Arbeit eines Programmierers je nach Situation 2-10 mal mehr Geld einbringt, als für sein Gehalt ausgegeben wird. Wir betonen noch einmal, dass sich die Programmierer hier nicht von anderen Angestellten unterscheiden. Einige Funktionen verfügen über Outsourcing, dies ist jedoch eine andere Geschichte.

    Für skeptische Leser nehmen wir den Faktor 2 an. Das heißt, der Programmierer bringt zweimal mehr Geld ein, als für sein Gehalt ausgegeben wird. In der Tat gleicht ein Unternehmen mit solchen Verhältnissen dem Punkt des Break-Even aus. Es ist ehrlicher, einen Koeffizienten von mindestens 3 anzunehmen.

    Was bedeutet das alles? Wenn der Programmierer für 1 Stunde aus dem Entwicklungsprozess ausfiel, erhielt das Unternehmen nicht weniger als die Arbeitsstunden, sondern 2 bis 3 Mal mehr.

    Es gibt einen zweiten Faktor, der den Preis einer echten Arbeitsstunde beeinflusst. Tatsache ist, dass ein Mitarbeiter nicht täglich 8 Stunden programmiert. Es ist unmöglich sich vorzustellen, dass eine Person am Morgen gekommen ist und sich 8 Stunden lang gesetzt hat, ohne anzuhalten, und sich mit dem Code befasst hat. Der Programmierer arbeitet mit Trello zusammen, nimmt an Besprechungen teil, antwortet auf E-Mails und nimmt an der Codeüberprüfung teil. Am Ende muss er noch auf die Toilette gehen und Tee trinken :). Am besten arbeitet es 6 Stunden direkt mit dem Code. Und wenn Sie diesen Text nicht im skeptischen Modus lesen, verstehen Sie, dass 4 Stunden tatsächlich viel realistischer sind.

    Es stellt sich also heraus, dass die Kosten einer Stunde zusätzlich mit 8/6 = 1,33 (Skeptic Mode) oder 8/4 = 2 (einer realitätsnäheren Version) multipliziert werden müssen.

    Nun multiplizieren wir die beiden betrachteten Koeffizienten und erhalten den endgültigen Koeffizienten, mit dem wir die Kosten pro Stunde der Arbeit des Programmierers multiplizieren müssen:

    • Koeffizient für Skeptiker: 2 * 1,33 = 2,66
    • Koeffizient näher an der Realität: 3 * 2 = 6

    In der Praxis werden die Koeffizienten etwas höher sein, da der Urlaub in den Berechnungen nicht berücksichtigt wird.

    Lassen Sie uns nun sehen, was es für ein Unternehmen bedeutet, einen Programmierer mit einem Gehalt von 100.000 Rubel für 1 Stunde aus dem Workflow zu nehmen.

    Hinweis Um das zu verstehen, stellen wir fest, dass das Unternehmen tatsächlich mehr als 100.000 Rubel für Gehaltszahlungen ausgibt. Es sei darauf hingewiesen, dass das Unternehmen Beiträge zu verschiedenen Fonds leistet („Lohnsteuern“). Nach einer Steuer von 13% erhält eine Person 87.000 Rubel. Um die Berechnungen zu vereinfachen, werden wir die Abzüge nicht berücksichtigen und davon ausgehen, dass das Unternehmen nur 100.000 ausgibt.

    Bei einem Gehalt von 100.000 Rubel beträgt die Arbeitszeit 1 Stunde 625 Rubel. Es stellt sich heraus, dass ein Unternehmen, wenn ein Programmierer für 1 Stunde für die Bearbeitung eines Fehlers abgelenkt wurde, aus diesem Grund kein Geld verdienen könnte:

    • für Skepsis: 625 Rubel / Stunde * 2,66 = 1660 Rubel / Stunde
    • in Wirklichkeit mehr als: 625 Rubel / Stunde * 6 = 3750 Rubel / Stunde

    Dies ist der tatsächliche Wert (eine Stunde) des Programmierers, wenn er nützliche Arbeit leistet.

    Wie viele Stunden spart PVS-Studio?


    Es ist sehr schwer zu sagen, wie viele Stunden PVS-Studio pro Jahr sparen wird, um Fehler frühzeitig zu finden. Fehler sind sehr unterschiedlich. Einige werden vom Programmierer sofort bemerkt und sofort korrigiert. Und manchmal kann ein Programmfehler einige Tage lang von einem nützlichen Programm ablenken .

    Aus empirischen Gründen für den Skeptiker sagen wir, dass der Analysator mindestens zwei Stunden Programmierarbeit pro Woche einsparen wird, sodass er nicht nach Fehlern suchen muss, die in Unit-Tests oder in der Testabteilung gefunden wurden. Ja, der Bugfix selbst dauert normalerweise Minuten, aber Versuche, das Problem zu reproduzieren, die Korrespondenz im Bug-Tracker, Testläufe, Zusammenführen usw. führen dazu, dass diese 2 Stunden leicht verzehrt werden.

    Die oben genannten zwei Stunden sind eine skeptische Option, es kann sogar mehr sein. In Anbetracht dessen, dass der Analysator manchmal das Auftreten schwer reproduzierbarer Heisenbags verhindern kann , ist es durchaus möglich, einen Durchschnittswert von 3 Stunden anzugeben.

    Ungefähr 52 Wochen im Jahr. Der Analysator spart die folgenden Stunden der Arbeit dieses Programmierers pro Jahr:

    • Skepsis gegenüber statischer Analyse: 2 Stunden * 52 = 104 Stunden gespart
    • positive Einstellung: 3 Stunden * 52 = 156 Stunden gespart

    Es ist Zeit, den ROI zu nutzen


    Dann kehrt die Verwendung von PVS-Studio durch einen Programmierer mit einem Gehalt von 100.000 Rubel pro Jahr in das Geschäft zurück:

    • Wenn Sie skeptisch sind: 1660 Rubel / Stunde * 104 Stunden = 172 640 Rubel
    • Derzeit: 3750 Rubel / Stunde * 156 Stunden = 585 000 Rubel

    Nehmen wir nun ein typisches Entwicklungsteam von 10 Mitarbeitern. Nach der Implementierung von PVS-Studio können wir davon ausgehen, dass das Team dank der eingesparten Zeit nützliche Arbeiten zu einem günstigen Preis leisten kann:

    • Skeptiker: 1 726 400 Rubel
    • Realität: 5.850.000 Rubel

    Endgültige Formel


    Jetzt lassen Sie uns alles in einer einzigen Formel kombinieren.

    Geben Sie das Monatsgehalt

    des Programmierers als S an. Die Anzahl der Programmierer in einem Team sei N.

    • Die Formel für den Skeptiker: N * (S / 160) * 2,66 * 104
    • Die wirkliche Formel: N * (S / 160) * 6 * 156

    Jetzt geben wir in Form von Tabellen Berechnungen für Teams anderer Größen an. Die Tabelle zeigt den vorhergesagten Geldbetrag, den das Entwicklungsteam für das Unternehmen verdienen kann, wenn im Laufe des Jahres die Fehler nicht bearbeitet werden, sondern etwas Neues erstellt wird. Diese Zahlen sollten mit den Lizenzkosten verglichen werden.

    Beschreibung der Tabelle. Top line: Entwicklergehalt pro Monat. Linke Spalte: Die Anzahl der Programmierer in einem Team. Tabellenzelle: Wie viel Geld verdient das Team im Laufe des Jahres für das Unternehmen mehr Geld, wenn statt der Fehler, die PVS-Studio feststellt, das Programm mit nützlicher Programmierung bearbeitet wird.

    Tabelle für Skeptiker:

    Tabelle N1.  Skeptiker  Rot: Die Verwendung von PVS-Studio ist möglicherweise nicht gerechtfertigt.  Grün: Die Verwendung eines statischen Analysators ist gerechtfertigt und nützlich.  Blau: Verwendung ist definitiv von Vorteil.


    Tabelle N1. Skeptiker Rot: Die Verwendung von PVS-Studio ist möglicherweise nicht gerechtfertigt. Grün: Die Verwendung eines statischen Analysators ist gerechtfertigt und nützlich. Blau: Verwendung ist definitiv von Vorteil.

    Echter Tisch:

    Tabelle N2.  Wirklichkeit  Rot: Die Verwendung von PVS-Studio ist möglicherweise nicht gerechtfertigt.  Grün: Die Verwendung eines statischen Analysators ist gerechtfertigt und nützlich.  Blau: Verwendung ist definitiv von Vorteil.


    Tabelle N2. Wirklichkeit Rot: Die Verwendung von PVS-Studio ist möglicherweise nicht gerechtfertigt. Grün: Die Verwendung eines statischen Analysators ist gerechtfertigt und nützlich. Blau: Verwendung ist definitiv von Vorteil.

    Die zweite Tabelle ist unserer Meinung nach zuverlässig, und es ist vernünftig, dass sie bei der Beurteilung der Wirtschaftlichkeit des Erwerbs einer Lizenz geleitet wird.

    Hinweis


    Natürlich sind die obigen Berechnungen nicht immer angemessen und nicht überall. Wenn beispielsweise die Kosten für Fehler und Schwachstellen für ein Projekt extrem hoch sind, hat es keinen Sinn, den Wert der Verwendung von PVS-Studio mit den Gehältern des Programmierers zu verknüpfen. In solchen Projekten sollten mögliche Geld- und Reputationsverluste geschätzt und bereits bei Verwendung eines Code-Analysators mit einem geringeren Risiko verbunden sein. Dies ist eine andere Geschichte, und wir wissen noch nicht, wie wir sie unter dem Gesichtspunkt von Berechnungen angehen sollen.

    Berechnungen funktionieren möglicherweise auch nicht für Outsourcing-Unternehmen. Das hört sich vielleicht nicht sehr gut an, aber solche Unternehmen sind daran interessiert, so viele Entwicklungs-, Test- und Wartungsstunden wie möglich zu verkaufen. In gewissem Sinne kann die Verwendung des Analysators nur ihren Umsatz reduzieren. Dies wird indirekt durch die Tatsache bestätigt, dass sich unter den Kunden von PVS-Studio keine Outsourcing-Unternehmen befinden. Außerdem können in solchen Unternehmen auf den ersten Blick manchmal merkwürdige Prozesse auftreten. In Zeiten geringer Arbeitsbelastung kann ein Unternehmen auch mit Verlust ein Projekt übernehmen. Dies ist besser als einige Entwickler im Urlaub zu entlassen. Lass sie besser im Geschäft sein und mit etwas beschäftigt sein.

    Die obigen Berechnungen und Tabellen unterscheiden sich übrigens von denen in der englischen Version des Artikels.. Wir müssen eine andere Gehaltsstufe berücksichtigen, bei der sich herausstellt, dass PVS-Studio für fast jedes Team von Nutzen ist. Nun, das ist wahrscheinlich so. Dies wird indirekt durch die Tatsache bestätigt, dass die Vereinigten Staaten und Europa uns viel mehr Aufträge erteilen als Russland, obwohl sie in Russland mehr über uns wissen.

    Fazit


    Obwohl die Berechnungen möglicherweise nicht für alle Unternehmen geeignet sind, hoffen wir, dass wir demonstrieren konnten, wie die Bewertung der Effizienz des Einsatzes von PVS-Studio aus Sicht des gesamten Unternehmens betrachtet werden kann.



    Wenn Sie diesen Artikel mit einem englischsprachigen Publikum teilen möchten, verwenden Sie bitte den Link zur Übersetzung: Andrey Karpov. PVS-Studio ROI .

    Jetzt auch beliebt: