„Universal“ im Entwicklungsteam: Vorteil oder Nachteil?

„Universal“ im Entwicklungsteam: Vorteil oder Nachteil?

Hallo zusammen! Mein Name ist Liudmila Makarova, ich bin Entwicklungsmanagerin bei UBRiR, und ein Drittel meines Teams besteht aus "Universal-Experten".

Geben Sie es zu: Jeder Tech Lead trĂ€umt von interdisziplinĂ€rer Zusammenarbeit innerhalb seines Teams. Es ist einfach großartig, wenn eine Person die Arbeit von dreien ĂŒbernehmen kann, und das auch noch qualitativ hochwertig und ohne Verzögerungen. Und nicht zu vergessen – das spart Ressourcen!
Das klingt sehr verlockend, aber ist es wirklich so? Lassen Sie uns das nÀher untersuchen.

Wer ist unser Vorreiter der Erwartungen?

Unter dem Begriff "Universal-Experte" versteht man in der Regel Teammitglieder, die mehr als eine Rolle kombinieren, zum Beispiel einen Entwickler-Analysten.

Die Interaktion im Team und das Ergebnis ihrer Arbeit hÀngen von den beruflichen und persönlichen QualitÀten der Teilnehmer ab.

Bei den Hard Skills ist alles klar, aber die Soft Skills verdienen besondere Aufmerksamkeit. Sie helfen, den richtigen Zugang zu einem Mitarbeiter zu finden und ihn auf die Aufgabe zu lenken, bei der er am effektivsten ist.

Es gibt viele Artikel ĂŒber die verschiedenen Persönlichkeitstypen in der IT-Branche. Basierend auf meiner Erfahrung wĂŒrde ich IT-Universal-Experten in vier Kategorien einteilen:

1. „Universal-Experte – allmĂ€chtig“

Solche gibt es ĂŒberall. Sie sind immer sehr aktiv, wollen im Mittelpunkt stehen, fragen stĂ€ndig ihre Kollegen, ob sie Hilfe brauchen, und können manchmal sogar nerven. Sie interessieren sich nur fĂŒr bedeutende Aufgaben, an denen sie kreativ arbeiten können, um ihr Ego zu stĂ€rken.

StÀrken:

  • in der Lage, komplexe Probleme zu lösen;
  • tauchen tief in die Problematik ein, „graben“ und erreichen Ergebnisse;
  • besitzen einen neugierigen Verstand.

Aber:

  • emotional instabil;
  • wenig steuerbar;
  • haben ihre uneingeschrĂ€nkte Meinung, die sehr schwer zu Ă€ndern ist;
  • es ist schwierig, sie zu einfachen Aufgaben zu bewegen. Leichte Aufgaben verletzen das Ego der Alleskönner.

2. „Universalist – ich werde mich auseinandersetzen und es machen“

Diese Personen benötigen nur ein Handbuch und etwas Zeit – dann lösen sie das Problem. Meistens haben sie einen umfangreichen Hintergrund als DevOps. Solche Universalisten machen sich keine MĂŒhe mit dem Design und ziehen es vor, die Entwicklungsstrategie ausschließlich auf Basis ihrer eigenen Erfahrungen anzuwenden. Sie können leicht in einen Streit mit dem technischen Leiter ĂŒber die gewĂ€hlte Implementierungsmethode geraten.

StÀrken:

  • eigenstĂ€ndig;
  • stressresistent;
  • kompetent in vielen Bereichen;
  • Sie sind gebildet – es gibt immer etwas, worĂŒber man sprechen kann.

Aber:

  • oft brechen sie ihre Verpflichtungen;
  • neigen dazu, alles kompliziert zu machen: Sie lösen die Multiplikation durch partielle Integration;
  • die ArbeitsqualitĂ€t ist niedrig, alles gelingt erst beim zweiten oder dritten Versuch;
  • verschieben stĂ€ndig die Fristen, weil sich herausstellt, dass alles nicht so einfach ist.

3. "Universal – gut, lass mich machen, da sonst niemand da ist"

Der Mitarbeiter hat ein gewisses Fachwissen in mehreren Bereichen und entsprechende Erfahrung. Doch es gelingt ihm nicht, in einem dieser Bereiche zum Experten zu werden, da er hÀufig als Rettungsring eingesetzt wird, um aktuelle Aufgaben zu lösen. Er ist anpassungsfÀhig, folgsam und glaubt, gefragt zu sein, ist es aber tatsÀchlich nicht.

Der praktisch ideale Mitarbeiter. Höchstwahrscheinlich hat er ein bestimmtes Fachgebiet, das ihm besser gefÀllt, aber aufgrund der vagen Kompetenzen findet keine Entwicklung statt. Infolgedessen riskiert die Person, ungenutzt und emotional ausgebrannt zu werden.

StÀrken:

  • verantwortungsbewusst;
  • ergebnisorientiert;
  • gelassen;
  • vollstĂ€ndig kontrollierbar.

Aber:

  • Zeigen durchschnittliche Ergebnisse aufgrund eines niedrigen Kompetenzniveaus;
  • können keine komplexen und abstrakten Aufgaben lösen.

4. „Universal – ein Meister seines Fachs“

Eine Person mit einem soliden Hintergrund als Entwickler, die systematisches Denken mitbringt. Sie ist pedantisch und stellt hohe Anforderungen an sich selbst sowie an das Team. Jede Aufgabe, an der sie beteiligt ist, kann sich unendlich ausdehnen, wenn keine Grenzen festgelegt werden.

Ist gut vertraut mit der Architektur und wÀhlt die Methode der technischen Umsetzung sorgfÀltig aus, indem sie die Auswirkungen der gewÀhlten Lösung auf die aktuelle Architektur analysiert. Bescheiden, nicht ehrgeizig.

StÀrken:

  • zeigen eine hohe ArbeitsqualitĂ€t;
  • sind in der Lage, jede Aufgabe zu lösen;
  • sind sehr arbeitsam.

Aber:

  • intolerant gegenĂŒber der Meinung anderer;
  • Maximalisten. Sie versuchen, alles richtig zu machen, was die Entwicklungszeiten verlĂ€ngert.

Was haben wir in der Praxis?

Schauen wir uns an, wie Rollen und Kompetenzen am hÀufigsten kombiniert werden. Ausgangspunkt ist ein Standard-Entwicklungsteam: PO, Entwicklungsmanager (Tech Lead), Analysten, Programmierer, Tester. Den Produktbesitzer und den Tech Lead zÀhlen wir nicht dazu. Den ersten wegen fehlender technischer Kompetenzen. Der zweite sollte, wenn es im Team Probleme gibt, in der Lage sein, alles zu tun.

Die gĂ€ngigste Form der Kombination von FĂ€higkeiten ist der Entwickler-Analytiker. HĂ€ufig kommen auch Analytiker-Testentwickler und „Drei-in-einem“-Rollen vor.

Anhand meines eigenen Teams möchte ich die Vor- und Nachteile von universellen Kollegen aufzeigen. Ein Drittel meines Teams besteht aus ihnen, und ich schÀtze sie sehr.

Von der PO erhielt ich einen dringenden Auftrag zur EinfĂŒhrung neuer Tarife in unser bestehendes Produkt. In meinem Team arbeiten vier Analysten. Zu diesem Zeitpunkt war einer im Urlaub, ein anderer krank und die ĂŒbrigen kĂŒmmerten sich um strategische Aufgaben. HĂ€tte ich sie herausgerissen, hĂ€tte dies unweigerlich die Umsetzung verzögert. Es blieb nur eine Lösung: das „Geheimwaffe“ – ein universeller Entwickler-Analytiker, der die erforderliche Fachkenntnis hatte. Nennen wir ihn Anatoli.

Sein Persönlichkeitstyp ist „Universalist – ich kriege das hin und mache es“. NatĂŒrlich versuchte er lange zu erklĂ€ren, dass er einen „vollstĂ€ndigen Backlog seiner Aufgaben“ habe, aber auf meinen entschlossenen Befehl hin wurde er mit der dringenden Aufgabe betraut. Und Anatoli hat die Herausforderung gemeistert! Er hat die Anforderungen definiert und die Umsetzung fristgerecht durchgefĂŒhrt, und die Auftraggeber waren zufrieden.

Auf den ersten Blick schien alles gelungen. Doch nach ein paar Wochen gab es erneut Anforderungen zur Überarbeitung dieses Produkts. Nun ĂŒbernahm ein „reiner“ Analyst die Aufgabenstellung. In der Testphase der neuen Entwicklung konnten wir lange nicht verstehen, warum wir Fehler bei der Zuordnung neuer Tarife hatten. Erst nachdem wir das ganze Problem aufgedröselt hatten, kamen wir der Wahrheit nĂ€her. Wir haben viel Zeit verloren und die Fristen versĂ€umt.

Das Problem lag darin, dass viele versteckte Details und Stolpersteine nur im Kopf unseres Alleskönners blieben und nicht schriftlich festgehalten wurden. Wie Anatoli spĂ€ter erklĂ€rte, hatte er es eilig. Wahrscheinlich stellte er bereits wĂ€hrend der Entwicklung fest, dass er auf Probleme stieß, dokumentierte diese jedoch nirgendwo.

Es gab auch eine andere Situation. Derzeit haben wir nur einen Tester, weshalb einige Aufgaben von den Analysten getestet werden mĂŒssen, darunter auch die Alleskönner. Daher habe ich eine Aufgabe dem hypothetischen Fedor zugewiesen – „Alleskönner – in Ordnung, dann mache ich es, da sonst niemand da ist.".
Fedor – ein „Drei-in-einem“, aber fĂŒr diese Aufgabe wurde bereits ein Entwickler zugewiesen. Das bedeutet, dass Fedor nur die Rollen Analyst und Tester kombinieren musste.

Die Anforderungen wurden gesammelt, die Spezifikation an die Entwicklung ĂŒbergeben, es ist Zeit fĂŒr die Tests. Fedor kennt das weiterzuentwickelnde System „wie seine eigenen fĂŒnf Finger“ und hat die aktuellen Anforderungen grĂŒndlich durchgearbeitet. Daher hat er sich nicht die MĂŒhe gemacht, TestfĂ€lle zu schreiben, sondern fĂŒhrte Tests durch, um zu ĂŒberprĂŒfen, „wie das System funktionieren sollte“, und ĂŒbergab es dann den Benutzern.
Der Test wurde abgeschlossen, die Weiterentwicklung wurde in die Produktion ĂŒbergeben. SpĂ€ter stellte sich heraus, dass das System nicht nur die DurchfĂŒhrung von Zahlungen auf bestimmten Balancekonten aussetzt, sondern auch Zahlungen von sehr seltenen internen Konten blockiert, die nicht daran teilnehmen sollten.

Das geschah, weil Fedor nicht ĂŒberprĂŒft hat, „wie das System nicht funktionieren sollte“, er keinen Testplan oder Checklisten erstellt hat. Er wollte Zeit sparen und vertraute auf sein eigenes GespĂŒr.

Wie gehen wir mit Problemen um?

Solche Situationen beeintrĂ€chtigen die Effizienz des Teams, die QualitĂ€t der veröffentlichten Releases und die Zufriedenheit der Kunden. Daher dĂŒrfen sie nicht unbeachtet bleiben und mĂŒssen analysiert werden.

1. FĂŒr jede Aufgabe, die Schwierigkeiten bereitet hat, bitte ich darum, ein einheitliches Formular auszufĂŒllen: ein Fehlerprotokoll, das es ermöglicht, den Schritt zu identifizieren, an dem es zu einem 'Abfall' kam:

„Universal“ im Entwicklungsteam: Vorteil oder Nachteil?

2. Nach der Identifizierung der EngpĂ€sse findet mit jedem Mitarbeiter, der das Problem beeinflusst hat, ein Brainstorming statt: 'Was Ă€ndern?'. (EinzelfĂ€lle betrachten wir nicht in der Retrospektive.) Daraus resultieren konkrete Maßnahmen, die je nach Persönlichkeit der Beteiligten unterschiedliche Fristen haben.

3. Wir haben Regeln fĂŒr die Zusammenarbeit im Team eingefĂŒhrt. Zum Beispiel haben wir vereinbart, alle Informationen ĂŒber den Fortschritt der Aufgaben im Projektmanagementsystem festzuhalten. Bei Änderungen oder der Entdeckung von Artefakten wĂ€hrend des Entwicklungsprozesses muss dies in der Wissensdatenbank und der endgĂŒltigen Version des Lastenhefts dokumentiert werden.

4. Die Kontrolle wird in jeder Phase durchgefĂŒhrt (besonderes Augenmerk gilt problematischen Phasen in der Vergangenheit) und automatisch anhand der Ergebnisse der nĂ€chsten Aufgabe.

5. Wenn das Ergebnis fĂŒr die nĂ€chste Aufgabe gleich bleibt, werde ich den betreffenden Universalisten nicht in die Rolle setzen, in der er schlecht abschneidet. Ich versuche, seine FĂ€higkeit und sein Interesse an der Entwicklung von Kompetenzen in dieser Rolle zu bewerten. Wenn ich keine Resonanz finde, lasse ich ihn in der Rolle, die ihm nĂ€her ist.

Was ist letztendlich herausgekommen?

Der Entwicklungsprozess wurde transparenter. Der BUS-Faktor hat sich reduziert. Die Teammitglieder, die an Fehlern arbeiten, werden motivierter und verbessern ihr Karma. Wir erhöhen schrittweise die QualitÀt unserer Releases.

„Universal“ im Entwicklungsteam: Vorteil oder Nachteil?

Fazit

Mitarbeiter mit universellen FĂ€higkeiten haben ihre Vor- und Nachteile.

Vorteile:

  • Man kann jederzeit eine hĂ€ngende Aufgabe schließen oder ein dringendes Problem kurzfristig lösen;
  • Ganzheitlicher Ansatz bei der Lösung von Aufgaben: Der AusfĂŒhrende betrachtet diese aus der Perspektive aller Rollen;
  • Universalisten können praktisch alles gleich gut erledigen.

Nachteile:

  • Der BUS-Faktor wĂ€chst;
  • Die grundlegenden Kompetenzen, die zur Rolle gehören, verwĂ€ssern sich. Dadurch sinkt die ArbeitsqualitĂ€t;
  • Es besteht eine höhere Wahrscheinlichkeit von Fristverschiebungen, da die Kontrolle ĂŒber jeden Schritt fehlt. Zudem bestehen Risiken, dass sich ein „Star“ herausbildet: Der Mitarbeiter ist ĂŒberzeugt, dass er es besser weiß, dass er ein Profi ist.
  • Das Risiko von beruflichem Burnout steigt.
  • Wichtige Informationen ĂŒber das Projekt könnten nur im Kopf des Mitarbeiters bleiben.

Wie Sie sehen, gibt es mehr Nachteile. Deshalb setze ich Universalisten nur ein, wenn die Ressourcen fehlen und die Aufgabe dringend ist, oder wenn eine Person ĂŒber Kompetenzen verfĂŒgt, die anderen fehlen, und die QualitĂ€t auf dem Spiel steht.

Wenn in der gemeinsamen Arbeit an einer Aufgabe die Regel der Rollenteilung beachtet wird, steigt die QualitÀt der Arbeit. Wir betrachten Probleme aus verschiedenen Perspektiven, der Blick wird nicht eintönig, und es entstehen immer neue Gedanken. Gleichzeitig hat jedes Teammitglied die Möglichkeit, sich professionell weiterzuentwickeln und seine Kompetenzen zu erweitern.

Ich denke, das Wichtigste ist, sich dem Prozess zugehörig zu fĂŒhlen, die eigene Arbeit zu machen und schrittweise die Breite der eigenen Kompetenzen zu erweitern. Dennoch bringen Universalisten im Team einen Nutzen: Das Ziel ist, dass sie verschiedene Rollen effektiv kombinieren.

Ich wĂŒnsche allen selbstorganisierenden Teams von "Universalisten – Meistern ihres Fachs"!

Quelle: habr.com

Kaufen Sie zuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz, VPS VDS-Server đŸ”„ Kaufen Sie zuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster