Der Manager fordert eine Aufgabe an, die ich für unnötig halte

Hintergrund

Ich arbeite als Entwickler in einer Softwareentwicklungsabteilung mit drei anderen Entwicklern und einem Manager. Wir haben eine Desktop-Anwendung, die ständig an die Bedürfnisse der Kunden angepasst wird.

Problem

Kürzlich bat einer unserer Kunden um eine Änderung an einer Funktion, die bereits im Produkt vorhanden ist. Es erfordert noch ein paar Mausklicks, um die Arbeit zu erledigen.

Mein Vorgesetzter möchte, dass diese Änderung auf Wunsch des Kunden implementiert wird.

Ich habe ein paar Mal deutlich erklärt, dass wir diese Funktion bereits haben und sie gut funktioniert. Außerdem habe ich die technischen Auswirkungen der Änderung der Funktionalität erläutert. Mein Vorgesetzter möchte, dass ich mit der Änderung gemäß den Anforderungen des Kunden fortfahre.

Frage

Wie soll ich vorgehen?

Soll ich die Situation nochmal erklären? Oder vielleicht einen anderen Job suchen? Oder sollte ich meinem Vorgesetzten sagen, dass er helfen soll, wenn es so einfach ist?

AKTUALISIEREN

Jede Antwort auf diese Frage hat mir eines klar gemacht: Ich muss meine Einstellung ändern.

Wie fast alle betonten: Ich bin nicht der Manager, solange ich meinem Manager die technischen Nachteile einer Anfrage mitteile, sollte ich nicht urteilen. Außerdem wäre eine Kündigung eine vorübergehende Lösung, da das Problem in meiner Einstellung zum Job und zum Vorgesetzten liegt.

Herzlichen Glückwunsch zur richtigen Schlussfolgerung!

Antworten (9)

Mein Vorgesetzter möchte, dass ich mit der Änderung gemäß den Anforderungen des Kunden fortfahre.

Frage

Wie soll ich vorgehen?

Sie sollten mit der Änderung gemäß den Anforderungen des Kunden fortfahren.

Anscheinend will der Kunde diese Modifikation. Und anscheinend stimmt Ihr Manager zu. Es scheint, dass er bereit ist, die technischen Auswirkungen zu absorbieren, um den Kunden glücklich zu machen.

Es hat keinen Sinn, es noch einmal zu erklären, es sei denn, Sie glauben, dass Ihr Vorgesetzter Sie nicht verstanden hat, obwohl Sie es klar erklärt haben (es scheint, als hätte er es verstanden, stimmt aber nicht zu).

Natürlich entscheidet Ihr Vorgesetzter, was hier unnötig ist, nicht Sie.

Sobald die Anfrage des Kunden erfüllt ist, möchten Sie vielleicht eine ruhige Zeit für ein Gespräch mit Ihrem Vorgesetzten finden. Ihr Ziel für ein solches Gespräch sollte nicht sein, Ihren Vorgesetzten davon zu überzeugen, dass Sie Recht hatten. Stattdessen sollte es Ihr Ziel sein, Ihren Vorgesetzten nach der Entscheidung zu fragen, damit Sie den Kundenanfrageprozess in Ihrem Unternehmen besser verstehen. Offensichtlich gibt es Dinge über die Kunden, die Sie nicht verstehen.

Oder vielleicht einen anderen Job suchen?

Wenn Sie einen Job brauchen, bei dem Sie entscheiden können, was der Kunde bekommt oder nicht bekommt, obwohl Ihr Kunde und Ihr Vorgesetzter bereits entschieden haben, dann sollten Sie sich nach einem neuen Job umsehen.

Vielleicht sollten Sie sich eine Führungsposition suchen, wo Sie mehr Einfluss darauf haben, welche Features geliefert werden und welche nicht. Oder vielleicht sollten Sie sich nach einer Rolle im Kundenservice oder Produktmanagement umsehen, in der Sie enger mit Kunden interagieren, die Zeitachse der Produktfunktionen beeinflussen und bei der Entscheidung helfen könnten, welche Kundenanfragen erfüllt oder abgelehnt werden sollen.

Oder, wie @IsmaelMiguel zu Recht betont, für ein Produktunternehmen arbeiten, bei dem individuelle Kundenwünsche selten erbeten oder erfüllt werden. (Natürlich haben Sie immer noch die Anweisungen Ihres Vorgesetzten, mit denen Sie fertig werden müssen.)

Oder sollte ich meinem Vorgesetzten sagen, dass er helfen soll, wenn es so einfach ist?

Du solltest deinem Chef gegenüber nur dann höhnisch werden, wenn du deinen Job nicht wirklich schätzt.

+1 für "Wenn Sie einen Job brauchen, bei dem Sie entscheiden können, was der Kunde bekommt oder nicht bekommt, obwohl Ihr Kunde und Ihr Manager bereits entschieden haben, dann sollten Sie sich nach einem neuen Job umsehen."
Ich bin mir nicht sicher, wo er diesen Job finden würde, selbst als Präsident hat man Grenzen. Das gehört zum Leben dazu, man muss oft Dinge tun, die man nicht will.
Er könnte einfach arbeitslos sein. Es hat offensichtliche Nachteile.
+1, obwohl Sie vielleicht mehr Wert darauf legen könnten, "stellen Sie sicher, dass Sie die Nachteile der Entscheidung, die Sie als falsch ansehen, angemessen erklärt haben".
Wenn das OP irgendwo arbeiten möchte, wo Kundeneingaben keine Rolle spielen, könnten Unternehmen mit sehr erfolgreichen Produkten wie Spotify, Instagram, Snapchat und anderen eine Wahl sein. Dort entscheidet das Unternehmen, was der Kunde bekommt, und keine Diskussion mehr.
@IsmaelMiguel All die verstehen immer noch ihr Kerngeschäft - einen Service für ihre Kunden anzubieten. Sicher, sie reagieren nicht auf jeden einzelnen Kunden, der nach einem Feature fragt, aber sie müssen trotzdem die Bedürfnisse des Kunden erfüllen – und das bedeutet manchmal, dass sie eine klobige technische Lösung haben. Wenn Sie wirklich in einem Unternehmen sein wollen, in dem Kundeneingaben keine Rolle spielen, müssen Sie sich für Unternehmen entscheiden - sie sind an die beschissene Einstellung gewöhnt: D
@Luaan Konnte nicht mehr zustimmen. Schöne Punkte!
Eine andere Möglichkeit, das Szenario zu erklären, besteht darin, sich vorzustellen, Sie hätten einen Mann angeheuert, um einen Graben zu graben, und er zögerte, ihn X Fuß tief zu graben. Sie wären wahrscheinlich frustriert, dass er sich so sehr mit Managemententscheidungen beschäftigt, wenn man bedenkt, dass Sie ihn eingestellt haben, um einen Graben zu graben, nicht um ihn zu verwalten.

Ihre Frage basiert auf der Frage, ob die Anfrage des Benutzers gültig und richtig ist, und auf der Entscheidung Ihres Vorgesetzten, sie anzunehmen und zu bearbeiten. Die Anfrage des Benutzers ist gültig, und die Entscheidung Ihres Vorgesetzten ist gültig.

Das ist die Arbeit, für die Sie angestellt sind .

Worum Sie gebeten werden, ist die Implementierung einer nicht funktionalen Anforderung.

Sie werden nach einer Verbesserung der Benutzerfreundlichkeit gefragt, nicht nach einer Erweiterung der Funktionalität.

Nichtfunktionale Anforderungen an ein System sind immer noch Anforderungen .

In diesem Fall sollen diese Usability-Fixes die Produktivität des Benutzers steigern und seine Fehlerquote senken.

Usability-Korrekturen können nicht trivial zu implementieren sein. Dies bedeutet nicht, dass sie als Anliegen zweiter Klasse behandelt werden sollten. Als Entwickler sind Sie da, um das zu erschaffen, was wichtig ist , nicht das, was einfach ist .

Ein ausgezeichnetes Buch, das dabei hilft, die Benutzerfreundlichkeit als ein zentrales technisches Anliegen zu verstehen, ist
„The Design of Everyday Things“ von Donald Norman (Link) .

Ein gutes Beispiel für ein System mit vollständigen Funktionen, das eine Weiterentwicklung der Benutzersteuerung erfordert, ist das Modell T von Ford. Als Auto geht es. Es lenkt. Es hört auf. Es befördert Passagiere.

Werfen Sie nun einen Blick auf die Benutzersteuerung (Link) . Niemand macht sie mehr so ​​- aus guten Gründen.

Sie sind schwer (und fehleranfällig, dh verletzungsanfällig) zu starten.

Der Gashebel besteht aus zwei Steuerknüppeln auf gegenüberliegenden Seiten der Lenksäule, die unabhängig und manchmal gleichzeitig betätigt werden müssen.

Ich bin ziemlich hin und her gerissen bei dieser Antwort. Es ist insofern eine großartige Antwort, als es dem OP sagt, was er wissen muss. Aber was eine „Arbeitsplatz“-Antwort angeht, ist sie völlig irrelevant! Auf dieser Seite soll es nicht um gute Programmier-/Entwicklungspraktiken gehen, sondern um die Büroumgebung.
Sie sind Anforderungen, aber sind sie gute Anforderungen. Ein Benutzer ist nicht immer ein Domänenexperte. Manchmal sind es zwei Klicks, um eine Reihe verwandter Befehle zu öffnen. Sie können nur so viele 1-Klicks auf dem Hauptbildschirm haben. Wie wäre es mit einem Auto mit zwei Getränkehaltern auf einer Seite des Schalthebels, um das Gestänge aufzunehmen? Nicht funktionale Anforderung, die Cups auf jeder Seite zu haben. Erfordert eine Neugestaltung, eine weniger effiziente Übertragung, eine teurere Übertragung und eine Verbindung mit einer höheren Ausfallrate. Wenn es die Funktion erfüllt, ist es ein Wunsch. Sie sollten die Wünsche priorisieren, um das Beste für das Geld zu bekommen.
Ich mag Ihre Antwort und stimme den meisten und +1 zu. Ich habe eine App mit dedizierten (Vollzeit-)Benutzern. Es verfolgt die Produktivität und normalerweise wird die Hälfte der Arbeit vom obersten Viertel ausgeführt. Das obere 1/4 hat fast nie eine nicht-funktionale Anforderung. Fast alle nicht-funktionalen Anforderungen stammen aus dem unteren Viertel und produzieren weniger als 1/10 der Ausgabe. Was das untere Viertel verlangt, wird normalerweise die High-End-Leute behindern. Ich lese hier zwischen den Zeilen und vermute, dass der Programmierer über mehr betriebswirtschaftliche Fachkenntnisse verfügt als der Chef. Ein Klirren ist nicht immer besser als zwei.
@AndyT Das OP ist eine XY-Frage. Er widerlegt die Notwendigkeit, eine gültige Arbeitsanfrage auszuführen, die sowohl von seinem Kunden (und tatsächlich Kunden) als auch von seinem Vorgesetzten gestellt wurde. Zu erklären , warum es falsch ist, es nicht zu tun, warum die Arbeitsanforderung seines Vorgesetzten gültig ist, erscheint angemessen. Andernfalls lautet die Antwort "Just do it!" "Warum?" "Weil Ihr Chef es so sagt". Ich glaube, wir sind diesen Antwortformen entwachsen, als wir junge Erwachsene wurden.
@Frisbee Ja, verschiedene Formen von Ansätzen für das Design von Benutzeroberflächen sind für verschiedene Benutzerklassen geeignet. Erfahrene Benutzer benötigen in der Regel allgemeine Aufgaben, die in effiziente Hand- und Fingerbewegungen optimiert sind, und zeitweise und naive Benutzer benötigen mehr Sichtbarkeit, Erschwinglichkeit und Feedback. Aber wir verirren uns jetzt in eine Diskussion über UI-Designprobleme, anstatt Gründe zu nennen, warum der Chef diese Arbeit zu Recht anfordern kann.
Vielleicht wäre der fettgedruckte Satz, wenn er neu formuliert oder etwas anders formuliert würde, breiter anwendbar: "Kundenanfragen, die nutzlose Zeitverschwendung sind, sind immer noch Kundenanfragen (und jede daran geleistete Arbeit ist kostenpflichtig)."
@Frisbee Dasselbe gilt für Entwickler. Typischerweise ist ein kleiner Teil des Entwicklerteams für den größten Teil des Codes und für die Implementierung der meisten Funktionspunkte verantwortlich. Die individuelle Produktivität der Menschen variiert. Die Produktivität von Programmierern variiert oft um den Faktor vier innerhalb derselben Unternehmenskultur und unter Verwendung derselben Entwicklungsumgebung. Und ja – verschiedene Kategorien von Benutzern profitieren von auf ihre Kategorie zugeschnittenen Benutzersteuerungen.
@Todd Wilcox Stimmt, aber das wäre eine völlig gegensätzliche Antwort. Vielleicht solltest du es schreiben?
Nein, ich stimme nicht zu, dass eine andere Benutzeroberfläche für verschiedene Benutzerklassen angemessen ist. Wie ich in diesem Fall gesagt habe, sind sie alle Vollzeitbenutzer mit denselben Einstellungsrichtlinien. Ich setze mein Geld bei denen an, die produzieren. Korrekte Anfrage ist nicht dasselbe wie korrekte Anfrage. Sie tun, was der Chef sagt, aber basierend auf dem, was ich gelesen habe, wette ich, dass der Programmierer ein besserer Designer ist und über bessere Fachkenntnisse verfügt. Mein Punkt ist, dass es schlechte und gute nicht-funktionale Anforderungen gibt. Nur weil ein Benutzer danach fragt, heißt das nicht, dass es das Produkt besser macht. Trotzdem gute Antwort.
@Frisbee (Das wandert jetzt vom Thema ab, aber ...) Ja, produktive Benutzer müssen unterstützt werden. Der Zweck von Benutzeroberflächen besteht jedoch darin, die gesamte Benutzerbasis produktiv zu machen, indem sie es ihnen ermöglichen, die Aufgaben schnell und fehlerfrei auszuführen. Vielleicht könnten wir das in den Chat verschieben? (Kennt jemand die Benutzeroberfläche, um dies zu erreichen?)
@EuanM Und ich behaupte, dass selbst mit Programmierern, die sich an die Low-Performer richten, die Produktivität nicht gesteigert wird. Dev-Software ist nicht so schwer zu bedienen. Wenn Sie Stützräder für Visual Studio benötigen, müssen Sie sich nach einem anderen Arbeitsbereich umsehen. Kategorien? Verwenden wir den Begriff Expertise. Ja, ein Benutzer mit geringem Fachwissen kann davon profitieren, aber ich sage, wiegen Sie dies mit einer festen Ressource ab. Meine Erfahrung ist, High-End zu bedienen und sie die anderen hochziehen zu lassen. Ein geteiltes Design ist eine große Belastung. Wie Intellisense hilft allen Benutzern. Meiner Meinung nach gibt es viele Gestaltungsmöglichkeiten, die allen Benutzerebenen zugute kommen.
@Frisbee Dem letzten Satz stimme ich voll und ganz zu. Ich denke, einige der anderen sind diskutabel. :-)
@AndyT Ich bin mir zu 90% sicher, dass eine nützliche Antwort am Arbeitsplatz plus domänenspezifische Ausbildung eine nützliche Antwort nicht weniger nützlich macht. Es macht es nützlicher für die Leute in derselben Domäne wie der Fragesteller. Antworten am Arbeitsplatz können sich über Domänenwissen streiten!
@doppelgreener - Als ich kommentierte, gab es keine "nützliche Antwort am Arbeitsplatz", es war alles domänenspezifisch. EuanM hat seitdem die tatsächliche Antwort am Arbeitsplatz hinzugefügt, was dies zu einer viel besseren Antwort macht (und meine +1 verdient).
@AndyT Aha, cool. Das habe ich nicht bemerkt. :) Dann verstehe ich, woher du kommst.
Ich habe es explizit gemacht . Es war immer da.

Versuchen Sie, sich eine Lösung auszudenken, bei der beide Situationen funktionieren können.

Wenn diese Funktionalität bereits vorhanden ist, ist sie anscheinend nicht richtig in Bezug auf die Benutzeroberfläche ausgeführt. Vielleicht die Steuerung oder Navigation neu gestalten? Versuchen Sie, die Anzahl der Klicks auf clevere Weise auf das zu reduzieren, was sie möchten.

Kündigen Sie auch, wenn Ihr Vorgesetzter Ihnen sagt, etwas zu tun, womit Sie nicht ganz einverstanden sind?! Sie müssen wirklich gerne nach Jobs suchen, denn das ist durchaus üblich.

Nicht, dass ich es liebe, bei Jobs herumzuspringen. Dies ist nicht das erste Mal, dass etwas Ähnliches passiert, aber dieses übertrifft sie. Ich habe immer versucht, mit meinem Vorgesetzten auf Augenhöhe zu bleiben, um Probleme zu überwinden.
Und mach weiter so. Aber am Ende ist der Manager derjenige mit der Verantwortung, stellen Sie einfach sicher, dass er sich dessen bewusst ist, mit etwas wie „Ich werde Aufgabe X ausführen, aber ich denke, das könnte eine schlechte Idee sein. Ich werde mich daran halten, aber ich wollte Stellen Sie sicher, dass ich alle Informationen über die Konsequenzen gegeben habe."
@raidensan Wenn dies die größte Meinungsverschiedenheit ist, die Sie jemals mit Ihrem Manager hatten, machen Sie es sehr gut, wo Sie sind.
Zumindest will Ihr Kunde tatsächlich etwas, das Sie tatsächlich abschließen können. Ich hatte Kunden, bei denen sie ein zuvor akzeptiertes Muster abgelehnt haben, weil es "off" zu sein schien, aber es ist buchstäblich dieselbe Datei, und nächste Woche sagten sie: "Es ist großartig! Sie haben es behoben." Wenn sie dieselbe Probe überprüfen. Es war völliger Wahnsinn.
Diese Antwort ist die einzige Antwort, die sich der Tatsache nähert, dass OP in Bezug auf etwas Alltägliches seltsam unvernünftig ist.

Ihre Frage ist ein Durcheinander; es ist ein großer Widerspruch. Entweder ist es schon im Produkt, dann ist nichts zu machen. Oder ist es nicht, und es gibt technische Probleme, die Sie überwinden müssen. Aber nicht beide. Es ist unmöglich, dass Sie auf technische Schwierigkeiten stoßen, wenn Sie das Rad neu erfinden.

Wenn das Feature noch nicht im Produkt enthalten ist, gehen Sie wie folgt vor:

Falls Sie dies noch nicht getan haben, erklären Sie Ihrem Vorgesetzten alle Ihre Bedenken schriftlich. Eine E-Mail sollte genügen. Es sollte die Bedenken und die technischen Schwierigkeiten enthalten, die Sie überwinden müssen, um sie zu lösen, und wenn möglich eine grobe Zeitschätzung. Markieren Sie eindeutig diejenigen, bei denen Sie wirklich keine Ahnung haben, wie Sie sie lösen sollen, und bitten Sie um seine Hilfe.

Fragen Sie ihn auch, ob sich das Feature lohnt, und zeigen Sie ihm weitere wichtige Features , die im Backlog warten. Nachdem Sie ihm nun einen Zeitrahmen ("5 Wochen für alles Gelöste und 4 völlig ungelöste Probleme") und mögliche alternative Einsatzmöglichkeiten Ihrer Arbeitskraft mitgeteilt haben, sollte er in der Lage sein, eine fundierte Entscheidung zu treffen.

Wenn er antwortet „Ja, weitermachen“, setzen Sie alles um, was Sie können, und kommunizieren Sie alles, was Sie nicht lösen können. Er hat nach der Funktion gefragt und Ihnen einen Zeitrahmen zur Lösung der Probleme genannt. Alles andere liegt über Ihrer Gehaltsklasse.

Zunächst sollte dem Kunden die Existenz des Features mitgeteilt werden, falls dies nicht der Fall ist. Nur weil es implementiert ist, bedeutet das nicht, dass sie sich dessen bewusst sind oder dass sie wissen, wie die Funktion verwendet wird. Dies sollte von demjenigen durchgeführt werden, der der Hauptkontakt mit dem Kunden ist, was Ihr Vorgesetzter sein könnte. Das Wissen um diese Funktion könnte alles sein, was sie brauchen. Wenn sie jedoch feststellen, dass die Implementierung nicht nützlich ist, muss die Art und Weise, wie die Funktion implementiert wird, noch geändert werden.

Wenn der Ansprechpartner Ihr Vorgesetzter ist und Ihr Vorgesetzter es entweder angesprochen hat und der Kunde immer noch die Änderung wünscht oder Ihr Vorgesetzter es nicht für notwendig hält, es anzusprechen, dann haben Sie alles getan, was Sie tun konnten. Sie haben das Argument vorgebracht, und die für solche Entscheidungen verantwortliche Person hat eine Entscheidung getroffen. Jetzt gilt es, die Entscheidung umzusetzen.

Es hört sich jedoch so an, als ob es Probleme in Ihrer Organisation gibt. Es ist nicht ungewöhnlich, dass sich Code im Laufe der Zeit verschlechtert. Technische Schulden bauen sich auf und Änderungen an einem System führen nur zu einer Verschlechterung der Designintegrität ( Software-Entropie ). Irgendwann müssen diese Probleme behoben werden, oder die Kosten für die Softwarewartung können bis zu dem Punkt steigen, an dem es extrem kostspielig wird, Änderungen an einem System vorzunehmen. Ein Mangel an Zeit zum Testen und zum Einbau von Qualität in den Prozess ist ebenfalls ein Problem.

Diese organisatorischen Probleme sind längerfristige Probleme. Es ist ein Fall von „Ändern Sie Ihre Organisation“ . Sie können diese Probleme entweder beheben oder sich nach einer neuen Organisation umsehen, die besser geeignet ist.

Wenn Sie es dem Kunden sagen wollen, sagen Sie nicht, schauen Sie, Idiot, da war es die ganze Zeit. Sagen Sie, Sie meinen so etwas wie diese Funktion hier?

Stellen Sie eine Überprüfung dessen bereit, was für den Kunden getan werden muss. Zeichnen Sie ein Bild, geben Sie Schritt-für-Schritt-Anleitungen usw., um sicherzustellen, dass Sie die Anfrage verstehen. Dies erklärt dem Kunden nicht, wie die Dinge jetzt gemacht werden, sondern um sicherzustellen, dass Sie Ihre Arbeit richtig machen. Sie können es sogar damit vergleichen, wie die Funktion jetzt funktioniert, um zu überprüfen, ob ihre Änderung so einfach ist, wie es Ihnen erscheint.

BEARBEITEN:

Sie können diese Änderung vom Kunden oder Manager genehmigen lassen. Sie können Ihrem Vorgesetzten gegenüber erwähnen, dass es hilfreich sein könnte, wenn es dem Kunden zur „Abzeichnung“ vorgelegt wird, falls er bei der Lieferung feststellt, wie geringfügig die Änderung ist. Hier geht es jedoch um Kommunikation, und wenn Ihr Vorgesetzter dies absegnet, dann ist zumindest die Aufgabe für Sie klar und Sie haben die Dokumentation, dass Sie das bereitgestellt haben, wonach gefragt wurde, und die Lösung nicht betrogen oder manipuliert haben.

ENDE BEARBEITEN

Es ist möglich, dass Ihr Kunde nach einer „vorhandenen“ Funktion fragt und sie nicht erkennt. Es kann auch sein, dass Ihr Kunde dies in weniger Schritten / mit weniger Klicks benötigt. Ich kenne viele Systeme, die für Benutzer wegen „mehr Klicks“ nicht „akzeptabel“ waren.

Es ist gut, wenn Sie versuchen, sich davor zu schützen, unnötige Änderungen vorzunehmen oder Kunden bereits vorhandene Funktionen in Rechnung zu stellen. Es ist nicht gut für Sie, einen Kunden aufgrund seiner Anfrage zu beurteilen oder wie ein überfürsorglicher Elternteil zu sein und zu versuchen, Kunden dabei zu helfen, Geld zu sparen oder Dinge auf „Ihre Weise“ zu erledigen, wenn sie es anders machen möchten.

Wenn Sie den Job nicht ausführen wollen oder können, dann sollte Ihr Vorgesetzter das wissen. Aber dann solltest du dir wahrscheinlich einen anderen Job suchen.

Danke für deine Antwort. Ich kann unseren Kunden nicht informieren, ohne die Genehmigung meines Vorgesetzten einzuholen. Tatsächlich ist es mein Manager, der darauf besteht, dass wir es tun. Ich bin mir ziemlich sicher, dass der Kunde die vorliegende Funktion nutzen würde. Im Moment bin ich hinter der Managementbarriere :(
Können Sie das Dokument schreiben und den Manager bitten, es mit dem Kunden zu überprüfen?
Ich habe meine Antwort bearbeitet. Ich hoffe, es hilft.

Ich fühle mit dir. Ich bekomme ständig detailliertes Design ohne funktionale Anforderungen. Sie haben keine Wertschätzung für das aktuelle Datendesign und die Serveraufrufe. Zwei Klicks können sauber und erweiterbar sein und ein Klick bewirkt eine Änderung des Datenmodells. Sie sagen, dass es ihnen egal ist, aber wenn es kaputt geht oder Daten beschädigt werden, ist es Ihr Problem. Selbst wenn Sie es schaffen, haben Sie eine spröde Codebasis und die nächste Änderung ist noch schwieriger. Es ist so frustrierend, wenn ein Programmierer nur als Programmierer und nicht als Designer betrachtet wird.

Was Sie tun können. 1) Erklären Sie das Problem. 2) Legen Sie dann Widerspruch ein und erklären Sie Ihren Widerspruch sowohl schriftlich als auch mündlich. Skizzieren Sie den Zeitpunkt für diese Änderung und die längerfristigen Auswirkungen. 3) Und dann mach es einfach. Wenn es 3 Wochen zum Programmieren und 2 Wochen zum Testen dauert, dann sei es so.

Rücktritt ist immer die letzte Option, aber wenn das so weitergeht, wird der Job nur noch schlimmer. Der Code wird spröder und der Chef wird nicht mehr verstehen. Es ist erniedrigend, als Code-Affe behandelt zu werden. Das heißt, geben Sie einfach Ihr Bestes und bauen Sie Ihre Fähigkeiten aus. Wenn Sie bei Ihrer nächsten Leistungsbeurteilung immer noch frustriert sind, legen Sie es offen. Wenn Sie den Prozess ansprechen, der nicht mit einer bestimmten Änderung verbunden ist, wird der Chef Ihre Position hoffentlich ernsthafter prüfen. Wenn der Chef sagt, dass sich der Prozess nicht ändern wird, dann wissen Sie, woran Sie sind. Hör nicht einfach auf. Entscheide, ob du damit leben kannst. Wenn Sie damit nicht leben können, machen Sie einen Plan, wie Sie zu Ihrem nächsten Job wechseln können. Sobald Sie aufhören, sich um den aktuellen Job zu kümmern, wird es erträglicher.

Zwei Klicks können eine große Sache für Leute sein, die das System tatsächlich den ganzen Tag benutzen. Hören Sie auf, entwicklerzentriert zu sein. Leute, denen nur das Entwicklungserlebnis wichtig ist, schreiben schlechte Software.
@HLGEM Entwicklerzentriert? Entwicklererfahrung? Welcher Teil von Benutzer A Benutzer B um 2:1 übertrifft, ist nicht klar? Wenn Benutzer A sagt, dass Funktion X viel wichtiger ist als diese beiden Klicks, die für Benutzer A sinnvoll sind, dann hat Funktion X eine höhere Priorität und diese beiden Klicks werden möglicherweise nie in die Liste aufgenommen. Wenn die beiden Klicks denselben Back-End-Aufruf ausführen, der länger als ein paar Sekunden dauert, ändern Sie sich nicht. Wenn ein Klick eine Änderung des Datenmodells verursacht, die die Dinge verlangsamt oder Funktionen einschränkt, ist das eine schlechte Sache.
@HLGEM Wenn ich nur ein Mittagessen möchte und meine einfache Palette nur ein Mittagessen verarbeiten kann, erspare ich mir den Klick auf einen Tag, wenn ich das Mittagessen bestelle. Wenn ich eine High-End-Palette habe und ich 4 Klicks benötige, um aus einem Menü zu bestellen, dann ist das meiner Meinung nach das bessere System. Weniger Klick ist nicht immer besser.
Es ist entwicklungszentriert, weil Sie sich offensichtlich nicht darum kümmern, was der Benutzer will.
@HLGEM Ganz klar egal? Dies hat keinen Zweck. Korrigieren Sie diesen Klick und verschieben Sie Feature X.
Ich habe nicht gesagt, dass weniger Klicks immer besser sind, ich sagte, Sie müssen dem Benutzer zuhören, was für ihn funktioniert. In dieser Branche gibt es zu viele Leute, die für die Bequemlichkeit des Entwicklers entwerfen und nicht für den Benutzer, der den ganzen Tag an der umständlichen Benutzeroberfläche festsitzt.
@HLGEM Welcher Teil von "Wenn (produktiver) Benutzer A sagt, dass Feature X viel wichtiger ist als diese zwei Klicks" hört dem Benutzer nicht zu?

Die Antwort hier ist "klären lassen!"

Erkennt der Kunde, dass das Feature bereits in einer optimierten Form vorhanden ist, oder nicht?

Wenn nicht ... dann wären sie wahrscheinlich ziemlich verärgert, wenn sie nichts davon erfahren würden, und würden anschließend mehr Stunden bezahlen, um die Funktionalität einer bereits vorhandenen Funktion zu verschlechtern. Ich weiß, dass mich das ärgern würde ... wenn ich dem Projektmanager sage: "Ich will Feature X", ist es ihre verdammte Aufgabe, zu wissen, ob es schon da ist, und mich das wissen zu lassen, damit ich meine Entscheidung über das Projekt treffen kann Ich beauftragte ist ein informierter.

Wenn ja ... dann ist das, was der Kunde für das Projekt will, das, was er will. Die Anforderungen sind die Anforderungen, sie haben ihren Grund und müssen sie Ihnen nicht erklären. Zum Beispiel haben sie vielleicht harte Daten, dass dieser zusätzliche Klick etwas seltsam Positives für ihr Geschäft bewirkt und sie wollen das. Oder selbst wenn es nur so ist, weil sie dumm sind ... sie haben das Recht, Sie für ihre Dummheit extra zu bezahlen, wenn sie es wünschen. Solange sie diese Entscheidung vollständig informiert treffen und für die Stunden bezahlen, die sie von Ihrer Seite nehmen, ist das in Ordnung.


Fazit: Wenn dies nur daran liegt, dass Ihr Projektmanager den Kunden nicht richtig informiert, dann ist das ein Problem. Wenn es der Client ist, der wirklich eine dumme Anforderung wünscht, obwohl er weiß, dass eine bessere Version der Funktion bereits existiert, dann ... dann ist es immer noch eine Client-Anforderung, selbst wenn es eine dumme ist.

Sie können keine angemessenen Maßnahmen ergreifen, bis Sie herausgefunden haben, was der Fall ist ... oder sich zumindest etwas Mühe geben, um herauszufinden, was der Fall ist, damit Ihr Hintern bedeckt ist, falls sich herausstellt, dass der Manager seinen nicht getan hat Arbeit.

Das Feature existiert bereits in einer weniger optimierten Art und Weise, nicht „in einer optimierteren Art und Weise“.
@EuanM - Bist du sicher? Mir scheint, das OP sagte, dass die Änderung "ein paar Mausklicks mehr erfordert, um die Arbeit zu erledigen.", was eine weniger optimierte Version der Funktionalität beschreiben würde, dh die aktuelle Version wäre im Vergleich optimierter.
Er sagt „es erfordert …“ Grammatisch bezieht sich „es“ auf das letzte Ding, auf das ausdrücklich Bezug genommen wird, dh in diesem Fall „ein Merkmal, das bereits im Produkt vorhanden ist“. Er könnte etwas anderes gemeint haben. Aber ich gehe von dem aus, was geschrieben wurde.
@EuanM - Eigentlich ... hast du das aus dem Zusammenhang gerissen. Schauen Sie sich die 2 Wörter vorher an. Das „es“ bezieht sich auf die „ Änderung einer Funktion, die bereits im Produkt vorhanden ist“ . Der Text "ein Merkmal, das bereits vorhanden ist" ist nur der Kontext der Änderung, nicht sein eigenes explizites Thema. Technisch gesehen bezieht sich das "es" grammatikalisch auf die "Änderung eines Merkmals" . Ich würde auch behaupten, dass diese Erklärung logisch sinnvoller ist, da ein Kunde, der darum bittet, eine Funktion rationaler zu machen, ziemlich häufig vorkommt und weniger wahrscheinlich auf solche internen Dilemmata stößt, wie das OP beschreibt.
Die Tatsache, dass ein Kunde darum bittet, eine Funktion schlanker zu gestalten, ist ziemlich häufig, und genau deshalb ist dies eher das Problem hier. Unsere grammatikalischen Analysen sind widersprüchlich, und wir müssen uns darauf einigen, dass wir uns darin unterscheiden.
@Euan M - Ich bin nicht einverstanden :) Grammatik ist Grammatik. Wenn ich dir sagen würde: "Ich habe einen Pickel im Gesicht. Es nervt." Würden Sie das so interpretieren, dass mein Gesicht nervt oder der Pickel nervt?
Sie scheinen zu behaupten, dass Englisch eine eindeutige Sprache ist. "Zum Verkauf steht ein damengerechter antiker Schreibtisch mit dicken Beinen und großen Schubladen."
Die Tatsache, dass mehrdeutige Sätze gebildet werden können, ist nur eine versuchte Ablenkung davon, dass nicht alle Sätze mehrdeutig sind. „Ein Pickel im Gesicht“ und „eine Änderung an einem Merkmal“ sind nicht zweideutig, was die beabsichtigten Themen sind.

Ich finde es toll, wie jeder im Workplace-Stack über Ethik und Professionalität spricht, wo vieles von dem, was wir tun, das Ergebnis von Interessen und politischen Spielereien ist. Die Situation hier ist ziemlich offensichtlich und die Antwort ist ziemlich kurz: Der
Kunde möchte Geld spenden (ich meine, seine Unwissenheit lässt ihn Geld für Dinge verschwenden, die er bereits hat), der Manager hat kein Problem damit. Dieses Geld zahlt für Ihr Gehalt. Seien Sie froh, dass Sie dieses Geld nehmen, und seien Sie froh, dass Sie klüger sind als Ihr Kunde. Profitieren.