Ich muss mich oft mit Kunden oder Benutzern befassen, die Fehler in Anwendungen melden. Meistens ist ihr Inhalt als etwas Nutzloses
- ERROR!!!
- x funktioniert nicht
ohne viel mehr informationen.
Um das Problem zu lösen, muss ich jedes einzelne Detail von ihnen anfordern, was oft zeitaufwändiger ist, als das Problem selbst zu beheben. Andere senden Informationen in nicht idealen Formaten, wie Screenshots (von Datensätzen, nicht von Fehlern), obwohl sie einen Link senden könnten (wir haben Zugriff auf die Systeme) und so weiter.
Wie können Sie Ihre Benutzer / Kunden auffordern, die Probleme detaillierter zu beschreiben, damit der gesamte Prozess für beide Seiten einfacher wird?
bearbeiten
Bei dieser Frage geht es mehr um soziale Kompetenzen als darum, wie eine programmatische Erfassung von Protokollen und Fehlerinformationen erreicht werden kann. Mir ist bewusst, dass dies Teil eines guten Softwaredesigns sein sollte.
quelle
Antworten:
Belohnen Sie Ihre Benutzer für gute Fehlerberichte und bestrafen Sie sie für schlechte (zumindest ein wenig).
Der Benutzer muss verstehen, dass ein guter Fehlerbericht für die schnelle Behebung des Problems von wesentlicher Bedeutung ist und daher auch für ihn von Vorteil ist, da er die Lösung viel schneller erhält.
Die erste Antwort könnte also etwa lauten: "Okay, ich habe Ihren Bericht gelesen, weiß aber nicht, wo ich anfangen soll. Können Sie mir sagen: Ist dies einmal passiert? Ist es ein wiederkehrendes Phänomen? Versuchen Sie es mit X und sagen Sie mir, was Du siehst danach aus? " und so weiter.
Sehr oft, wenn Menschen diese Art von Feedback erhalten, das ihnen sagt, was sie zu tun haben, und ihnen (direkt oder indirekt) sagt, was sie gar nicht gemacht haben, werden sie lernen. Vielleicht nicht sofort, aber je mehr Berichte sie einreichen, desto mehr werden sie (oft unbewusst) vorhersehen, was Sie sie fragen werden, und die Antwort direkt geben.
Ja, dies ist ein schrittweiser Prozess, der erst morgen früh alle Kommunikationsprobleme behebt, aber dennoch ein Anfang ist.
quelle
Eine Sache, die ich bei mehreren Open-Source-Projekten gesehen habe, ist das Erstellen eines Standardformulars für Fehlerberichte mit Abschnitten für häufig benötigte Informationen.
Wenn Sie über eine Fehlerberichts-Site oder -Anwendung verfügen, auf die Ihre Kunden Zugriff haben, prüfen Sie, ob Sie eine leere Version als Standardtext für das Fehlerbeschreibungsfeld festlegen können. Andernfalls platzieren Sie ihn an einer Stelle, an der er sich befindet (oder auf die Sie ihn verweisen können), z. B. auf Ihrer Website oder im Installationsverzeichnis Ihres Produkts.
In Ihrem Fall könnte dies etwa so aussehen:
("Sie" bezieht sich hier auf die Kunden)
Sie sollen ermutigt werden, nützliche Informationen bereitzustellen, indem eine Liste der Informationen bereitgestellt wird, die am häufigsten nützlich sind.
quelle
Normalerweise frage ich sie jedes Mal nach einem Screenshot des Fehlers, und schließlich senden sie mir den Screenshot mit ihrer Fehleranfrage, weil sie wissen, dass ich danach fragen werde.
Ich muss sie gelegentlich immer noch anrufen, um weitere Informationen zu erhalten, aber ich kann das Problem nur anhand des Screenshots erkennen
Aber ich stimme dem Kommentar von @ Mahmoud zu, dass der beste Weg ist, die Anwendung dazu zu bringen, Ihnen Fehler zu senden, anstatt sich auf die Benutzer zu verlassen.
quelle
Die pessimistische Einstellung: Sie können nicht. Es ist die gleiche Situation wie vor 40 Jahren, außer dass es mehr Benutzer, mehr Systeme und mehr Anwendungen gibt.
(Beachten Sie, dass ein Pessimist nur ein Optimist mit Erfahrung ist.)
quelle
Machen Sie es ihnen einfach, oder sie werden es nicht tun.
Machen Sie es am besten so, dass sie einen Fehler so melden können, wie Sie die benötigten Informationen erhalten. Dies bedeutet mit ziemlicher Sicherheit die Automatisierung des Fehlerberichts in der Software.
Eine detaillierte Protokolldatei zu führen und den Fehlerbericht anhängen zu lassen, ist ein Anfang.
quelle
Wenn Sie das Gespräch mit dem Kunden beendet haben, sagen Sie ihm: "Wenn dies das nächste Mal passiert, halten Sie bitte die Datenelemente A, B, C usw. für mich bereit." Dies funktioniert natürlich nur, wenn dieselben Kunden wiederholt zurückrufen. Ich hatte Erfolg mit diesem Ansatz, bei dem die Benutzer bestimmte wichtige Dinge gelernt haben, die a) den Anruf beschleunigen, b) die Gesamtauflösung wesentlich beschleunigen.
Wenn die meisten von ihnen einmalige Anrufer sind, ist es möglicherweise am besten, den "FEHLER!" Bildschirm mit dem Text "Sie müssen die Datenelemente A, B, C, ... erfassen, bevor Sie mit unseren Vertretern sprechen". Dies hängt wirklich davon ab, wie viel Kontrolle Sie über die App haben, so dass dies möglicherweise überhaupt nicht möglich ist. Auch dies ist kein sicherer Weg, aber es wird hoffentlich die Idee in den Kopf des Kunden geraten, dass "ERRORZ PLZ HLP !!!" ist nicht genug.
quelle
Das Problem mit Fehlermeldungen in modernen Anwendungen ist, dass es praktisch unmöglich ist, alle relevanten Kontexte einzuschließen. Von der Prozessorarchitektur bis zur Tageszeit kann alles relevant sein, weshalb sowohl die Fehlerberichterstattung als auch die Fehlerbehandlung mehr Kunst als Wissenschaft sind. Systeme wie
apport-bug
sind insofern nützlich, als sie relevante Informationen sammeln und an Sie weiterleiten. Leider gibt es bis zu den Tagen der Materiereplikatoren, Zeitreisen und Heisenberg-Kompensatoren keine Möglichkeit, sicherzustellen, dass die Informationen, die Sie von Benutzern erhalten, ausreichen, um das Problem zu debuggen oder sogar zu reproduzieren.quelle
Protokollieren Sie alles was Sie brauchen . Wir haben eine fortlaufende Protokolldatei von x mb. Wenn etwas Schlimmes passiert, sendet der Benutzer die Protokolldatei und oft reicht dies aus, um ein Problem zu beheben.
Eine andere Möglichkeit ist die Verwendung eines Remotedesktopclients , um selbst festzustellen, was nicht stimmt. Heutzutage ist das so einfach wie das Herunterladen einer Exe durch den Client.
quelle
Sie müssen gezielte Fragen stellen und diese sehr fordern, um Ihnen alle Antworten zu geben. Manchmal wird ihre Beschwerde über das Problem mit ihren Plänen für das Wochenende, Beschwerden über ihre Lebensgefährten oder dem Wetter vermischt. Versuchen Sie, sie auf dem Laufenden zu halten und fragen Sie sie: "Ok, wenn Sie X tun, aber Y nicht tun, was passiert dann?" Kommentieren Sie die Antworten, damit Sie ein Sequenzdiagramm mit Ereignissen erstellen können, die Sie später erneut aufrufen und debuggen können.
quelle
Sie können etwas Zeit investieren und in der oberen rechten Ecke Ihrer App die rote Schaltfläche "Fehler melden" hinzufügen. Wenn ein Benutzer auf die Schaltfläche drückt, versuchen Sie, einen Screenshot zu erstellen, sammeln Sie alle verfügbaren Protokolle für die Sitzung, öffnen Sie (möglicherweise sinnvoll) die direkte Bildschirmfreigabe für den Benutzerbildschirm, zeigen Sie ihm das einfache Formular und senden Sie die Daten automatisch an Ihren Server.
-Versuchen Sie, einen Benutzer so wenig wie möglich zu fragen, ob Ihre App selbst Daten abrufen kann. Bildschirmauflösung, Betriebssystemversion, Benutzername, Anmeldung, letzte Aktionen und Protokolle
- Weisen Sie einem Benutzer ein Ticket zu und geben Sie ihm einen Link, damit er weiß, dass er den Fehler 1234 auf www.yoursite.issues / 1234 hat
- Fragen Sie einen Benutzer, was er erreichen wollte.
Ich denke, dass dies alles zusammen oder teilweise dazu beitragen kann, dass Sie genügend Daten erhalten und dem Benutzer zeigen, dass er Ihnen helfen kann, Ihre Software noch besser zu machen.
quelle
Am einfachsten ist es, ein Tool zu verwenden, das "versteht", was der Kunde eigentlich will. Es gibt viele Tools, aber das Beste ist vielleicht Usersnap. Sehen Sie diese Geschichte hier.
quelle