Setzen Sie realistische Erwartungen für Termine

15

Ich bin ein technischer Leiter für ein kleines Team. Eine der Hauptaufgaben auf meinem Teller ist die Kommunikation mit dem Kunden. Eine Sache, die mir besonders schwerfällt, ist der Umgang mit Fristen, weil sie vom Kunden vorgegeben werden und ich häufig nicht konsultiert werde.

Normalerweise folgt die Interaktion dem folgenden Muster. Der Kunde hat eine Funktion, Feature X, die er hinzufügen möchte. Feature X würde in der App-Version der nächsten Woche, die ungefähr 6 Werktage entfernt ist, gut aussehen. Zu diesem Zeitpunkt muss die Featureanforderung genehmigt werden, und es müssen häufig andere Abhängigkeiten behandelt werden. Irgendwann, N Tage später, rieselt die Feature-Anfrage an mein Team. Auch wenn die ursprüngliche Deadline (die von einem Nicht-Entwickler-Manager festgelegt wurde) erreichbar war, ist sie nicht mehr vorhanden. Mein Team wird beschuldigt, fühlt sich entmutigt und es herrscht eine allgemeine Atmosphäre der Niederlage . Ich fühle mich entmutigt und besiegt.

Offensichtlich ist der Gesamtprozess unterbrochen. Leider kann ich nicht viel tun, weil ich hier keine Machtposition habe. Mein gegenwärtiger Ansatz ist es, den Kunden sanft an unseren Starttermin zu erinnern und ihn an den Termin, den Umfang des Features usw. zu erinnern.

Warst du in ähnlichen Situationen? Was hat / hat bei Ihnen nicht funktioniert?

Achtundachtzig
quelle
13
Verlassen. Du kannst nicht gewinnen. Ihr Management schützt Sie nicht, deshalb kümmern sie sich nicht um Sie. Verlassen.
Christopher Mahan
4
"Das fühlt sich sehr danach an, als würde ich mich entschuldigen." Warum? Fakten sind Fakten. Was entschuldigen Sie?
S.Lott
Wir arbeiten nicht in einer Blackbox. Wenn das Team gestört ist, kann nur ein ohnmächtiger, bescheidener Entwickler so viel tun.
P. Brian Mackey
2
@EightyEight: Die "Line-Out" -Technik klärt nichts. Entweder du oder das Team (oder vielleicht beide). Aber ein Line-Out hilft niemandem zu verstehen, was Ihre Frage ist . Es ist in Ordnung, Dinge zu entfernen, die nicht wahr oder nicht relevant sind.
S.Lott

Antworten:

13

Sie müssen wirklich mit Ihrem Chef darüber sprechen und einige Grundregeln festlegen:

  • Eine Frist ist keine Frist, es sei denn, Sie verpflichten sich dazu.
  • Eine Schätzung ist keine Schätzung, es sei denn, Sie geben sie an, und dann ist es eine "Schätzung", keine harte Frist.

Robert Martins Clean Coder hat ein wirklich gutes Kapitel darüber, wie Sie dieses Zeug Ihrem Chef mitteilen können. Es ist nicht Ihre Schuld, wenn das Verkaufsteam unmögliche Verpflichtungen eingeht.

Wenn Sie ein neues Feature erhalten, schätzen SIE es und verwenden PERT, um eine Wahrscheinlichkeitsverteilung zu erhalten. "Ich sollte das in 4 Tagen erledigen, aber es kann bis zu 8 dauern". Steh deinen Mann. NIEMALS mit einem Verkäufer einen Kostenvoranschlag aushandeln, sonst wird das Unmögliche möglich.

Nach ein paar Wiederholungen wird der Verkäufer hoffentlich die Nase voll davon haben, ein Idiot zu sein, und er wird das Verhalten so anpassen, dass er mit dem Entwicklerteam abklärt, wann wir das erledigen können, und nicht mit dem Versprechen, dass Sie am Ende landen brechen.

mcottle
quelle
1
+1 - Entwickler / Leute, die wissen, worum es eigentlich geht, nicht an Schätzungen beteiligt zu sein, schreit verrückt verrückt verrückt: /
elwyn
2
"... ein Versprechen, dass Sie am Ende brechen." - Vergessen Sie niemals und erinnern Sie regelmäßig Personen daran, dass Sie ein Versprechen, das Sie nicht machen, nicht brechen können, einschließlich solcher, die in Ihrem Namen gemacht wurden.
Mattnz
"Eine Frist ist keine Frist, es sei denn, Sie verpflichten sich dazu." Das hat mir so gut gefallen, dass ich es nur getwittert habe. ;)
Bob Horn
10

Warst du in ähnlichen Situationen? Was hat / hat bei Ihnen nicht funktioniert?

Meist geht es darum, der Macht die Wahrheit zu sagen.

Sammeln Sie die Fakten. Präsentieren Sie die Fakten. Lassen Sie den Kunden in seinem eigenen Tempo lernen (oder nicht lernen).

Mein Team wird beschuldigt, fühlt sich entmutigt und es herrscht eine allgemeine Atmosphäre der Niederlage.

Warum ist sich Ihr Team der Schuld bewusst? Wenn der Kunde Sie umgeht und direkt mit dem Team spricht, werden Sie ineffektiv und müssen herausfinden, warum.

Ihr Team sollte keine Ahnung von "Schuld" oder mangelnder Schuld haben. Sie sollten einfach Software erstellen und Sie sollten dem Kunden einfach mitteilen, was Sie tun und wann Sie es tun.

Der Kunde sollte --- irgendwann --- wachsen, um den Prozess zu verstehen. Es braucht viel Wiederholung, um schlechte Gewohnheiten zu brechen. Viel.

S.Lott
quelle
+1 "Sprechen Wahrheit an die Macht." Können Sie bitte klären? Ich mag die Aussage "Unwissend der" Schuld ". Ich wünschte, ich könnte eine Firma finden, die alle sinnlosen Finger zeigen gestoppt.
P. Brian Mackey
"Sammeln Sie die Fakten. Präsentieren Sie die Fakten". Ich dachte das wäre klar. Was kann man noch sagen?
S.Lott
Ich glaube, ich verstehe es jetzt. Ich habe diesen Begriff noch nie zuvor gehört.
P. Brian Mackey
3
msgstr "hat den ganzen sinnlosen Finger aufgehört zu zeigen". Es kann nicht gestoppt werden. Aber die Rolle eines Teamleiters ist es, das Team vor dem Schlimmsten zu schützen.
S.Lott
Der Kunde spricht nicht direkt mit meinen Teammitgliedern, aber die Unzufriedenheit mit der Arbeit filtert nach unten, egal was passiert. Vielleicht sollte ich das "Team" durch "I" ersetzen. Klingt so, als wäre ich auf dem richtigen Weg. Danke für deine Kommentare.
Achtundachtzig
5

Ich war in genau dieser Situation und es war nicht angenehm. Ein Ansatz war jedoch, akribisch über die Arbeiten zu berichten, die sich derzeit in der Entwicklung befinden. Wenn Aufgaben auftauchen, erinnern Sie den Kunden, das Management oder den Projektmanager daran, dass andere Arbeiten ausfallen werden, da dies nun zu ihrer Priorität geworden ist (manchmal kann dies zu einer zweiten Vermutung führen, und Sie drängen weiter darauf, die Frist zu verlängern).

Andernfalls müssen Sie versuchen, den Meißel in die Steinmauer zu hämmern, die der Projektmanager / Kundenbetreuer / das Management / der Verkäufer ist, der sich mit dem Kunden befasst und diesen Fristen zustimmt. Ich habe oft gemocht, dass, wenn sie zustimmen, dass etwas 5 Tage dauern wird, sie offensichtlich über 5 Tage Entwicklung sprechen, was bedeutet, dass es 5 Tage dauert, ab dem Sie es bekommen (nicht, wenn sie das Telefon auflegen und dann verbringen In den nächsten zwei Tagen wird ein ausgefallenes Word-Dokument verfasst.

Da Sie jedoch der Entwicklungsleiter sind, ist eine solche Entscheidung irrelevant, wenn Sie sie nicht zuerst konsultieren.

Sie müssen auch versuchen, Ihr Team so gut wie möglich davor zu schützen. Obwohl es schwierig ist, sie so weit wie möglich aus der Kunden- / Managementpolitik herauszuhalten. Ist dies nicht der Fall, muss der Kopf stärker gehämmert werden.

Grundsätzlich hat es mir nicht gefallen und egal wie hart ich mich geschlagen habe, der Prozess wurde nicht perfekt. Allerdings habe ich es geschafft, die Dinge etwas zu verbessern.

dreza
quelle
3

Sie können wahrscheinlich nur mit dem Kunden sprechen. Beschreiben Sie einfach, was passiert, wie Sie es sehen, beschreiben Sie alle Risiken und so weiter. Ich hatte eine ähnliche Situation und ich war wirklich verrückt. Selbst jetzt, wo ich für alle technischen Schätzungen verantwortlich bin, höre ich oft - wir wollen, dass dies bis Montag erledigt ist. Ich sage nur - Sie werden es nicht bekommen, lassen Sie uns diskutieren, was genau Sie bis Montag haben möchten, und dann scheint es oft, dass alle kritischen Funktionen recht einfach zu implementieren sind und Montag absolut in Ordnung ist. Alle anderen Funktionen sind dann für spätere Versionen geplant.

Das Problem besteht darin, dass Kunden den geschäftlichen Wert der Funktion meistens kennen, ihre Komplexität jedoch nicht erkennen. Einfach besprechen und klären. Immer.

Andrey Agibalov
quelle
Akzeptieren Sie niemals eine Frist "... bis Montag". Das bedeutet nur, dass die Entwickler das Wochenende mit der Programmierung verbringen, wenn die Scheiße den Fan trifft. Verwenden Sie Freitag als Frist oder, noch besser, Mittwoch.
sbi
2

Es ist ein guter Anfang, wenn Sie den Kunden daran erinnern, dass Ihr Startdatum nach dem Datum liegt, an dem er die Funktion anfordert. Sie müssen auch mit demjenigen sprechen, der das Erstgespräch mit dem Kunden führt, um Details zu der Funktion zu erhalten, damit dieser dem Kunden zu diesem Zeitpunkt mitteilen kann, was eine bessere Frist wäre. Da Sie bereits mit dem Kunden in Verbindung stehen, können Sie einfach sagen: "Wer in der Abteilung Y hat diesem Termin zugestimmt?"

Wenn sie Sie nicht zu den Gesprächen einladen oder Ihnen sagen, dass Sie ruhig sein und die vereinbarten Termine einhalten sollen, können Sie sie daran erinnern, dass es für das gesamte Unternehmen besser aussieht, wenn Ihr Team pünktlich und auf dem richtigen Weg wäre Um dies zu erreichen, müssen Sie sich an die Fristen halten.

FrustratedWithFormsDesigner
quelle
2

Beheben Sie den Informationsfluss.

  • Wenn Sie mit dem Kunden kommunizieren sollen, müssen Sie alle Projektbeteiligten (einschließlich des Kunden) zwingen, stets eine direkte Verbindung zu Ihnen herzustellen .

Leider wird die Macht meistens von Ihnen selbst ausgeübt und nicht von anderen gewährt.

Ando
quelle
1
Ja, als ob das passieren würde. Wenn Sie das tun würden, würden Sie wahrscheinlich entlassen werden und einiges an Respekt von einigen der Leute bekommen, mit denen Sie zusammenarbeiten, und von einigen der Kunden (die wahrscheinlich auch die Geschäftsführung Ihres Unternehmens satt haben).
Christopher Mahan
2

Eine der Hauptaufgaben auf meinem Teller ist die Kommunikation mit dem Kunden. Eine Sache, die mir besonders schwerfällt, ist der Umgang mit Fristen, weil sie vom Kunden vorgegeben werden und ich häufig nicht konsultiert werde.

Wenn Sie für die Kommunikation mit dem Kunden verantwortlich sein sollen, warum werden Sie nicht zur Planung (und Budgetierung) konsultiert, damit Sie diese Informationen zwischen den Verantwortlichen in Ihrem Unternehmen und ihren Kollegen auf Kundenseite austauschen können? Ich denke, dass die Behebung dieses Problems ein großer Vorteil für Sie, Ihr Team und Ihr Projekt ist.

Der Kunde hat eine Funktion, Feature X, die er hinzufügen möchte. Feature X würde in der App-Version der nächsten Woche, die ungefähr 6 Werktage entfernt ist, gut aussehen. Zu diesem Zeitpunkt muss die Featureanforderung genehmigt werden, und es müssen häufig andere Abhängigkeiten behandelt werden. Irgendwann, N Tage später, rieselt die Feature-Anfrage an mein Team. Auch wenn die ursprüngliche Deadline (die von einem Nicht-Entwickler-Manager festgelegt wurde) erreichbar war, ist sie nicht mehr vorhanden.

Dieses Planungssystem erscheint gelinde gesagt seltsam.

Nach meinen Erfahrungen meldet sich der Kunde für eine bestimmte Version an. Sie können eine Liste der gewünschten Funktionen und Änderungen einreichen und dann mit dem Team verhandeln, das die Software erstellt. Sie können dem Entwicklungsteam auch eine priorisierte Liste von Funktionen zur Verfügung stellen, und das Entwicklungsteam gibt Schätzungen darüber ab, wann verschiedene Funktionssätze ausgeliefert werden können. Es gibt auch andere Varianten.

Aber eine Sache, die ich noch nie gesehen habe, ist, dass ein Kunde die Veröffentlichung so spät im Spiel ändern kann, insbesondere nicht eine Woche vor einer Veröffentlichung. Das scheint nicht richtig zu sein, um die Designer, Entwickler und Tester dieser Art von Druck auszusetzen. Wenn Sie eine iterative Entwicklung durchführen, stellen Sie bei einer Funktion mit hoher Priorität sicher, dass Sie sie zur Form des Rückstands hinzufügen und sie so schnell wie möglich übernehmen. Wenn es sich nicht um eine Funktion mit hoher Priorität handelt, wird sie in dieser Version definitiv nicht benötigt und kann bis zur nächsten warten.

Ich würde empfehlen, einige Grundregeln festzulegen, die sowohl Ihrem Design-, Entwicklungs-, Test- und Auslieferungsteam als auch Ihrem Kunden gerecht werden, um Einfrierungen, Code-Einfrierungen und Auslieferungen zu ermöglichen. Schreiben Sie diese, lassen Sie sich von allen engagieren und halten Sie sich daran. Wenn Sie sich einmal bewegen, wird erwartet, dass Sie sich mehr biegen und die Kontrolle über den Prozess verlieren.

Leider kann ich nicht viel tun, weil ich hier keine Machtposition habe.

Sie könnten nicht allein sein. Aber es hört sich so an, als ob Ihre Designer und / oder Entwickler und / oder Tester unter großem Druck stehen, Zeitpläne einzuhalten. Sie sollten sich als Team mit Ihren Vorgesetzten zusammensetzen und die Situation erklären. Lassen Sie zuerst Ihre Organisation an, sich zu einer Verbesserung des Prozesses zu verpflichten, und arbeiten Sie dann mit dem Kunden zusammen, um zu erfahren, wie die Dinge funktionieren.

Das fühlt sich an, als würde ich mich entschuldigen.

Wenn Sie anfangen, sich zu entschuldigen, ist es möglicherweise an der Zeit, ein schwieriges oder ein entscheidendes Gespräch zu führen . Ich würde eines dieser beiden Bücher empfehlen. Das Lesen hat mir geholfen, meine Kommunikationsfähigkeiten zu verbessern, insbesondere wenn Sie sich einer schwierigen Situation gegenübersehen müssen, in der die Spannungen auf allen Seiten hoch sind.


Um einige der anderen Antworten anzusprechen.

Leider wird die Macht meistens von Ihnen selbst ausgeübt und nicht von anderen gewährt.

Ich weiß nicht, wohin Andrea damit geht. Ja, Sie müssen den Informationsfluss korrigieren. Sie müssen jedoch mit den Projektleitern und dem Kunden zusammenarbeiten, um sicherzustellen, dass jeder weiß, was zu Beginn des Projekts vereinbart wurde (nehme ich jedenfalls an). Wenn das Arrangement aus irgendeinem Grund nicht funktioniert, überdenken Sie es und verteilen Sie die Arbeit und Rollen auf Personen, die besser zu ihnen passen.

Du nimmst keine Macht oder kämpfst gegen Macht, aber du arbeitest damit und versuchst, sie zu zähmen und sie für alle zum Laufen zu bringen.

Das Problem besteht darin, dass Kunden den geschäftlichen Wert der Funktion meistens kennen, ihre Komplexität jedoch nicht erkennen. Einfach besprechen und klären. Immer.

Dieses Zitat von loki2302 ist ziemlich genau richtig . Eine Ihrer Aufgaben als Softwareentwickler ist es, sicherzustellen, dass die richtigen Personen wissen, wie schwierig eine Aufgabe ist, wie lange sie dauern wird und welche Möglichkeiten und Risiken es gibt, etwas zu tun. Als leitender Kommunikator für Ihr Team ist es theoretisch Ihre Aufgabe, diese Informationen von Ihrem Unternehmen an Ihre Kunden zu übermitteln.

Thomas Owens
quelle
2

Finden Sie ein Forum, in dem Sie sich an alle wenden können, die diese Fristen festlegen. Lassen Sie sie wissen, dass sie sich mit Ihnen beraten und etwas Realistischeres präsentieren können. Die Alternativen sind: Sie können dem Kunden mitteilen, dass es nicht passieren wird, oder er kann es dem Kunden mitteilen.

Sie können es so präsentieren, wie Sie es in X Tagen tun können, sobald Ihr Team damit beginnt, daran zu arbeiten. Vielleicht war das die Verwirrung? Es ist ein ehrlicher Fehler, wenn er nicht immer wieder passiert. Dann ist es nur Vernachlässigung.

Ich vermute, Ihr Team hat diese Fristen in der Vergangenheit eingehalten.

JeffO
quelle
2

Leider ist es in unserer Branche endemisch, so dass viele Digital- / Software-Agenturen nichts über das Innenleben oder die Anforderungen ihres Unternehmens wissen. Viele beschäftigen sich nur mit schnellem Bargeld. Wie viele bereits gesagt haben, sollten Sie das Management informieren, wenn Sie keine Schätzungen oder Fristen angeben. Wie ist es möglich, eine technische Arbeit bis x time ohne eine Schätzung einer technischen Person zu liefern, die den Zeitplan des Entwicklungsteams kennt?

Wenn alles andere fehlschlägt, gehen Sie.

Nickz
quelle
1

Geben Sie dem Projektmanager / Chef / Kunden Ihre erreichbaren Schätzungen und Zeitpläne, bitten Sie ihn, Ihren Plan zu bestätigen, oder erarbeiten Sie, woran Sie zuerst arbeiten sollen, und gehen Sie dann weg - engagieren Sie ihn nicht und unterhalten Sie ihn in keiner Weise.
Wenn er mit einem Projektplan zurückkommt, der Ihre Schätzungen nicht widerspiegelt, senden Sie ihn mit der Aussage "Ich verhandle keine Schätzungen" an ihn zurück. und geh weg.

Stellen Sie sicher, dass Sie genügend CYA-Dokumentation haben. Machen Sie allen Beteiligten klar, dass Sie diese Dokumente aufbewahren. Ich habe solche Aufzeichnungen per E-Mail an meine persönliche E-Mail-Adresse gesendet und meinen Chef benachrichtigt, was sehr erfolgreich war.

mattnz
quelle
1

Hier ist ein Ansatz, der konstruktiv wirken sollte, anstatt mit dem Finger zu zeigen. Ich beschuldige Sie nicht, nur zu sagen, dass es nicht gut ist, eine Entschuldigung mit einem anderen Schuldigen zu haben, unabhängig von der Wahrheit der Anschuldigung.

Führen Sie danach eine Post-Mortem-Analyse durch, um zu berechnen, wie lange es tatsächlich gedauert hat, das Projekt abzuschließen, oder hätte es getan, wenn Sie es abgeschlossen hätten. Berechnen Sie dann, wie viele Ressourcenstunden Ihnen ab dem Zeitpunkt zur Verfügung standen, an dem Sie über genügend Informationen und grünes Licht für die Bearbeitung verfügten. Wandeln Sie diese Zahlen in die Anzahl der zusätzlichen Programmierer um, die für die Einhaltung der Frist erforderlich gewesen wären.

Jetzt unterhalten Sie sich mit Ihrem Chef wie folgt:

Zwischen Projektstartdatum Y und Termin Z standen
X Mannstunden zur Verfügung. Für die Ausführung des Projekts waren X + C Mannstunden erforderlich.
Ähnliche Turnaround-Anforderungen gab es auch für andere Projekte.
Wir werden Q zusätzliche Programmierer benötigen, um die Kapazität zu erreichen, die erforderlich ist, um die Erwartungen zu erfüllen.
... natürlich, wenn die Budgets knapp sind, könnten wir vielleicht mit den Projektmanagern zusammenarbeiten, um mehr Zeit in ihre Schätzungen zu investieren, damit wir zu wenig versprechen und zu viel liefern können.

JohnFx
quelle