Konzept: Teamübergreifend zusammenarbeiten
Dieses Prinzip erläutert, wie effektive Zusammenarbeit gefördert wird.
Hauptbeschreibung

Einführung

Dieses Prinzip betont, wie wichtig es ist, projektweite Kommunikation zu fördern. Dazu müssen Teams richtig organisiert und effektive, der Zusammenarbeit förderliche Umgebungen aufgebaut werden.

      
Vorteile
  • Teamproduktivität
  • Bessere Verbindung zwischen Geschäftsbedürfnissen, Entwicklung und Betrieb von Softwaresystemen.
Muster
  1. Menschen zu Bestleistung motivieren
  2. Selbst verwaltete Teams aufbauen
  3. Funktionsübergreifende Zusammenarbeit (z. B. zwischen Analytikern, Entwicklern, Testern) fördern
  4. Effektive, der Zusammenarbeit förderliche Umgebungen bereitstellen
  5. Sich weiterentwickelnde Artefakte und Aufgaben verwalten, um die Zusammenarbeit sowie die Fortschritts- und Qualitätsüberwachung in integrierten Umgebungen zu verbessern.
  6. Teams für Geschäft, Software und Betrieb integrieren
Antimuster
  • Entwickler dazu bewegen, extrem lang, einschließlich der Wochenenden, zu arbeiten
  • Hochspezialisierte Fachleute mit leistungsstarken Tools ihre Arbeit machen lassen und die Zusammenarbeit zwischen den Teammitgliedern sowie die Integration zwischen den verschiedenen Tools begrenzen. Von folgender Annahme ausgehen: Wenn nur jeder seine Arbeit gut macht, ist auch das Endergebnis gut.

Diskussion 

Software wird im Idealfall von kompetenten und motivierten Personen in enger Zusammenarbeit entwickelt. Viele komplexe Systeme erfordern die Zusammenarbeit mehrerer Stakeholder mit unterschiedlichem Know-how, und bei den größten Projekten werden oft geografische und zeitliche Grenzen überschritten, wodurch die Komplexität des Entwicklungsprozesses erhöht wird. Aus diesem Grunde stehen die Faktoren Mensch und Zusammenarbeit, verschiedentlich auch als "weiches" Element der Softwareentwicklung bezeichnet, im Mittelpunkt der so genannten agilen Softwareentwicklung. Die Anwendung dieses Prinzips wirft viele Fragen auf: 

  • Wie werden Menschen zu ihrer Bestleistung motiviert?
  • Wie funktioniert die Zusammenarbeit in Softwareteams, die an einem Ort arbeiten, und in verteilten Softwareteams?
  • Wie funktioniert die teamübergreifende Zusammenarbeit zwischen Teams, die für Geschäft, Softwareentwicklung und IT-Operationen verantwortlich sind?

Der erste Schritt einer effektiven Zusammenarbeit besteht darin, einzelne Personen zu ihrer besten Leistung zu motivieren. Der Begriff der selbst verwalteten Teams ist beliebt in der agilen Softwareentwicklung (siehe Konzept: Agile Verfahren und RUP). Er basiert auf dem Konzept, ein Team auf seine Aufgabe zu verpflichten und ihm dann die Entscheidungsfreiheit für alle das Ergebnis direkt betreffenden Fragen zu geben. Wenn Menschen das Gefühl haben, dass sie für das Endergebnis wirklich verantwortlich sind, sind sie viel motivierter, gute Arbeit zu leisten. Das Prinzip der agilen Entwicklung kann man wie folgt formulieren: "Beauftrage motivierte Menschen mit einem Projekt. Gib ihnen die Umgebung und die Unterstützung, die sie benötigen, und vertraue darauf, dass sie ihre Arbeit machen."

Der zweite Schritt besteht darin, funktionsübergreifende Zusammenarbeit zu fördern. Softwareentwicklung ist Teamarbeit. Bei einem iterativen Ansatz erhöht sich die Notwendigkeit, eng als Team zusammenzuarbeiten. Es geht darum, die Grenzen zwischen Analytikern, Entwicklern und Testern, die es häufig gibt, zu überwinden und die Verantwortlichkeit dieser Rollen zu erweitern, um eine effektive Zusammenarbeit in einer Umgebung mit kurzen Fertigungszeiten sicherzustellen. Es muss sichergestellt sein, dass alle Beteiligten Auftrag und Vision des Projekts verstehen.

Wenn Teams wachsen, ist es erforderlich, ihnen effektive Umgebungen für die Zusammenarbeit zur Verfügung zu stellen. Diese Umgebungen vereinfachen und automatisieren die Erfassung von Messdaten und die Statusmeldungen, und sie automatisieren das Build-Management und die Buchhaltung im Kontext des Konfigurationsmanagements. Diese Effizienz bewirkt, dass weniger Zeit für Besprechungen aufgewendet werden muss, d. h., die Teammitglieder haben mehr Zeit für produktive und kreative Aktivitäten. Diese Umgebungen sind auch in anderer Weise geeignet, eine effektivere Zusammenarbeit zu gewährleisten, nämlich dadurch, dass sie die Kommunikation vereinfachen und örtliche und zeitliche Abstände zwischen verschiedenen Teammitgliedern überbrücken. Beispiele für eine solche Umgebung reichen von gemeinsam genutzten Projekträumen bis hin zu Netz- oder webbasierten Lösungen, wie z. B. Wikis oder integrierten Entwicklungsumgebungen (IDE).

Je kritischer Software für die geschäftlichen Kernprozesse wird, desto höher ist der Bedarf an effektiver Zusammenarbeit zwischen Teams. In den meisten Organisationen kommunizieren die Teams, die für die Leitung des Geschäfts, die Entwicklung der Anwendungen und die Ausführung der Anwendungen verantwortlich sind, nicht ordentlich miteinander.

Das letztendliche Ziel im Kontext dieses Prinzips ist die integrierte Zusammenarbeit zwischen den Teams für Geschäft, Software und Betrieb. Da Software immer wichtiger wird für die Art der Geschäftsführung, muss eine enge Zusammenarbeit zwischen den Teams, die Einfluss auf die aktuelle und künftige Geschäftsführung haben, den Teams, die unterstützende Softwaresysteme entwickeln, und den Teams, die IT-Operationen ausführen, geschaffen werden. In den meisten Unternehmen ist die Kommunikation zwischen diesen drei Gruppen unzureichend.