Teamarbeit und Agil

Als ich als Data Scientist den ersten Job gesucht habe, hatte ich eine große Frage: Teamarbeit. Das Wort oder eine Variante wie Zusammenarbeit steht oft in einem Stellenangebot. Eine typische Frage bei einem Vorstellungsgespräch ist:

Was ist am wichtigsten, wenn Sie in einem Team arbeiten?

Damals hatte ich nur Erfahrung als Forscher. Ein (mathematischer) Forscher arbeitet grundsätzlich unabhängig, auch wenn er mit anderen Forschern einen Artikel schreibt. Dass mehrere Leute für ein Projekt arbeiten, ist meiner Meinung nach nicht unbedingt ein Teamarbeit.

Was ist die Teamarbeit?

Ab heute sind Sie PL!

Angenommen, dass irgendwer (Produkt-Besitzer) Sie befehlt, ein Projekt anzufangen. Sie ist als Projekt Leiterin für das Projekt verantwortlich und dürfen zwei Mitarbeiter (Entwickler) für das Projekt haben.

Dann die Struktur Ihres Projekts sieht vielleicht folgend aus.

Die blauen Pfeile zeigen Kommunikation. Die Anforderungen erfahren Sie vom Produkt-Besitzer und weisen den Entwickler die Aufgaben zu. Sie kümmern sich um das Projekt.

  • Wie sieht der Fortschritt der Entwicklung aus?
  • Hat das Projekt Verspätung?
  • Habe ich genug Ressourcen? Wie viel ist das Budget übrig?
  • Kann ich bis zum Deadline alles erledigen?
  • Erfüllt die Implementation die Anforderungen vom Produkt-Besitzer?

Der Grund für ⛔

Da Sie für das Budget zuständig ist, müssen Sie verhindern, dass der Produkt-Besitzer irgendeine Aufgabe von den Entwicklern anfordert. Wenn die Entwickler für die extra Aufgabe arbeiten, verlieren Sie das Budget oder der Plan geht kaputt. Es ist auch möglich, dass Sie die Änderung des Scopes gar nicht erfahren: Der Produkt-Besitzer kommuniziert unmittelbar mit einem Entwickler. In solchem Fall ist es nicht möglich, dass Sie mit dem Projekt auf dem Laufenden sind.

Sag mal Entwickler B. Warum implementierst du die Klasse XXX? Ich kann das nicht verstehen. Was? Das ist eine Anforderung des Produkt-Besitzers? Ich habe nie das gehört! Ich habe dich doch gebeten, die Klasse YYY zu implementieren. Konzentriere dich bitte darauf! Ohne die Klasse YYY kann Entwickler A ein wichtiges Diagramm nicht umsetzen.

Deshalb darf kein Entwickler unmittelbar für das Projekt mit dem Produkt-Besitzer kommunizieren.

Es ist einfach zu sagen, dass Entwickler B eine falsche Entscheidung getroffen hat. Er hat keine Berechtigung der Änderung des Projekts. Er musste immer Sie danach fragen.

Aber ich bin der Meinung, dass Sie auch schuldig ist.

  • Der Produkt-Besitzer besitzt (oft) eine Autorität. Was wäre, wenn der Produkt-Besizter Ihre Chefin oder ein wichtiger Kunde wäre?
  • Haben Sie einmal erklärt, dass die Entwickler keine Berechtigung, eine Anforderung nicht durch Sie zu akzeptieren? Oder haben Sie dem Produkt-Besitzer erklärt, dass er erstmals mit Ihnen sprechen muss, wenn er einen Wunsch hat?

Aber hier gibt es ein Problem: Entwickler B ist ein Experte der UI und Sie haben gar keine Ahnung für die UI. Deshalb sollte Entwickler B unmittelbar mit dem Produkt-Besitzer kommunizieren. Das ist effizienter.

Nochmal: Der Entwickler kann/darf keine Entscheidung über das Projekt treffen. Sie sind für die Kontrolle des Projekts zuständig, nicht er.

Zumindest gibt es zwei Lösungen:

  1. Bei der Kommunikation zwischen dem Entwickler und dem Produkt-Besitzer sind Sie immer da.
  2. Sie lassen die Entwickler alle (neuen) Anforderungen mitteilen, ohne dass er keine Entscheidung trifft.

Minimale Kommunikation zwischen Entwicklern

Der Pfeil zwischen Entwicklern ist hell. Das ist kein Fehler. Auch wenn die Entwickler zum Projekt beitragen, gibt es keinen Grund für die häufige Kommunikation zwischen den Entwicklern.

Ein Entwickler weiß eigentlich nicht, was andere Entwickler genau machen. Alle können beispielsweise wissen, dass Entwickler A eine API entwickelt und Entwickler B die Oberfläche entwickelt. Aber es ist ganz normal, dass Entwickler B gar nicht weiß, was für eine Datenverarbeitung Entwickler A gemacht hat. Das liegt daran, dass die ausführliche Implementation, die Entwickler A gemacht hat, nicht relevant für den Entwickler B ist. Entwickler A verwendet einfach die API und das ist alles.

Sie haben auch keinen Plan, dass die Entwickler miteinander kommunizieren. Sie haben nämlich keine Zeit für die Kommunikation geplant. Es geht NICHT um das Status-Meeting, sondern um den ausführlichen Informationsaustausch.

Haben Sie niemals Kommunikation zwischen Stakeholdern nachgedacht?

Das bedeutet, dass Sie gar nicht das Projekt verwaltet. Wenn das Projekt erfolgreich geendet hat, hatten Sie einfach Glück und/oder die Entwickler haben gut gemacht, nicht Sie.

Ist das Teamarbeit?

Ich weiß, dass viele Leute sagen, dass das Teamarbeit/Zusammenarbeit ist, nur weil mehrere Mitglieder für das Projekt gearbeitet haben. Aber ich bin der Meinung, dass das keine Teamarbeit ist. Das Team ist gar nicht selbstorganisiert. Die Struktur ist einfach eine Hierarchie.

Dann was ist die Teamarbeit überhaupt?

Die agilen Grundwerte

Seit ungefähr einem Jahr lerne ich agiles Projektmanagement. Es gibt mehrere Gründen, warum agiles Projektmanagement (für mich) wichtig ist. Die Teamarbeit zu verstehen, ist ein davon.

Die agilen Grundwerte sind die wichtigsten Werte im agilen Projektmanagement und bestehen aus vier Aussagen.

  1. Menschen und deren Zusammenarbeit sind wichtiger als Prozesse und Werkzeuge.
  2. Ein funktionierendes Produkt ist wichtiger als umfassende Dokumentation.
  3. Die Zusammenarbeit mit dem Kunden ist wichtiger als Vertragsverhandlungen.
  4. Die Reaktion auf Veränderung ist wichtiger als das Befolgen eines Plans.

(Jörg Preußig, Agiles Projektmanagement, Seite 16)

In der ersten Aussage geht es genau um die Teamarbeit (bzw. Zusammenarbeit). Deshalb ist für mich wichtig, wie man durch das agile Projektmanagement die Teamarbeit realisieren kann.

NB: Laut der offiziellen Ãœbersetzung ist die erste Aussage: "Individuen und Interaktionen mehr als Prozesse und Werkzeuge".

Obwohl die agilen Grundwerte die Teamarbeit erwähnen, wird keine konkrete Definition genannt. Aber immerhin gibt es viele Hinweise auf die Teamarbeit. Zum Beispiel: ein selbstorganisiertes Team. Die Art und Weise von einem selbstorganisierten Team soll die Teamarbeit sein. Dann was ist die wichtigste Eigenschaft in einem selbstorganisierten Team? Die Antwort auf diese Frage soll die Definition der Teamarbeit sein.

Meine Antwort ist:

Die Teamarbeit bedeutet, dass alle Mitglieder (für ein Projekt) proaktiv Entscheidungen treffen.

Damit alle Mitglieder proaktiv Entscheidungen treffen können, müssen (zumindest) die folgenden Bedingungen erfüllt werden.

  1. Alle Mitglieder haben immer die aktuelle relevante Information.
  2. Alle Mitglieder übernehmen das Projekt.

Der Grund für diese Bedingungen ist klar: Man braucht relevante Information und die Berechtigung, um eine Entscheidung zu treffen.

1. Die aktuelle relevante Information

Es ist bekannt, dass jedes Projekt drei Begrenzungen hat:

  • Scope: Etwas, was ausgeliefert werden soll.
  • Budget: Das Budget ist im diesem Eintrag die Arbeitszeit. (Also wir ignorieren hier die externen Kosten wie Lizenz.)
  • Zeit: Der Zeitraum des Projekt oder ein Sprint.

Diese Informationen sind wichtig für das Projektmanagement und deshalb müssen alle Mitglieder diese Informationen bekommen.

NB. Das ist nicht alles. Die Mitglieder müssen auch die Regeln für das Projekt (wie die Regeln vom Test) und den Prozess des Projekts verstehen.

Ãœberlegen Sie die obige erfundene Geschichte. Der Produkt-Besitzer bittet einen Entwickler um eine Aufgabe. Die Aufgabe bedeutet eine Änderung des Scopes. Deshalb verursacht die Änderung auch die Änderungen von dem Budget und der Zeit. Was wäre, wenn der Entwickler wissen würde, dass das Budget (∼ Arbeitszeit) noch übrig ist und es kein Problem mit dem Plan gibt. Dann könnte der Entwickler die Aufgabe innerhalb des Budgets und dem Plan erledigen.

Natürlich muss er alle Mitglieder des Projekts über die Entscheidung informieren. Sonst gibt es ein Problem mit dem Projekt.

2. Ãœbernahm des Projekts

Auch wenn die Mitglieder die relevante Information haben und auf dem Laufenden sind, können sie keine Entscheidung treffen, wenn sie keine Berechtigung haben. Deshalb müssen sie, alle Mitglieder, die Rechte haben, das Projekt anzupassen.

Mit anderen Worten übernimmt das ganze Team das Projekt.

Sind 2 Bedingungen genug für ein selbstorganisiertes Team?

Nein. Die Bedingungen (Information und Berechtigung) sind der Ansatzpunkt, ohne die Bedingungen ist das Team nicht selbstorganisiert.

Was macht die PL in einem Projekt?

Wenn alle Mitglieder für das Scope, das Budget und die Zeit verantwortlich sind, was macht die PL im Projekt?

Eine klassische PL ist nicht nötig im Projekt. Aber beispielsweise kann sie für die Schreibarbeit, den Einsatz, die Verhandlung zuständig sein. Wichtig ist, dass sie keine Autorität besitzt.

Teamarbeit ist schwierig

Die zwei Bedingungen zu erfüllen, ist schwierig. Die zweite Bedingung klingt formal, aber sie bedeutet, dass alle Mitglieder "als Projektleiter" arbeiten. Zu viele Köche verderben den Brei. Um eine Katastrophe zu verhindern, muss das Team irgendwie verwaltet werden.

Ich bin der Meinung, dass Regeln für ein Projekt nötig sind, damit das Team sich organisieren kann. Vor allem ist eine Regel für Kommunikation: Wie und worüber die Mitglieder miteinander kommunizieren müssen, damit alle Mitglieder immer auf dem Laufenden sind.

Also meine Antwort auf die Frage

Was ist am wichtigsten, wenn Sie in einem Team arbeiten?

ist: die Kommunikation, damit alle Mitarbeiter immer auf dem Laufenden sind.

Share this page on        
Categories: #sonstiges