Der Schlüssel zur effektiven Softwareentwicklung ist die Zusammenarbeit.
Keine Gruppe von Individuen kann so viel erreichen wie ein Team, das wirklich zusammenarbeiten kann.
Dies bedeutet, zu lernen, verschiedene Persönlichkeitstypen zu navigieren, Ihre eigenen persönlichen Stärken (und Schwächen) zu verstehen und Meinungsverschiedenheiten beiseite zu legen, um auf ein gemeinsames Ziel hinzuarbeiten.
Aber um das zu tun, müssen Sie einen Einblick in die Arten von Menschen haben, mit denen Sie zusammenarbeiten. Sie brauchen Empathie für ihre Erfahrungen – und praktisches Wissen darüber, wie sie in die gesamte Teamdynamik passen.
In der Welt der Softwareentwicklung gibt es einige gängige Arten von Entwicklern, denen Sie mit ziemlicher Sicherheit begegnen werden (falls Sie dies noch nicht getan haben). Während kein Individuum in Wirklichkeit eine Karikatur ist, kann ein Verständnis der Gedanken und Motivationen derer in Ihrem Team Ihnen helfen zu lernen, wie Sie effektiver zusammenarbeiten können.
Für technische Manager ist es auch wichtig, die relativen Stärken, Fähigkeiten und Tendenzen Ihrer Teammitglieder zu identifizieren. Auf diese Weise können Sie Einzelpersonen effektiver verwalten und strategisch darüber nachdenken, wie Sie Menschen in die Lage versetzen können, erfolgreich zu sein.
Schauen wir uns einige der häufigsten Arten von Ingenieuren an und welche Rollen sie am besten als Teil Ihres Teams spielen können.
Wenn wir uns mit jedem dieser Entwickler-Archetypen befassen, können wir ein starkes Verständnis für die Rolle gewinnen, die sie am besten im Team spielen können.
Der Assistent – oder der erfahrene Veteran des Teams – eignet sich wahrscheinlich am besten für die Leitung von Kernprojekten und die Anleitung jüngerer Entwickler. Obwohl sie in der Regel sehr talentiert und kenntnisreich sind, werden sie aufgrund ihrer jahrelangen Erfahrung wahrscheinlich zu langjährigen Praktiken zurückkehren und Veränderungen oder „Innovationen“ vermeiden.
Am anderen Ende des Spektrums ist der unendliche Optimierer wahrscheinlich ständig auf der Suche nach dem neuesten und besten Weg, Dinge zu tun. Diese Entdeckungen können dem Team helfen, effizienter und effektiver zu werden, aber das Streben nach kontinuierlicher Verbesserung kann sie in der Zwischenzeit weniger zuverlässig machen.
Der Großteil des Entwicklungsteams besteht wahrscheinlich aus fleißigen Programmierern. Diese Ingenieure sind zuverlässig und konsequent, aber es ist unwahrscheinlich, dass sie neue Ideen einbringen oder die Extrameile gehen, um sicherzustellen, dass das Projekt ein Erfolg wird.
Entwickler, die als Superhelden bekannt sind, unterscheiden sich von fleißigen Programmierern dadurch, dass sie sich durch intensive Produktivitätssteigerungen auszeichnen. Leider kann niemand die Leistung auf Superheldenebene unbegrenzt aufrechterhalten, was bedeutet, dass es wichtig ist, seine Zeit und Energie zu verwalten. Der Schlüssel ist, ihre extremen Tendenzen nur dann einzusetzen, wenn sie am dringendsten benötigt werden und die Qualität und Konsistenz der Teamarbeit am wenigsten gefährden.
Einige Entwickler arbeiten am besten isoliert und ohne viel Aufsicht oder Management. Wir betrachten diese Entwickler als die isolierten Künstler. Sie sind oft mit genialer Meisterschaft verbunden, können aber Projekte überdenken oder komplizieren, die kein intensives, fokussiertes Denken erfordern.
Die meisten Teams verlassen sich auf bestimmte Entwickler, die eine unheimliche Fähigkeit haben, die perfekte Lösung und genau den richtigen Zeitpunkt zu finden – die Kupplung. Diese Entwickler sind in der Regel in der Crunch-Zeit unglaublich zuverlässig, gedeihen aber möglicherweise nur unter hohem Druck. Wie Superhelden ist es wichtig, dass sie an den Projekten beteiligt sind, bei denen sie den größten Nutzen bringen können.
Schließlich haben wir Entwickler, die als die Kopfschmerzen gelten. Dies sind in der Regel Junior-Ingenieure, die manchmal Fehler machen oder Projekte verlangsamen können. Aber, alles ist nicht verloren. Mit dem richtigen Management und der richtigen Anleitung können Entwickler, die als problematisch beginnen, sich oft verbessern und zu kritischen und zuverlässigen Mitgliedern des Teams werden.
Keiner dieser Archetypen ist notwendigerweise „am besten“. Eigentlich, Die meisten Teams werden – und sollten wahrscheinlich – auf der ganzen Linie aus einer ziemlich gleichmäßigen Mischung bestehen. Dies bedeutet, dass Teams Entwickler haben, die eine Reihe komplementärer Stärken und Schwächen bieten, die durch effektive Führung zusammengefügt werden können.
Der Schlüssel ist, die individuellen Stile und Gewohnheiten jedes Entwicklers zu verstehen, damit seine Beiträge maximiert werden können und das Team – als Ganzes – die bestmögliche Arbeit leisten kann.
Das wissen und verstehen die besten Manager.
Anstatt strenge, einseitige Erwartungen an jede Art von Entwickler durchzusetzen, wird ein großer Führer jede Person als Individuum bewerten, um zu bestimmen, welche Bedingungen sie braucht, um zu gedeihen.
Mit den richtigen Leuten in den richtigen Rollen wird jeder in der Lage sein, bessere Leistungen zu erbringen.