Wie gehe ich mit dieser leider nicht hypothetischen Situation bei Endnutzern um?


22

Ich arbeite in einem mittelständischen Unternehmen, aber mit einer sehr kleinen IT-Abteilung.

Letztes Jahr (2011) habe ich eine Anwendung geschrieben, die bei einer großen Gruppe von Endbenutzern sehr beliebt ist. Wir haben eine Frist zum Ende des letzten Jahres erreicht und einige Funktionen (ich werde funcA von jetzt an anrufen) wurden der Anwendung, die ganz am Ende gewünscht wurde, nicht hinzugefügt. Also, diese Anwendung läuft seit Ende 2011 in Live / Produktion, könnte ich ohne Problem hinzufügen.

Gestern hat sich eine ganze Gruppe von Endbenutzern darüber beschwert, dass eine Funktion, die nie in der Anwendung enthalten war, nicht mehr funktioniert. Unsere Priorität in diesem Unternehmen besteht darin, dass eine fehlerhafte Anwendung vor priorisierten Projekten behoben werden muss.

Ich habe Code und Abfragen verglichen und es gibt keinen Unterschied seit 2011, was proofA ist. Ich konnte dann einen der Endbenutzer dazu bringen, zuzugeben, dass es nie funktioniert hatB, aber seitdem ist dieser Endbenutzer zurückgegangen und hat gesagt, dass es zuvor funktioniert hat ... Ich glaube, die Horde von Endbenutzern hat sich assimiliert ihr. Ich habe auch meine Notizen zu diesem Projekt durchgesehen, in denen Anforderungen und tägliche Aktualisierungen zum Projekt aufgeführt sind, in denen konkret heißt: "FuncA wurde aus zeitlichen Gründen nicht erreicht", ProofC.

Ich habe mit vielen von ihnen gesprochen und ich kann sehen, wo sie verwirrt sein könnten, da sie sehr weit von einem Programmierhintergrund entfernt sind, aber ich weiß auch, dass sie intelligent genug sind, um in einer Gruppe zu agieren, um Projektpriorisierungsbefehle zu umgehen und zu erhalten Funktionalität, die ihnen die Arbeit erleichtern soll.

Das Schlimmste ist, dass jetzt Gruppendenken einsetzt und mein Chef und der Leiter der IT tatsächlich anfangen, ihnen zu glauben, obwohl es keine Code- oder Abfrageänderungen gibt. Was den Zustand der Logik angeht, so ist sie sehr kurz und trocken, bis 1 = 1, und funcA funktioniert nicht.

Das ist also das Ende der Beschreibung meines Szenarios, aber ich versuche, mich nicht ernsthaft von meinen Leistungsmetriken zu befreien, was mich dazu veranlasst hätte, ein Produktionsproblem zu beheben, das wahrscheinlich nicht existiert und das die Kontrolle übernehmen wird 1 Monat.


1
Wir sind kein Forum im herkömmlichen Sinne, wir sind eine Q & A-Site, die nach beantwortbaren Fragen sucht. Rants, Umfragen und Diskussionen passen im Allgemeinen nicht zu unserem Format.
maple_shaft

12
@maple_shaft: Ich bin anderer Meinung. Dies ist eine ernste Frage, die nach einem Weg sucht, um mit einem echten Problem umzugehen, das auftritt, wenn es um weniger als überzeugende Endbenutzer geht. Wir haben es alle gesehen und waren frustriert, nicht wahr? Ideen für den Umgang mit solchen Szenarien passen daher sehr gut zum Format dieser Site.
Mason Wheeler

1
Ist es nicht möglich, dass es eine Antwort auf diese Frage gibt? Wer wird die Beobachter beobachten?
User Smith

2
Zum Nutzen anderer, die dies lesen, ist dieser Fall eine weitere Lehre für diejenigen von uns, die glauben, dass Dokumentation zweitrangig ist und dass die Anforderungen an das Singen nicht wichtig sind.
NoChance

1
"nichts hat sich geändert" berühmte letzte Worte.
JeffO

Antworten:


18

Streitigkeiten über leicht beobachtbare Tatsachen sind eigentlich recht leicht zu lösen: Beobachten Sie einfach die Tatsachen. Wenn ich sage "Es gibt einen Baum mit lila Holz außerhalb meines Hauses", kann jeder, der in mein Haus kommen kann, die Wahrheit oder Falschheit meiner Aussage für sich selbst überprüfen.

Wenn sie sich beschweren, dass FuncA in dem Produkt enthalten war und in einer früheren Version funktioniert hat und es jetzt nicht mehr funktioniert und Sie glauben nicht, dass es jemals in dem Produkt enthalten war, bitten Sie sie, es zu beweisen. (Oder, in sanfteren Worten, sagen Sie etwas wie "Wir haben Probleme, das Problem zu reproduzieren. Können Sie uns hier raushelfen?")

Geben Sie ihnen eine Kopie der früheren Version, falls sie noch keine haben, und laden Sie sie in ein LiveMeeting. Lassen Sie sich zeigen, wie sie FuncA verwendet haben. Wenn sie es nicht schaffen, stellen sie (hoffentlich) fest, dass es dort nicht vorhanden war, und bringen Sie Ihre Argumentation zum Abschluss, oder versuchen Sie zumindest eine andere Taktik, um es umzusetzen. (Und stellen Sie sicher, dass Sie jemanden vom Management oder von der PM für das LiveMeeting gewinnen.)


Sie haben einen Screenshot des Beweises gezeigt, den ich erklären kann, aber es ist nur ein Teil, so dass die Details des Szenarios so sind, wie sie sagen, dass sie nicht wirklich über den Screenshot definiert sind. Im Grunde kommt es darauf an, dass MGMT sich der Logik nicht sehr bewusst ist und an diesem Punkt das Wort einer ganzen Abteilung gegen einen niedrigen Programmierer ist. (Auch die vorherige Version entspricht dem ursprünglichen Rollout im Jahr 2011)
User Smith,

3
@UserSmith: Deshalb habe ich gesagt, ein LiveMeeting zu verwenden. Es ist schwieriger, die Vorgänge zu verwechseln, wenn man sie tatsächlich mit Zuschauern durchführen muss.
Mason Wheeler

1
Diese Antwort bietet eine viel bessere Definition des Beweises als "der Endbenutzer sagt es" oder "ich habe den Code gelesen". Halten Sie inne und denken Sie an die letzten 10 Male, in denen Sie als Programmierer völlig verblüfft waren, dass Sie sich so irren könnten, obwohl Sie im Code auf 1 = 1 gestarrt haben (wenn es eigentlich 1 == 1 hätte sein sollen, z. B.). Wenn Sie den Beweis in Bezug auf das "Lesen von Code" als einen fehleranfälligen Menschen ansehen, sollten Ihre Leistungsmetriken ehrlich gesagt einen Treffer erzielen. @MasonWheeler hat Ihnen eine genauere und ansprechendere Erkenntnistheorie vorgeschlagen, die Sie unbedingt befolgen sollten.
Djechlin

In Verhandlungen gibt es den Spruch "Wenn Sie sich verteidigen müssen, haben Sie bereits verloren". Tatsachenbeweis ist die ultimative Form der Verteidigung - in der Regel nicht zu empfehlen, auch dann, wenn es kurz ist - weniger ist mehr.
Mattnz

1
Als Antwort markiert wahrscheinlich die konkreteste Antwort. Obwohl ich vor dem Posten dieser Frage bereits Live-Meetings durchgeführt hatte. Dazu noch ein paar andere, die teilweise gute Antworten waren. Um ehrlich zu sein, meine Messdaten interessieren mich derzeit nicht. Es ist vielmehr die Tatsache, dass die grundlegende Struktur unserer IT-Organisation in einem Zustand des Durcheinanders ist, der mich sogar beunruhigt.
User Smith

13

Dies ist kein Problem, mit dem sich Tatsachen befassen können - wenn Sie es versuchen, verlieren Sie die Glaubwürdigkeit.

Akzeptieren Sie zunächst, dass die Software "defekt" ist, da sie nicht das tut, was die Benutzer von ihr erwarten. Akzeptieren Sie nun, dass die Benutzer das Recht haben, die Software das tun zu lassen, was sie wollen - das ist also die Software. Wir haben also eine defekte Software und einen Ingenieur, der sich weigert, sie zu reparieren.

Wenn das von Ihnen ausgeführte System Prioritäten festlegt, können diese Benutzer ihre Software nicht über die normalen Kanäle reparieren. Daher verwenden sie Seitenkanäle und eskalieren die halben Wahrheiten in der Lebensmittelkette, um zu versuchen, das System zu manövrieren In der Zwischenzeit sehen Ihre KPIs schlecht aus (Ihr Hauptanliegen sollten die Kunden sein, nicht Ihre KPIs). - Ihre KPIs werden als "Kollateralschaden" angesehen, wenn sie Sie mögen, oder als vorteilhafte Nebenwirkung, wenn sie dies nicht tun. Sie haben jedoch eine gewisse Kontrolle darüber, wie viel passiert - am liebsten mögen sie Sie.

Was also passiert, ist, dass das System kaputt ist und jeder versucht, Dinge zu manipulieren, um das zu bekommen, was er will. Sie möchten eine Funktion, und Sie möchten Ihre makellosen KPIs behalten.

Wenn Sie das System nicht reparieren oder schnell lernen können, Büropolitik zu betreiben, ist das Spiel zu Ende: Sie verlieren.

Hinweis: Keine dieser Diskussionen beinhaltet Deadlines, Bug-vs-Feature-Diskussionen, wer zahlt usw. Dies sind Fakten - und Fakten spielen keine Rolle (na ja, sie funktionieren irgendwie, aber sie können auf so viele Arten manipuliert werden ... ) in der Büropolitik.


1
Wie können Sie die Glaubwürdigkeit verlieren, wenn Sie beweisen können kann?
Thomas Eding

3
@ThomasEding Glaubwürdigkeit in der Geschäftswelt hängt mehr davon ab, wie andere Sie wahrnehmen, als von Fakten. Wenn Sie ein Ziel werden, schützt Sie keine Menge von Fakten. Wie viele Rockstar-Entwickler haben Sie getroffen, bei denen es sich um Betrug handelte? Ich habe mehr getroffen, als ich jemals zugeben möchte.
maple_shaft

2
Ich würde einem guten Teil davon zustimmen, es ist definitiv eine Form der Büropolitik. Wenn ich auf eine Situation stoße, denke ich, dass die erste Maßnahme darin besteht, mit den Fakten umzugehen. Sie haben mich also irgendwie verloren, aber ich stimme zu, dass Kunden an erster Stelle stehen, bis Sie natürlich entlassen werden. +1 für eine andere Einstellung zur Situation. +1
User Smith

2
Beschwere dich niemals, erkläre niemals. Streiten lässt dich schwach aussehen. Höfliche Anfragen zu hören ist gut. Es ist gut zu sagen, dass Sie ihre Bitte mit Ihrem Chef um Priorität besprechen. Wenn Sie argumentieren, dann tun Sie, worüber sie geschrien haben, es verstärkt ihr unangenehmes Verhalten. Wenn sie eskalieren, erzwingt die Positionsmacht Ihres Chefs Höflichkeit. Ihr Chef kann Ihnen diplomatisch seine Wahl für Ihre Zeit erklären. Es zeigt auch, dass sie nicht der Boss von dir sind. Wenn Sie das Problem in aller Ruhe mit Ihrem Chef besprechen, hören Sie möglicherweise Wörter wie "Keine Sorge, ich habe Ihren Rücken". Konzentrieren Sie sich, stellen Sie Produkte her, Rants werden aufhören.
DeveloperDon

@ thomas Fragen Sie jeden unschuldigen Angeklagten, ob ein besonders sittenwidriges Verbrechen
vorliegt

9

Organisatorisch spüre ich ein Problem.

Es gibt eine Hierarchie, die den IT-Leiter und Ihren Chef umfasst. Wenn Ihre Organisation traditionell ist (es klingt nicht so, als wäre sie agil), sind Sie eine Ressource und sie sind Ressourcenmanager. Sie haben einen Vollzeitjob, der als Softwareentwicklung bezeichnet wird. Wenn Endbenutzer Funktionen direkt anfordern, Prioritäten festlegen und versuchen, Ihre Zeit zu verwalten, sind Ihre Manager redundant. Sie sind möglicherweise gegenüber Endbenutzern rechenschaftspflichtig, aber wenn sie ihre Arbeit tun, sind Sie ihnen gegenüber rechenschaftspflichtig und müssen Sie vor dem Verlassen schützen fokussierten Entwicklermodus in den defensiven Entwicklermodus überzugehen.

Ein paar Punkte, um den Kontext meiner Antwort festzulegen:

  • Softwareentwickler sind keine Zeitreisenden, daher müssen die Ergebnisse danach beurteilt werden, was sie sind und nicht danach, was sie gewesen sein könnten.
  • Wenn eine Funktion in einer Anforderungsspezifikation, einem Zeitplan enthalten war und Vorrang vor der abgeschlossenen Arbeit hatte, liegt möglicherweise eine berechtigte Beschwerde vor. Was ist sonst die Rechtfertigung, Sie zur Rechenschaft zu ziehen?
  • Ihre Strafe muss, wenn sie verdient ist, von Ihrer Befehlskette kommen. So wie Marketing und Vertrieb es nicht mögen würden, wenn die Produktentwicklung Kunden schimpfen würde, haben die meisten Unternehmen Produktmanager, die den Zorn (und das Lob) der Kunden entgegennehmen und ihn über Kanäle verbreiten.
  • Produktmanager können äußerst schwierige Beziehungen aufbauen, wenn sie die Wärme erfolgreicher Teile von Projekten genießen, aber nur dann die Peitsche knacken, wenn sie sich Entwicklern stellen.
  • Wenn Sie ein funktionsfähiges Produkt mit einem Arbeitsvolumen von einem Jahr geliefert haben und es einen Monat (oder zwei) dauert, um die gewünschte Funktion hinzuzufügen, war Ihre Einschätzung überdurchschnittlich.
  • Eine faire und produktive Lösung des Problems erfordert, dass die Schuldigen die Finger in die Tasche stecken und einen Plan für das weitere Vorgehen erstellen.

Sie werden in der Lage sein, qualitativ hochwertigere Arbeit mit höherer Motivation zu leisten, wenn Sie geschätzt werden, anstatt die Ziege in einem Prozess zu sein, den der IT-Leiter besitzen sollte. Es ist der faire Weg und der produktive Weg. Ich hoffe, Sie werden auf diese Weise verwaltet, und irgendwann in der Zukunft hoffe ich, dass Sie andere auf diese Weise verwalten.


DevDon, ich wünschte, dies wäre die Antwort 1, da ich denke, dass dies ein großer Teil unseres Problems ist. Unsere IT-Struktur für dieses Szenario ist äußerst willkürlich. +1
User Smith

1

Im Falle eines solchen Versagens in der Realität ist es am besten, sich vorwärts zu bewegen. Anstatt über die Vergangenheit zu streiten, sprechen Sie darüber, wie einfach oder schwierig dies sein wird. Es spielt keine Rolle, ob das Problem behoben oder zum ersten Mal implementiert wird. Wenn das Management möchte, dass A erledigt wird, bevor B es schafft.


Das stimmt natürlich, aber wenn der Endbenutzer herausfindet, dass er das System auf diese Weise manipulieren kann, wird sich mein Unternehmen in einer ernsthaften Abwärtsneigung befinden, wenn dies so weitergeht, wie Ressourcen auf diese Weise verwendet werden, anstatt für die strategische Gesamtunternehmensstrategie verwendet zu werden Richtlinien, die das Unternehmensergebnis entscheidend beeinflussen.
User Smith

0

Sind Sie der einzige Entwickler, der an diesem Projekt gearbeitet hat? Klingt so, als hättest du jemandem geantwortet, als du das Projekt erstellt hast. Wo ist diese Person in all dem? Wo steht in der Dokumentation des Projekts, was geliefert wurde?

Es sollte eine Dokumentenpapierspur geben. Ein Trainingsdokument, das die Verwendung der Anwendung zeigt. Eine funktionale Spezifikation, die beschreibt, was entwickelt wurde. Wenn ein Feature nicht enthalten war, sollte es auch eine Dokumentation dazu geben. Jemand hätte sich abmelden müssen, um zu sagen, dass er das akzeptiert.

Es sollte nicht dein Wort gegen ihr sein, es sollte alles in der Dokumentation sein.

Wenn Sie diese Dokumentation nicht haben ... dann fürchte ich, müssen Sie diese beißen. Betrachten Sie es als eine Lektion fürs Leben. Am Ende des Tages sind Ihre Benutzer Ihre Kunden, und wie das Sprichwort sagt: Der Kunde hat immer Recht. Legen Sie fest, wie und wie lange diese Funktion hinzugefügt werden soll. Nehmen Sie an einem Meeting teil und sagen Sie etwas in Anlehnung an „Unsere Unterlagen zeigen, dass dieses Feature nie implementiert wurde, aber wir können es in x Wochen umsetzen. Sollen wir einen Kopf gehen? '

Und aus Liebe zu allem, was heilig ist ... besorgen Sie sich die Dokumentation, die Sie benötigen, um zu zeigen, dass sie genehmigt wurde.


Ja, ich war der einzige, der an diesem Projekt gearbeitet hat. Es gibt eine Dokumentation mit täglichen Updates, die ich in meiner Frage als proofC bezeichnet habe.
User Smith

@UserSmith ~ Ich habe das eher als tägliche Statusaktualisierung verstanden. Das ist nicht wirklich die Dokumentation, über die ich gesprochen habe. Hat sich jemand für das Endprodukt abgemeldet? Gibt es Schulungen oder Bewerbungsunterlagen, die Sie dem Endbenutzer oder dem Anspruchsberechtigten gegeben haben?
Tyanna

Unglücklicherweise nicht. Es gab Training, aber nur sehr kurze Trainingszeiten. Es gibt eine Anwendungsdokumentation, die jedoch das Fehlen dieser Funktionalität nicht abdeckt. Bei den täglichen Aktualisierungen handelt es sich im Grunde genommen um ein Journal-Tool, mit dem wir anfängliche, tägliche und endgültige Beschreibungen der Ereignisse in einem Projekt beschreiben.
User Smith
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.