Sie sind hier:

Entwicklungsindex für die Zusammenarbeit

Schlüsselwort-Tag: Metrikmodell Kontext-Tags: Gemeinschaft, Software, Ökosystem, Mitwirkender

Warum es wichtig ist

Open-Source-Projekte, als typische Manifestation menschlicher Gruppenintelligenz, ist die Fähigkeit, ein kollaboratives Entwicklungsmanagement zu etablieren, ein Schlüsselelement, das zum Erfolg des Projekts beiträgt. Und Code als Endergebnis eines Projekts ist die Essenz des Beitrags der gesamten Community. Wir bewerten also, wie gut der Entwicklungsprozess verwaltet wird und wie gut die Community die kollaborative Entwicklung anhand einer Reihe indirekter Metriken in Bezug auf den Codebeitrag durchführt.

Benutzergeschichten

Als Community-Manager möchte ich den Trend der Softwarequalität bei Versionsänderungen beobachten und was die Ursache (gute oder schlechte Gründe) für diese Änderungen sein kann. Als OSPO oder Programmmanager eines Unternehmens möchte ich mit Communitys zusammenarbeiten, die in der Lage sind, kontinuierlich qualitativ hochwertige Software zu produzieren. Dies ist besonders wichtig, wenn ich mehrere Projekte zur Auswahl habe. Als Benutzer möchte ich qualitativ hochwertige Softwareartefakte auswählen, um die Anforderung zu erfüllen.

Metriken im Metrikmodell

  • Mitwirkende -- Ermitteln Sie, wie viele aktive Ersteller von Änderungsanträgen, Codeprüfer und Commit-Autoren in den letzten 90 Tagen vorhanden waren.
  • Code-Änderungs-Commits
    -- Bestimmen Sie die durchschnittliche Anzahl von Commits pro Woche in den letzten 90 Tagen.
    -- Prozentsatz der Wochen mit mindestens einem Code-Commit in den letzten 90 Tagen.
    -- Prozentsatz der Code-Repositories mit mindestens einem Code-Commit in den letzten 30 Tagen.
  • Überprüfung von Änderungsanforderungen
    -- Prozentsatz der letzten 90-tägigen Code-Commits mit mindestens einem Prüfer, der nicht der Ersteller der Änderungsanforderung ist)
    -- Prozentsatz der Personen, die Änderungsanforderungen zusammenführen, und Personen, die Änderungsanforderungen verfasst haben, die in den letzten 90 Tagen nicht dieselbe Person waren.
  • Technische Gabel
    -- Bestimmen Sie die durchschnittliche Anzahl von Fork-Zählungen pro Woche in den letzten 90 Tagen.
  • Code ändert Zeilen
    -- Bestimmen Sie die durchschnittliche Anzahl berührter Zeilen (hinzugefügte Zeilen plus entfernte Zeilen) pro Woche in den letzten 90 Tagen.

Dateneinblicke

Hintergrund des untersuchten Kontextes

Wir haben zwei Communities ausgewählt, um die Effektivität des Code-Qualitätsgarantie-Metrikmodells zu bewerten. Wir haben diese beiden Communities anonymisiert, um nicht beurteilen zu können, welche Community besser ist. In diesem Beispiel wandeln wir die Ergebnisse einfach in Erkenntnisse um und stellen einen Vergleich zweier Communities bereit, um das Metrikmodell besser zu verstehen. Beide Communities sind Open-Source-Frameworks für maschinelles Lernen. Sie alle haben viele Repositorys in ihrem Projekt, aber in unserem Beispiel haben wir ein Repository für jede Community ausgewählt, die die wichtigste Komponente für das ML-Framework darstellt. Wir haben Community A lila und Community B blau markiert. Beide Communities öffnen ihre Projekte fast gleichzeitig, in der neuesten Boomphase des maschinellen Lernens.

Erkenntnisse aus dem Metrikmodell

Wir haben jede Woche metrische Modellwerte gezählt, der Wertebereich liegt zwischen 0-1. Zu Beginn ist die Punktzahl von Community A viel höher als die von Community B. Die Punktzahl von Community B ist stetig nach oben gestiegen, bis sie im September 2020 die von Community A übertrifft. Zu diesem Zeitpunkt beginnt die Punktzahl von Community A zu sinken. Um tiefere Einblicke zu erhalten, haben wir das Ergebnis jeder Metrik überprüft.

Einblicke in das Metrikmodell

Metrikspezifische Erkenntnisse aus dem Metrikmodell

Anzahl der Mitwirkenden

In dieser Metrik lenken wir die Aufmerksamkeit auf die Gruppe von Mitwirkenden, die innerhalb von Änderungsanforderungen und Code-Commit-Bemühungen geschlossen wurden. Die Anzahl der Mitwirkenden wurde durch Filter auf der weiter untersucht Aktivitätsdaten_und_Zeiten metrisch.

Community A (lila) zieht am Anfang viele Mitwirkende an Änderungswünschen an, die Anzahl ist viel größer als Community B (blau). Aber die Anzahl der Mitwirkenden an Änderungsanträgen in beiden Communities stieg bis etwa September 2020. Von diesem Zeitpunkt an ging die Anzahl der aktiven Mitwirkenden an Änderungsanträgen in Community A zurück. Vielleicht haben die Leute Community A verlassen und sind Community B beigetreten.

Anzahl der Mitwirkenden des Metrikmodells

Commit-Häufigkeit

Wenn wir die Diagramme der Anzahl der Mitwirkenden und der Commit-Häufigkeit zusammen überprüfen, stellen wir fest, dass es starke Korrelationen gibt. Die Commit-Häufigkeit kann anhand einer Aggregation der bestimmt werden code_changes_commits metrisch.

Metrikmodell Commit-Häufigkeit

Ist gewartet

In dieser Metrik haben wir den Prozentsatz der Wochen mit mindestens einem Code-Commit in den letzten 90 Tagen untersucht. Da die von uns ausgewählten Repositories die Schlüsselkomponente sind, stellen wir fest, dass beide Repositories eine hohe Wartungshäufigkeit aufweisen.

Das Metrikmodell wird beibehalten

Commit- und Change-Request-Linked-Ratio

In dieser Metrik würden wir feststellen, dass viele Code-Commits durch Änderungsanforderungen zusammengeführt werden oder ein Pushen zum Hauptzweig erzwingen. Community B hat in den letzten drei Jahren die Transparenz ihrer Code-Beiträge deutlich erhöht, da diese Quote stets über 40 % lag.

Metrikmodell Commitment- und Change-Request-Linked-Ratio

Änderungsanforderung und verknüpfte Probleme

In dieser Metrik führen wir als dritte Referenz eine neue Community C ein, bei der es sich um eine junge Open-Source-Community für maschinelles Lernen handelt, die rot markiert ist. Wir konnten feststellen, dass sowohl Community A als auch Community B keine regelmäßige Regel für Änderungswünsche und Probleme hatten, die in der Beitragsrichtlinie verknüpft waren.

Metrics Model Change Request und verknüpfte Probleme

Code-Review-Verhältnis

Wenn wir die Diagramme der Änderungsanforderungen und Probleme im Zusammenhang mit der Code-Review-Rate überprüfen, können wir ihre starken Korrelationen finden. Aber bedeutet das wirklich, dass Community A und Community B dem Code-Review keine Aufmerksamkeit schenken? Wir sollten auch bedenken, dass sowohl Community A als auch Community B von zwei Unternehmen initialisiert werden, die die meisten Codebeiträge leisten. Bevor sie also Änderungsanforderungen auf der öffentlichen Code-Host-Plattform erstellen, werden wahrscheinlich interne Code-Reviews abgeschlossen.

Metriken Modell Code Review Ratio

Code-Zusammenführungsverhältnis

Es gibt nicht so viele Unterschiede zwischen Community A und Community B, da beide diese Metrik ernst nehmen. Dies kann die Wichtigkeit dieser Metrik in Bezug auf die Codequalitätsgarantie anzeigen.

Metrikmodellcode-Zusammenführungsverhältnis

Zeilen der Codehäufigkeit

Die Anzahl der Quellcodezeilen korreliert stark mit der Arbeitsbelastung, aber weniger mit der Wertschöpfung. Außerdem ist ungewiss, welche Form von Code in Codezeilen gezählt werden kann, da wir uns nicht auf die Codeform konzentrieren, sondern sie nur zur Beschreibung der Arbeitslast verwenden und ihr Gewicht im gesamten metrischen Modell gering ist.

Metrikmodell Zeilen der Codehäufigkeit

Literaturhinweise

Mitwirkende

  • Yehui Wang
  • Liang Wang
  • Chenqi Shan
  • Jun Zhong
  • Matt Germonprez
  • Sean Goggin
  • Vinod Ahuja

Um auf diese Metrik in Software oder Veröffentlichungen zu verweisen, verwenden Sie bitte diese stabile URL: https://chaoss.community/?p=4455

War dieser Artikel hilfreich?
Nicht gefallen 0