Von Zeit zu Zeit werden wir gefragt, welchen finanziellen Nutzen das Unternehmen aus der Verwendung des PVS-Studio-Analysegeräts ziehen wird. Ich habe mich entschlossen, einen ROI-Rechner auf der Website zu implementieren und eine detaillierte Beschreibung der Funktionsprinzipien zu veröffentlichen. Aber zuerst habe ich beschlossen, meine Gedanken und Berechnungen zur Diskussion zu stellen. Ich hoffe, interessante und nützliche Kommentare zu erhalten, die dazu beitragen, den Rechner so zuverlässig und überzeugend wie möglich zu gestalten.
Wir bieten Ihnen eine Beschreibung eines Taschenrechners, mit dem Sie den Return on Investment aus der Verwendung des statischen Code-Analysators PVS-Studio während des Entwicklungsprozesses berechnen können.
Neue Version des Artikels: RU , EN .
|
Der Standardrechner befindet sich im skeptischen Modus. Wir hoffen jedoch, dass Sie nach dem Lesen des Artikels zustimmen, dass es korrekter ist, in den Modus zu wechseln: Ich vertraue den im Artikel „PVS-Studio ROI“ beschriebenen Berechnungen :).
Programmierstundenwert
Um zu bestimmen, wie viel Geld PVS-Studio zurückgibt, müssen Sie zunächst die tatsächlichen Kosten (den Wert) der Arbeitsstunde des Programmierers berechnen.
Tatsache ist, dass es nicht ausreicht, nur das monatliche Gehalt eines Programmierers durch 160 zu dividieren (die durchschnittliche Anzahl von Stunden pro Monat mit einer 40-Stunden-Woche).
Erstens bringen Programmierer wie Mitarbeiter in anderen Bereichen mehr Geld ein, als sie bezahlt bekommen, sonst arbeitet das Unternehmen für sich selbst in den roten Zahlen. Programmierer müssen mit einem Arbeitsplatz ausgestattet sein, Miete für Räumlichkeiten zahlen, Cookies für sie kaufen, ihnen das Internet zur Verfügung stellen und so weiter. Oh ja, es gibt immer noch Boni, Firmenfeiern, verschiedene Boni.
Gleichzeitig sollte der Einsatz eines Programmierers rentabel sein, dh er muss direkt oder indirekt einen Nettogewinn für das Unternehmen erzielen. In der Praxis bedeutet dies, dass die Arbeit eines Programmierers je nach Situation zwei- bis zehnmal mehr Geld bringt, als für sein Gehalt ausgegeben wird. Ich betone noch einmal, dass sich Programmierer hier nicht von anderen Mitarbeitern unterscheiden. Outsourcing hat einige Funktionen, aber das ist eine andere Geschichte.
Für skeptische Leser nehmen wir den Koeffizienten 2. Das heißt, der Programmierer bringt zweimal mehr Geld ein, als für sein Gehalt ausgegeben wird. Tatsächlich steht ein Unternehmen mit solchen Verhältnissen kurz vor der Gewinnschwelle. Es ist ehrlicher, einen Koeffizienten von mindestens 3 zu nehmen.
Was bedeutet das alles? Wenn der Programmierer 1 Stunde lang aus dem Entwicklungsprozess ausfiel, erhielt das Unternehmen nicht den Betrag, der der Arbeitsstunde entspricht, sondern zwei- oder dreimal mehr.
Es gibt einen zweiten Faktor, der den Preis einer realen Arbeitsstunde beeinflusst. Tatsache ist, dass ein Mitarbeiter überhaupt nicht 8 Stunden am Tag programmiert. Es ist unmöglich sich vorzustellen, dass eine Person, wie sie am Morgen kam und wie sie sich setzte, 8 Stunden lang mit dem Code gearbeitet hat, ohne anzuhalten. Der Programmierer arbeitet mit Trello zusammen, nimmt an Besprechungen teil, antwortet per E-Mail und nimmt an der Codeüberprüfung teil. Am Ende muss er noch auf die Toilette gehen und Tee trinken :). Im besten Fall funktioniert es 6 Stunden lang direkt mit dem Code. Und wenn Sie diesen Text nicht skeptisch lesen, verstehen Sie, dass 4 Stunden tatsächlich eine viel glaubwürdigere Zeit sind.
Es stellt sich also heraus, dass die Kosten einer Stunde zusätzlich mit 8/6 = 1,33 oder 2 multipliziert werden müssen.
Jetzt multiplizieren wir die beiden berücksichtigten Koeffizienten und erhalten den endgültigen Koeffizienten, mit dem Sie die Kosten für die Arbeitsstunde 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 sind die Koeffizienten etwas größer, da wir Urlaub bei unseren Berechnungen nicht berücksichtigen.
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 auszuschließen.
Hinweis Zum Verständnis stellen wir fest, dass das Unternehmen tatsächlich mehr als 100.000 Rubel für Gehaltszahlungen ausgibt. Es ist zu beachten, dass das Unternehmen Beiträge zu verschiedenen Fonds leistet („Lohnsteuern“). Und auf Händen nach Abzug von 13% der Steuer 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. Ich habe mich dazu entschlossen, dies zu vermerken, um zu zeigen, dass ich nicht zugunsten von PVS-Studio runde.
Bei einem Gehalt von 100.000 Rubel beträgt die Arbeitszeit von 1 Stunde 625 Rubel. Es stellt sich heraus, dass das Unternehmen aus diesem Grund nicht verdienen kann, wenn der Programmierer 1 Stunde lang abgelenkt wurde, um den Fehler zu beheben:
- für einen Skeptiker: 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 (Wert) einer Stunde des Programmierers, wenn er mit nützlicher Arbeit beschäftigt ist.
Wie viele Stunden spart PVS-Studio?
Es ist sehr schwer zu sagen, wie viele Stunden pro Jahr PVS-Studio durch frühzeitiges Auffinden von Fehlern einspart. Fehler sind sehr unterschiedlich. Einige von ihnen werden vom Programmierer sofort bemerkt und sofort korrigiert. Und manchmal kann ein Fehler den Programmierer für
mehrere Tage von nützlichen Aktivitäten ablenken.
Aus empirischen Gründen für einen Skeptiker sagen wir, dass der Analysator mindestens 2 Stunden pro Woche für einen Programmierer einspart, sodass nicht mehr nach Fehlern gesucht werden muss, die durch Unit-Tests oder die Testabteilung gefunden wurden. Ja, das Beheben des Fehlers dauert normalerweise Minuten, aber Versuche, das Problem zu reproduzieren, Korrespondenz im Fehlercracker, Testläufe, Zusammenführungen usw. werden diese 2 Stunden leicht verschlingen.
In Anbetracht dessen, dass der Analysator manchmal das Auftreten von schwer reproduzierbaren
Heisenbags verhindern kann , ist es durchaus möglich, einen Durchschnittswert von 3 Stunden anzugeben.
Ein Jahr hat ungefähr 52 Wochen. In einem Jahr spart der Analysator die folgenden Stunden echter Programmiererarbeit:
- 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 zählen
Dann wird die Verwendung von PVS-Studio durch einen Programmierer mit einem Gehalt von 100.000 Rubel pro Jahr wieder in Betrieb genommen:
- Wenn Sie ein Skeptiker sind: 1.660 Rubel / Stunde * 104 Stunden = 172.640 Rubel
- Wirklich: 3750 Rubel / Stunde * 156 Stunden = 585.000 Rubel
Nehmen wir nun ein typisches Entwicklungsteam von 10 Personen. Nach der Implementierung von PVS-Studio können wir davon ausgehen, dass das Team dank der Zeitersparnis nützliche Arbeiten zu folgenden Kosten ausführen kann:
- Skeptiker: 1.726.400 Rubel
- Realität: 5 850 000 Rubel
Endgültige Formel
Kombinieren wir nun alles zu einer einzigen Formel, die im Taschenrechner verwendet wird.
Bezeichnen Sie das monatliche Gehalt des Programmierers als S.
Die Anzahl der Programmierer in einem Team wird mit N angegeben.
- Die Formel für den Skeptiker: N * (S / 160) * 2,66 * 104
- Reale Formel: N * (S / 160) * 6 * 156
Jetzt präsentieren wir in Form von Tabellen Berechnungen für Teams anderer Größen. Die Tabelle zeigt den prognostizierten Geldbetrag, den das Entwicklungsteam des Unternehmens verdienen kann, wenn es anstelle der Bearbeitung von Fehlern damit beschäftigt ist, etwas Neues zu erstellen. Diese Zahlen sollten mit den Lizenzkosten verglichen werden.
Obere Zeile: Anzahl der Programmierer im Team. Linke Spalte: Gehalt der Entwickler.
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: Die Verwendung ist eindeutig vorteilhaft.Echter Tisch:

Tabelle N2. Realität Rot: Die Verwendung von PVS-Studio ist möglicherweise nicht gerechtfertigt. Grün: Die Verwendung eines statischen Analysators ist gerechtfertigt und nützlich. Blau: Die Verwendung ist eindeutig vorteilhaft.Die zweite Tabelle ist meiner Meinung nach zuverlässig, und es ist vernünftig, sich bei der Beurteilung der wirtschaftlichen Machbarkeit des Erwerbs einer Lizenz anleiten zu lassen.
Hinweis
Natürlich sind die obigen Berechnungen nicht immer und nicht immer relevant. Wenn beispielsweise der Preis für Fehler und Schwachstellen für ein Projekt extrem hoch ist, macht es keinen Sinn, den Wert der Verwendung von PVS-Studio mit den Gehältern eines Programmierers zu verknüpfen. In solchen Projekten sollten mögliche Geld- und Reputationsverluste bewertet werden und sollten bereits mit einer Risikominderung bei Verwendung eines Code-Analysators verbunden sein. Dies ist eine separate Geschichte, und ich weiß noch nicht, wie ich sie unter dem Gesichtspunkt der Berechnungen angehen soll.
Außerdem funktionieren Berechnungen möglicherweise nicht für Outsourcing-Unternehmen. Das hört sich vielleicht nicht sehr gut an, aber solche Unternehmen sind daran interessiert, so viele Stunden wie möglich für Entwicklung, Test und Wartung zu verkaufen. In gewissem Sinne kann die Verwendung eines Analysegeräts nur den Umsatz reduzieren. Dies wird indirekt durch die Tatsache bestätigt, dass es unter PVS-Studio-Kunden keine Outsourcing-Unternehmen gibt. Außerdem können in solchen Unternehmen manchmal auf den ersten Blick seltsame Prozesse auftreten. Ein Unternehmen in einer Zeit geringer Arbeitsbelastung kann ein Projekt übernehmen, selbst wenn es einen Verlust hat. Dies ist besser, als einige Entwickler in den Urlaub fahren zu lassen. Lassen Sie sie besser arbeiten und mit etwas beschäftigt sein.
Fazit
Obwohl die Berechnungen möglicherweise nicht für alle Unternehmen geeignet sind, hoffe ich, dass ich zeigen konnte, wie ich die Bewertung der Wirksamkeit der Verwendung von PVS-Studio aus Sicht des gesamten Unternehmens angehen kann.