Wie soll ich meinem Chef sagen, dass ich die Frist nicht einhalten kann?

Ich habe vor kurzem angefangen, für ein Softwareunternehmen in einem anderen Land zu arbeiten. Sie flogen mich rüber, um mit dem Projekt voranzukommen. Ich habe dort einige Aufgaben erledigt und bin dann in meine Heimat zurückgekehrt, um von hier aus weiterzuarbeiten.

Ich wurde beauftragt, neue Funktionen für eine schlecht geschriebene webbasierte Anwendung zu entwickeln. Ich verstehe den Spaghetti-Code wirklich nicht. Es hat keine Dokumentation, verwendet keine Entwurfsmuster und die Datenstruktur ist nicht normalisiert.

Das Projektmanagement ist durcheinander: Es gibt keinen Rückstand, sie folgen keiner Software-Methodik und verwenden nicht einmal E-Mails zur Kommunikation. Bei Anrufen wird alles besprochen. Das Team macht zwar Notizen, aber es findet keine Integration statt. Die Manager verstehen die damit verbundene Komplexität nicht. Ich habe das Interesse an dem Projekt verloren.

Das Management bat mich um einen Plan zur Erledigung der Aufgaben. In einem Blutrausch sagte ich ihnen, ich würde bis Mittwoch liefern. Ich kann meine Aufgaben nicht erledigen und habe meinen Schlaf verloren. Jedes Stück Code, das ich anfasse, macht etwas anderes kaputt, und ich kann die erforderlichen Funktionen nicht bis zur festgelegten Zeit umgestalten oder hinzufügen.

Wie soll ich meinem Chef sagen, dass ich die Frist nicht einhalten kann?

Es ist mir wirklich egal, gefeuert zu werden, weil das Unternehmen nicht der Kultur entspricht, die ich erwartet habe, und ich möchte hier nicht mehr arbeiten, aber ich möchte auch nicht so gehen, dass sich das Management nicht respektiert fühlt. wenn man bedenkt, dass sie etwas Geld in mich investiert haben.

Sie haben ihnen gerade gesagt, dass Sie am Mittwoch fertig sind, und Sie müssen ihnen nicht sagen, dass Sie nicht wissen, wann Sie fertig sind. Es wird nicht gut gehen. Sag es einfach.
"Was soll ich tun" ist im Allgemeinen nicht die größte Frage, selbst wenn der Kontext vorher da ist. Vielleicht möchten Sie stattdessen die Titelfrage verwenden, was vollkommen in Ordnung ist.
Können Sie liefern, wenn Sie zusätzliche (aber begrenzte) Zeit haben? Können Sie in reduziertem Umfang aber pünktlich (oder kurz danach) liefern? Können Sie in naher Zukunft etwas Wertvolles liefern?

Antworten (3)

Es war äußerst unprofessionell, einen Zeitrahmen anzugeben, den Sie nicht einhalten können. Die Hände hochwerfen und sagen, dass es dir egal ist, gefeuert zu werden, noch mehr.

Informieren Sie sie so schnell wie möglich, dass Sie die Arbeit nicht bewältigen können. Wenn Sie können, geben Sie ihnen, was Sie für eine vernünftige Lösung und einen angemessenen Zeitrahmen halten, und gehen Sie von dort aus weiter.

Das ist ungefähr alles, was Sie tun können, wenn sie keine technischen Leute sind, werden sie wenig bis gar kein Interesse an Ihren Ausreden und Gründen haben. Ich habe viele Leute in Ihrer Situation gesehen, es ist kein guter Ort, und wenn Sie nicht daraus lernen, tun Sie dasselbe wie sie und verkaufen ein fehlerhaftes Produkt.

Wir haben hier einen Mitarbeiter, der überfordert ist. Ich würde die Schuld gleichermaßen seinem Manager geben, der hätte wissen müssen, dass eine unter großem Druck abgegebene Schätzung nicht eingehalten werden kann. Die Aufgabe des Managers besteht in erster Linie darin, die Aufgabe zu minimalen Kosten zu erledigen, und Druck auf einen unerfahrenen Entwickler auszuüben, wird dies nicht erreichen.
@gnasher729 Ich würde die Schuld hauptsächlich dem Manager geben. Es hört sich so an, als hätte der Manager versucht, ihn zu einer Verpflichtung zu manipulieren, das zu tun, was er bereits als unmöglich bezeichnete.
@gnasher729 Ich bin anderer Meinung, der Manager ist kein Techniker, er ist ein Verkäufer, wie es sich anhört. Zukunftsmusik und Hochdruck-Verkaufstechniken sind sein Handwerkszeug. Es liegt an der Technik, auf dem Boden zu bleiben. Das OP kann entweder daraus lernen oder alle anderen beschuldigen und sich weiter in ein Loch graben, bis es auf ihm zusammenbricht.
  1. Lassen Sie sie wissen, dass sie keine Leistung von Ihnen erwarten können. Lassen Sie sie wissen, warum: der Code hat keine Dokumentation, Sie waren nicht in der Lage, eine Struktur des Codes zu identifizieren, und die Spaghetti-Natur des Codes macht es unmöglich, einen Sinn zu ergeben, geschweige denn zu verstehen. Lassen Sie sie wissen, dass der Versuch, mit dem Code so zu arbeiten, wie er ist, um neue Funktionen einzuführen, eine vergebliche Übung ist.

  2. Schlagen Sie eine Alternative vor, einschließlich eines Neuaufbaus. Geben Sie ihnen eine Schätzung, wie lange es dauern würde, wenn Sie es von Grund auf neu machen könnten.

An diesem Punkt sollte Ihr Fokus darauf liegen, praktikable Alternativen zu dem, was sie von Ihnen erwarten, auszuarbeiten und vorzuschlagen.

Sie könnten Sie feuern, aber das Problem, dass der Code nicht zu bearbeiten ist, wird dadurch nicht verschwinden.

Sagen Sie niemandem, dass Sie etwas nicht tun können, ohne machbare Alternativen vorzuschlagen. Da Sie schlechte Nachrichten überbringen, stellen Sie sicher, dass Sie Ihre Enten in einer Reihe haben, bevor Sie Ihre schlechten Nachrichten überbringen. Sobald Sie Ihre Enten in einer Reihe haben, zögern Sie nicht, die schlechten Nachrichten zu überbringen. Warten Sie nicht auf die Frist, wenn es nicht notwendig ist, zu warten.

Mit dem Code so zu arbeiten, wie er ist, bedeutet einfach, dass die Tatsache, dass der Code extrem schlecht geschrieben ist, keine Struktur hat und nicht dokumentiert ist – diese Tatsache ist jetzt Ihr unlösbares Problem. Nicht mit diesem Code arbeiten zu müssen, ist die einzige Möglichkeit, jedes Problem zu umgehen, das in diesen Code integriert ist.

Sagen Sie ihnen, dass Sie, wenn der Code modular wäre, Funktionen hinzufügen könnten, während Sie beispielsweise 10 % der Codebasis verstehen. Die Tatsache, dass der Code Spaghetti ist, bedeutet, dass Sie 100 % der Codebasis verstehen müssen, bevor Sie etwas tun können. Spaghetticode und die Codebasis zu 100% verstehen zu müssen – das ist eine sehr schlechte Kombination.

Anstatt sich darauf zu konzentrieren, was mit dem Code nicht stimmt, müssen Sie einen Weg finden, um das Problem zu lösen. Das kann bedeuten, das gesamte Projekt zu wiederholen, wenn sie einen genauen Zeitrahmen wünschen. Dann lass sie entscheiden, wie sie weitermachen wollen. Seien Sie darauf vorbereitet, ihnen zu erklären, warum Sie die von Ihnen vorgeschlagenen Schritte unternehmen müssen.

Antworten wie diese entsprechen nicht den Standards oder sind alles Spaghetti-Code sind großartige Tiraden für ein Webforum, aber sie sind eigentlich keine Gründe, warum Sie das Projekt nicht abschließen können. Dass Modul A Anforderungen von Modul B und C hat und dass die Änderung an A dazu führt, dass B und C nicht mehr funktionieren, da Funktion A(3) B oder C nicht mehr aufrufen kann, da die Änderungen erforderlich sind, um B und vorzunehmen C richtig ausführen bedeutet, dass die Funktionen b(4) und C(1,3,9) jetzt die Voraussetzung von D haben, was auch eine Voraussetzung von A ist.

Von hier aus müssen Sie in der Lage sein, einen realistischen Zeitplan und iterative Ergebnisse für die Fertigstellung bereitzustellen. Wenn Ihnen das alles zu viel ist, dann sollten Sie vielleicht das Unternehmen anrufen, das Sie dorthin gebracht hat, und um Hilfe bei der Lösung des Problems bitten