Verträge über Inputs und Outputs zwischen Teilsystemteams?

Mein Projekt besteht aus 5 Subteams und ich denke, dass die meisten Leute die Subsystemkommunikation unterschätzen.

Denken Sie, dass es eine gute Idee wäre, wenn Teams untereinander Verträge schließen (oder sogar dazu gezwungen werden), Eingabedaten, Ausgabedaten und möglicherweise Kommunikationsprotokolle/Aufrufe zu spezifizieren?

Ich denke, Ihre Frage erfordert möglicherweise ein wenig Arbeit. Die Frage ist ein wenig unvollständig und möglicherweise zu technisch für dieses Forum.
Ich nehme an, diese Frage ist eine Teilmenge dieser Frage: pm.stackexchange.com/questions/8286/…
Bin möglicherweise ein fauler Leser, aber bisher habe ich noch keine Methodik zur Anwendung des agilen Ansatzes für ICDs gesehen. Das Problem ist natürlich, wer N(N-1) ICDs unter N Teams vermitteln wird und wie es funktionieren wird...
@allnightgrocery: (ziemlich viele) Details zu meinem Projekt sind hier: Link
@Tiago Cardoso: ja. Hätte den Link einfügen sollen..
@Deer Hunter: Ähm, meinst du "Schnittstellenkontrolldokument"? Auf diesen Begriff bin ich zum ersten Mal gestoßen.
@Deer Hunter: Nun, es ist besser, 5 * 4 ICDs zu haben als undefinierte 40 * 39 (Teamgröße == 40) Interaktionen. :-) Zum Glück müssten wir bei Systemzerlegung keine 20 Verträge haben. Es wäre wie 5.

Antworten (5)

Du brauchst keine Verträge. Sie benötigen klar definierte Anforderungsdokumente für jede zu erstellende Leistung. Diese sollten gemeinsam von mindestens drei Teams geschrieben werden:

  • Das Team, das das Ergebnis verwenden wird
  • Das Team, das das Ergebnis erstellen wird
  • Das Team, das den Input für das Ergebnis liefert

Das Endergebnis sollte eine Reihe sich überschneidender Dokumente sein, die klare Verantwortlichkeiten für die Bereitstellung der erforderlichen Anforderungen und Ergebnisse für jede Leistung liefern.

Dieses kollaborative Dokument sollte vom PM und seinem Team überprüft werden, um sicherzustellen, dass keine Goldplattierung stattfindet, die Leistung innerhalb des Umfangs liegt, die Qualitäts- und Abnahmekriterien klar sind, Rollen definiert sind usw. usw. Ein gutes Beispiel ist die Arbeitspaketvorlage von PRINCE2. Diese und andere Vorlagen erhalten Sie [hier]. 1

Du bist eine Goldmine! Ich muss mich von ganzem Herzen bedanken! Ich denke, es beginnt sich zusammenzufügen (Arbeitspaket, ICD vielleicht + Kanban + Verantwortung + Maßschneiderung und aktive Aufsicht, die Sie in einem anderen Thread erwähnt haben).

Die Antwort ist ein eindeutiges Ja. Wenn der Input von einem externen Anbieter stammt, haben Sie sicherlich eine Vereinbarung in Bezug auf Menge, Qualität, Spezifikationen, Kosten usw. getroffen. Warum sollte es anders sein, wenn die Eingabe von einer internen Quelle käme?

Jetzt würden die meisten vertraglich eine Art Papiervereinbarung mit Unterschriften annehmen. Einige Teams könnten so etwas verlangen, zB wenn Sie Organisationsabteilungen überqueren, während andere eine einfache mündliche Vereinbarung und einen Handschlag erfordern würden. Viele Team-Chartas können bis zu einem gewissen Grad auch Einsatzregeln festhalten.

Wie auch immer, wenn Sie den Anforderungen innerhalb des Teams nicht zustimmen, verwalten Sie die Arbeit nicht.

Eine sehr gute Antwort auf eine grobe Frage!
„So oder so, wenn Sie den Anforderungen innerhalb des Teams nicht zustimmen, verwalten Sie die Arbeit nicht.“ - Du hast es auf den Punkt gebracht, denke ich.

Ja, Sie sollten auf jeden Fall eine schriftliche Spezifikation haben, in der die Schnittstelle zwischen den Subsystemen beschrieben wird. Dies bildet den Vertrag zwischen den beteiligten Teams. Beide (alle) sollten an der Erstellung der Spezifikation beteiligt sein. Abhängig von Ihrem Dokumentationsstil kann dies eine Wiki-Seite oder ein anderes Online-Dokument sein.

Einige der Dinge, die ich behandeln würde, sind:

  • Format(e) der Daten.
  • Übertragungsmethode (Datei, SOAP, REST, andere).
  • Stapelgrößen, wenn Daten im Stapel übertragen werden.
  • Erwartete Antwortzeit (insbesondere für Schnittstellen, auf die für OLTP zugegriffen wird).
  • Verfügbarkeitsplan.

Ich kann mir das Problem vorstellen, auf das Sie sich beziehen, und ich stimme zu, dass es sich lohnen könnte, es proaktiv zu lösen. (Proaktive Lösungen umfassen Governance/politisches Kapital/Stakeholder-Management. In manchen Umgebungen sind politisches Kapital und Governance außerordentlich teuer, sodass es langfristig billiger sein kann, Fehler einzuplanen und das Problem rückwirkend zu lösen).

Auf den ersten Blick ist dies entweder ein Qualitätsproblem oder ein Risikoproblem. Team A füttert Team B; Team B muss die gewünschten Qualitätsstandards zum Ausdruck bringen, und Team B muss planen, die Risiken zu mindern, wenn die Qualitätsstandards nicht erfüllt werden. Wie @David Espina sagt: Wenn Sie die (teaminternen) Anforderungen nicht verwalten, verwalten Sie die Arbeit nicht. Wenn wir über Protokolle, Inputs und Outputs sprechen, dann zwingt uns der gemeinsame Wunsch nach einem hervorragenden Ergebnis dazu, sehr detaillierte Informationen über Erwartungen auszutauschen.

Beinhaltet das ein formelles SLA für die Teams? Das hängt von den beteiligten Beziehungen ab. Wenn die Teams eng und kooperativ sind, kann ein formelles SLA tatsächlich Innovation und verbesserte Qualität hemmen. Ich werde nervös, wenn Sie den Begriff "Zwang" einführen, weil ich denke, dass die Zusammenarbeit wahrscheinlich wichtiger ist als die tatsächliche Qualität eines Teils. Wenn Sie nicht die Absicht haben, zusammenzuarbeiten und sich gegenseitig exzellent aussehen zu lassen, haben Sie möglicherweise ein XY-Problem , aber vielleicht lese ich da zu tief.

Der Grund, warum ich darüber nachdenke, die Teams dazu zu zwingen, ist, dass, als ich meine Idee mit dem Namen „Vertrag“ (völlig spontan, ohne irgendwelche Hintergrundinformationen zu lesen) in die Welt gesetzt hatte, die Idee mit einem solchen Trommelfeuer versetzt wurde, das ich nicht einmal finden kann die Stücke.
Flak in der Luft deutet stark auf ein XY-Problem hin. Ich vermute, dass das Problem nicht die Qualität ist, sondern die Führung. Die Teams scheinen wahrzunehmen, dass ihre Interessen im Spannungsfeld stehen. Was mir nahelegt, dass "Gewalt" das Problem eher verschlimmert als löst. Viel Glück!

Verlassen Sie den agilen Tenor, sich weniger auf die Dokumentation und mehr auf die Menschen zu konzentrieren, anstatt auf einen Vertrag zu schauen, um zu spezifizieren, was benötigt wird, und konzentrieren Sie sich auf die Einrichtung einer Umgebung, die eine offene, konsistente und genaue Kommunikation fördert.

Hier gibt es ein Problem der „internen Perspektive“: Selbst mit viel gutem Willen neigen die Leute dazu, anzunehmen, dass ihr [Datenformat|API|Problemdefinition|was auch immer] korrekt ist und es das andere Team oder die andere Person ist, die ihre ändern sollte. Auch wenn die Teams A und B ihre Kommunikationsmethode ändern, hat dies Auswirkungen auf die Teams C und D und möglicherweise E. Wir haben ein unangenehmes Problem (viele Querschnittsprobleme zwischen Subsystemen und Problemdomänen).
Ihr Kommentar verstärkt meine Antwort auf Ihre andere Frage. Klingt so, als bräuchten Sie einen Kulturveränderer. [Hier ist die Frage, auf die ich mich beziehe pm.stackexchange.com/questions/8286/…