Ich richte gerne KPIs für meine Engineering-/QA-Teams ein. Ich verwende dies, um die Leistung zu bewerten und bei der Bestimmung des Bonus/der Gehaltserhöhung in jedem Quartal zu helfen.
Dies ist ein KPI, den ich für meine Ingenieure festgelegt habe:
% der Aufgaben, die die QA ohne Fehler bestanden haben
% der Aufgaben, die nach der Bereitstellung ordnungsgemäß funktioniert haben Dieselbe Idee wie oben, aber diese wird für Code behandelt, der tatsächlich live veröffentlicht und von Benutzern verwendet wird
Dies ist ein KPI, den ich für meine QA-Mitarbeiter habe:
Die KPIs für die Ingenieure und das QA-Personal wirken widersprüchlich, oder anders gesagt: Sie wirken wie ein Nullsummenspiel. Was natürlich nicht gut für die Moral der Mitarbeiter ist und Rivalität/Ressentiments hervorrufen würde.
Wie kann ich dies ändern, damit sowohl Ingenieure als auch QA-Mitarbeiter über KPIs verfügen, die sie dazu bringen, zusammen statt gegeneinander zu arbeiten?
Dies ist eine Antwort auf die Antwort von novigt unten sowie in Bezug auf diesen Kommentar zu einem verwandten Beitrag:
Sind die Tester vor einem Build beteiligt? Das heißt, sind sie an der Entwicklung der Anforderungen oder Anwendungsfälle oder Benutzergeschichten, der Überprüfung der Designdokumentation oder der Teilnahme an Codeüberprüfungen beteiligt? ...
Ich dachte mir, dass die richtige und solide Dokumentation von Szenarien ein großer Teil der Bewertung von QA-Personal ist (denken Sie daran, dass ich hier von nicht-technischem QA spreche, das einfach Black-Box-Tests durchführt und keine automatisierten Tests usw. durchführen kann).
Ich stimme zu, dass eine Metrik, die die Gesamtzahl der Fehler berechnet, falsch ist, und ich stimme der Metrik für Vorfälle in der Produktion zu .
Lassen Sie mich meine neue Metrik anhand eines Beispiels erläutern:
Angenommen, ich habe einen einzelnen Anmeldebildschirm (Passwort vergessen/Erinnerung an mich usw., der Kürze halber nicht enthalten), den ich erstellen und bereitstellen möchte. Unter Verwendung der Gherkin-Syntax schreibt der QA-Ingenieur die folgenden Szenarien:
Szenario 1: Happy-Path-Login-
given
Benutzer gibt korrekten Benutzernamen/pwd ein
when
Benutzer klickt auf Login-
then
Benutzer sollte zum Dashboard geleitet werden
Szenario 2: Anmeldefehler
given
Benutzer gibt falschen Benutzernamen/Kennwort ein
when
Benutzer klickt auf Anmeldefehlermeldung
then
zeigt: falscher Benutzername/Kennwort
Diese Dokumentation wird den Ingenieuren (zusammen mit den Entwürfen) im ersten Sprint übergeben , die sie entwickeln, einem Peer-Review unterziehen, sie zum Testen an die Qualitätssicherung zurücksenden und dann in Version 0.0.01 der App bereitgestellt wird.
Einmal auf Prod passiert der folgende Fehler
given
Der Benutzer gibt den richtigen Benutzernamen/pwd ein.
and
Der Server ist ausgefallen. Der when
Benutzer klickt auf die Anmeldung. Der
then
erwartete
Benutzer sollte eine Fehlermeldung erhalten: Der Dienst ist derzeit nicht verfügbar .
Tatsächlich
dreht sich ein Spinner für immer
Hier sind die KPIs/Metriken, die wir für dieses Szenario erfassen:
Metriken als Momentaufnahme geben nicht das ganze Bild wieder, also machen wir weiter:
Im zweiten Sprint aktualisiert das QA-Personal die Dokumentation mit Szenario 3:
Szenario 3: Anmeldung verarbeiten, wenn Server ausgefallen ist
given
Benutzer gibt korrekten Benutzernamen/pwd ein
and
Server ist ausgefallen
when
Benutzer klickt auf Anmeldung
then
Benutzer sollte eine Fehlermeldung erhalten: Der Dienst ist derzeit nicht verfügbar
Die Ingenieure beheben diesen Fehler und stellen ihn in Version 0.0.02 bereit . In der Version tritt dieser Fehler auf:
given
Der Benutzer gibt den richtigen Benutzernamen/pwd ein.
and
Der Benutzer ist nicht mit dem Internet verbunden . Der when
Benutzer klickt auf die Anmeldung. Der
then
erwartete
Benutzer sollte eine Fehlermeldung erhalten: Der Benutzer ist offline .
Tatsächlich
dreht sich ein Spinner für immer
Hier sind die KPIs/Metriken, die wir für dieses Szenario erfassen:
Anzahl der Vorfälle in der Produktion: 1
Steigerungsrate der Szenarien: 33%
Daher verwenden wir die letzten beiden KPIs (Zunahme der Szenarien und Abnahme der Vorfälle in der Produktion) zusammen, um die Leistung einer QA-Person zu bewerten. Die abschließende Bewertung sollte beide KPIs (zusätzlich zu anderen Metriken, die an anderer Stelle besprochen werden können) verwenden, um einen Ingenieur zu bewerten. Auf diese Weise ist die Zunahme von Useless-Case-Szenarien allein nicht positiv, und auch eine Zunahme von Zwischenfällen in der Produktion ohne eine entsprechende Zunahme von Szenarien sollte für den Ingenieur ein Warnsignal sein. Ich weiß, dass man dies auch erreichen kann, indem man umfassende Unit-Tests mit einer Codeabdeckung von >95% usw. durchführt, aber nehmen wir an, wir sind noch nicht so weit.
Gibt es ein Problem damit?
Als Ingenieur übernehme ich jetzt also eine einzelne Aufgabe, grüble 4 Wochen lang darüber nach, stelle sicher, dass sie überhaupt keine Fehler enthält, und ich bin der beste Arbeiter, den Sie je hatten. Obwohl ich für eine so einfache Aufgabe 4 Wochen gebraucht habe.
Auf der anderen Seite haben Sie die QA, die stark darauf angewiesen ist, einen beschissenen Ingenieur zuzuweisen. Je beschissener der Ingenieur, desto mehr Belohnungen erhält die QA. Was passiert, wenn ich ein Produkt von einem guten Ingenieur testen muss? Wird mir ein Plan zur Leistungsverbesserung auferlegt, weil ich nicht genügend Fehler gefunden habe?
Ihre Metriken sind willkürlich und weniger als nützlich. Ihre Leute sind keine Arbeiterdrohnen, sie nutzen ihre Intelligenz, um ihre Arbeit zu erledigen. Beleidigen Sie sie also nicht mit Metriken, die leicht gespielt werden können.
Beginnen Sie zumindest mit dem, was wirklich zählt: Vorfällen in der Produktion . Fehler, die sowohl Ingenieuren als auch QA entgangen sind. Versuchen Sie, diese zu minimieren, und Sie werden sehen, dass Ingenieure und QA eigentlich ein Team sind, das auf dasselbe Endziel hinarbeitet.
Es ist jedoch fraglich, ob es sich für Geheimdienstmitarbeiter lohnt, Metriken zu haben. Noch hat niemand die richtigen gefunden und die falschen können leicht nach hinten losgehen. Wenn Sie irgendetwas auf Ihren KPIs (wie Lob oder Gehalt) basieren, seien Sie darauf vorbereitet, dass die Leute schlau genug sein werden, Sie bei jedem von ihnen auszutricksen. Dann stecken Sie mit Leuten fest, die ihre Arbeit gemacht haben, aber nach den Metriken durchschnittlich aussehen, und Leuten, die das System gespielt haben, anstatt gute Arbeit zu leisten, aber auf Ihrem System großartig aussehen.
nvoigt
abbod
nvoigt
abbod
abbod
nvoigt
abbod
abbod
nvoigt
abbod