Um nicht zu allgemein zu sein, wäre die direkte Frage:
Wird von einem Entwickler erwartet, dass er Projektmanager kontinuierlich an ein Feature erinnert, das nicht implementiert wurde, weil ihm die Ressourcen fehlen, um es zu implementieren?
Die Regeln sind wie folgt: Wir haben ein Brett mit Aufgaben in Spalten. Ein Entwickler wählt eine Aufgabe in "OPEN" aus und beginnt mit der Arbeit daran. Dabei verschiebt er die Aufgabe auf "IN PROGRESS". Wenn er fertig ist, geht die Aufgabe zu "ENTWICKLUNG ABGESCHLOSSEN" (später zu Testen). Aber wenn etwas schief geht, sollte die Aufgabe in "FEEDBACK" verschoben werden, wo etwas gelöst werden muss. Vielleicht fehlt das Design oder eine Beschreibung ist unklar ...
Ziemlich einfach, wenn Sie mich fragen.
Meiner Meinung nach ist es als Entwickler, wenn eine Aufgabe nicht abgeschlossen werden kann und ihr Ticket in „FEEDBACK“ ist, die Verantwortung eines Projektmanagers, ein Feature im Auge zu behalten und sich zu bemühen, eine Person zu finden, die das Problem damit lösen kann.
Aber was ist in unserem Team passiert: Es wurde ein Ticket an "FEEDBACK" gesendet, da die benötigte API nicht implementiert war. Das Ticket lag ein paar Monate da (ja, eigentlich fast ein halbes Jahr) und irgendwann hat einer der Projektmanager das Ticket einfach geschlossen, weil ein anderer Projektmanager berichtet hat, dass er das Problem an ein anderes Team weitergeleitet hat. Ein weiterer Monat vergeht und plötzlich taucht dieses Not-Completed-Feature auf. Jetzt ist einer der Projektmanager wütend und behauptet, dass es unsere Verantwortung als Entwickler ist, solche Dinge im Auge zu behalten, und dass er erwarten würde, dass wir eine Art Liste von Dingen haben, die nicht erledigt sind.
Ist das wahr? Sollten wir neben dem Brett, das wir bereits haben, irgendwie ein paar zusätzliche Dinge im Auge behalten? Ich würde erwarten, dass ein einziges Board für solche Dinge ausreichen sollte, und das Entwicklungsteam hat alles in seiner Macht Stehende getan, um ein solches Durcheinander zu verhindern. Wenn nicht, haben Sie eine Empfehlung, wie solche Probleme vermieden oder solche potenziellen Probleme besser verfolgt werden können?
Um eine vollständige Geschichte darüber zu erzählen, wie / was passiert ist:
Wir machen eine mobile Anwendung. Vor einigen Monaten erhielten wir eine Anfrage, dass auf einem bestimmten Bildschirm (selten von einem Benutzer gesehen) ein Fehler von der API empfangen werden könnte (aufgrund einer seltenen Situation). Jetzt wird dieser spezifische Fehler auch einen Unterfehlercode melden. Wenn also dieser Fehler auftritt, wird ein Unterfehler A
oder Unterfehler hinzugefügt. B
Und abhängig von diesem Unterfehler muss die App entweder screenA
oder anzeigen screenB
. Aber die API lieferte weder A
noch B
und die abgeschlossene Aufgabe konnte nicht validiert oder getestet werden.
Also wurde das Ticket in "FEEDBACK" gestellt und erklärt, dass die API einfach nicht bereit dafür ist. Aber dann begann eine Diskussion über das Ticket, den Bildschirm trotzdem zu sehen, nur um das Design zu überprüfen. Also fügte der Entwickler eine Logik hinzu, um zufällig anzuzeigen screenA
, oder screenB
und meldete dies im Ticket, das sich noch in "FEEDBACK" befand.
Monate vergingen und irgendwann versuchte einer der PMs, damit umzugehen. Also (nehme ich an) hat er dies dem für API zuständigen Team gemeldet und das Ticket kommentiert, etwa "Sie haben uns gesagt, dass dies ein Fehler auf ihrer Seite ist. Erwähnen Sie: theOtherPM, können wir dieses Ticket jetzt schließen?". Und "theOtherPM" hat dann das Ticket geschlossen. Einen weiteren Monat später bricht darüber die Hölle los und ich bin verwirrt, warum das die Schuld von uns Entwicklern ist.
Hinweis: Noch zu erwähnen ist, dass das andere Team, das unter anderem für die API zuständig ist, nicht Teil unseres Netzwerks und nicht einmal Teil unseres Unternehmens ist. Wir als Entwicklungsteam haben keine direkte Kommunikation mit ihnen. Es gab also keine andere Möglichkeit, dies zu lösen, als durch unser Management.
Die Frage, die Sie stellen, ist wirklich ein X / Y-Problem. Sie haben ein paar andere Probleme, die Sie in Ihrer Frage nicht wirklich genannt haben:
Wenn Sie traditionelle Projektmanager haben, die für das Projekt verantwortlich sind, dann sind sie letztendlich dafür verantwortlich, den Status von Arbeitselementen zu verfolgen und sie angemessen zu melden. Dies gilt unabhängig davon, ob sie einen Teil dieser Verantwortung an Mitglieder des Teams delegieren oder nicht.
Wenn Sie andererseits einen wirklich agilen Prozess haben, sollten sowohl die Verantwortung als auch die Verantwortlichkeit für die Nachverfolgung von Arbeitselementen durch die Arbeitsvereinbarungen des Teams klar definiert sein, sowohl innerhalb des Teams als auch mit anderen Teams. Es gibt keine richtige oder falsche Antwort darauf, wer rechenschaftspflichtig oder verantwortlich sein sollte, solange es den Bedürfnissen aller Beteiligten entspricht, einschließlich denen des Projektteams selbst.
Ich denke, dies hat eine kanonische Antwort, zumindest aus traditioneller PM-Sicht, wenn nicht mit Agile oder Kanban oder was auch immer.
Wenn ein Teil der Arbeit aus irgendeinem Grund vom Mechaniker, Entwickler, Handwerker oder wem auch immer nicht abgeschlossen werden konnte, fällt das Problem zurück an den PM- oder PM-Steuerungsteil des Projekts, um verfolgt und gelöst zu werden. Das zugewiesene Projektpersonal, das diese Arbeit ausführen sollte, wechselt entweder zu anderen Arbeiten oder verlässt sogar das Projektgelände. Diese Rolle würde dieses Problem nicht mehr verfolgen und in vielen Fällen nicht mehr kontrollieren und kontrollieren können. Innerhalb der PM-Steuerung wird die Verantwortung zum Eigentümer, und das kann von Projekt zu Projekt unterschiedlich sein.
Wenn etwas in diesem Prozess zusammenbricht und dieser Artikel verloren geht, liegt die Verantwortung für diesen Verlust beim PM oder der PM-Kontrolle.
MCW
Matic Oblak
Mike Robinson
Mike Robinson
Matic Oblak
Mast
Chronozid
Will Crawford
Mike Robinson