[de] Kommunikation,

Kommunikation in Softwareprojekten ist sehr wichtig. Ob und wie Teams zusammenarbeiten prägt nachhaltig das Projekt, dass Team und alle Artefakte wie z.B. den Code und gewählte Lösungsansätze. In Teams zu arbeiten, die nur “schwach” kommunizieren, ist für alle nur von Nachteil.

Bei Vorlieben rund um Kommunikation gehen die Meinungen hier jedoch weit auseinander, die große Frage die sich stellt ist: “Wie kommuniziere ich sinnvoll?”.

Wie bei vielen Fragen rund um Soft-Skills werfe ich bei dieser Frage gerne mal einen Blick in “The Clean Code” von Robert C. Martin. In diesem Sinne würde ich die Frage gerne wie folgt umformulieren “wie kommuniziere ich professionell?”.

So when a professional finds himself the butt of a joke, he’ll be the first to laugh.

He will never ridicule others, but will accept ridicule when it is deserved and laugh it off when it’s not.

He will not demean another for making a mistake, because he knows he may be the next to fail.

Wir machen alle Fehler. Alle. Immer. Und wenn wir es jetzt noch nicht wissen, dann nur, weil wir nicht gut genug aufgepasst haben.

Fehler sind schlimm. Lassen sich aber nicht verhindern. Wenn man im Team weniger Fehler macht, dann ist das was Gutes. Jeder Fehler der im Team gefunden wird, dient dem Team. Ein professioneller Entwickler, tut immer alles dafür, dem Team es möglichst einfach zu machen, Fehler zu finden. Auch die eigenen. Auch wenn es schwer fällt. Ein professioneller Entwickler greift nie einen anderen Entwickler direkt an, versucht immer ehrlich und offen fachliches Feedback zu geben, um das Team als ganzes zu stärken.

Kritik auf persönlicher Ebene sollte immer vermieden werden.

Being a team player means playing your position as well as you possibly can,

and helping out your teammates when they get into a jam.

Ein gutes Team unterstützt sich so gut wie möglich. Im Idealfall kennt ein Team sich, kennt die entsprechenden Stärken und vorallem Schwächen. Ein professioneller Entwickler versucht stets die eigenen Schwächen möglichst transparent zu halten, damit das Team in der Lage ist, diese möglichst zu kompensieren. Am Ende zählt schließlich nicht die eigene Leistung, sondern die des Teams.

A team-player communicates frequently,

keeps an eye out for his or her teammates,

and executes his or her own responsibilities as well as possible.

Ein gesundes Team kommuniziert neutral, direkt, ehrlich, offen, aggressiv und friedlich. Gute Teams achten aufeinander, hören Probleme bevor sie auftreten und lösen diese. Ein professioneller Entwickler tut alles dafür, Probleme zu identifizieren und gibt sein Möglichstes um sein Team und alle Stakeholder vor Problemen zu bewahren.

Managers are people with a job to do, and most managers know how to do that job pretty well.

Part of that job is to pursue and defend their objectives as aggressively as they can.

####

By the same token, programmers are also people with a job to do,

and most of them know how to get that job done pretty well.

If they are professionals they will pursue and defend their objectives as aggressively as they can.

Mitglieder eines Teams haben unterschiedliche Rollen. Die Aufgabe des Teams ist es das Ideale aus einer Situation zu schaffen. Ein Team besteht nicht aus mehreren Rollen weil die eine wichtiger ist als die andere, sondern weil ein Zusammenspiel dieser Rollen das beste Ergebnis erziehlt.

Jeder ist jederzeit in der Pflicht seine Rolle möglicht im Sinne des Teams, des Projektes und aller Stakeholder auszuspielen. Einem guten Team ist dies bewusst und agiert mit dem nötigen Respekt andere Rollen und Kompetenzen zu respektieren.

It is easy for developers to identify with each other.

It’s easy to fall into an us versus them attitude with your employer.

Professionals avoid this at all costs.

Jedes Mitglied eines Teams muss jederzeit möglichst aggressiv am Erfolg des Teams arbeiten. Unterschiedliche Rollen haben unterschiedliche Fähigkeiten. Um gemeinsam das Beste zu erreichen, lohnt es sich immer, gemeinsam, aggressiv an dem besten Kompromiss zu arbeiten.

Agiles Arbeiten bringt tolle Werte mit sich, schaut man sich jedoch im Detail an, von wem die Werte niedergeschrieben sind, so stellt man früh fest, dass diese Werte durch viel Erfahrung, Schmerz und Durchhaltevermögen geprägt sind.

Professionelles Arbeiten ist schwierig, erfordert Aufrichtigkeit und ein Team, dass die gleichen Werte teilt.