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.