Wie kann ich mit einem Entwickler umgehen, der mit einem neuen PM- und Programmier-Framework nicht an Bord ist?

Ich implementiere derzeit Scrum und einen Wechsel zu Ruby on Rails in meiner Organisation. Wir haben ein Team von sechs Entwicklern, von denen nur zwei Erfahrung mit Ruby on Rails haben. Zwei der anderen Entwickler verstehen Rails relativ schnell, aber die dritte zögert und beschwert sich ständig über Rails und ihre Abneigung gegen das Framework.

Ich habe moralisches Coaching sowie mehrere Ressourcen bereitgestellt, damit sie die Rails-Kurve so schnell wie möglich passieren können, aber ich kann diese Person einfach nicht an Bord holen, indem ich mich unseren Sprint-Zielen und Arbeitsinstrumenten (z. B. Rails) verpflichte. Sobald sie von etwas frustriert wird, gerät sie in eine mentale Blockade, die den Rest des Teams verärgert (mich eingeschlossen, obwohl ich die Ereignisse in einer ruhigen Art und Weise handhabe). Ich denke, es ist eher ein Wutanfall oder ein Anfall als ein tatsächliches technisches Problem in Bezug auf das Erlernen des Frameworks.

Irgendwelche Ideen oder Rückmeldungen, die mir helfen könnten, ein besserer Manager zu sein und diese Person hoffentlich an Bord zu holen?

Haben Sie wirklich gleichzeitig ihre Programmiersprache und ihren Projektmanagementstil geändert? Das scheint viel.

Antworten (3)

Der beste Weg, den ich gefunden habe, um einem ganzen Team oder einem einzelnen Teammitglied zu helfen, mit einem neuen Projekt/einer neuen Technologie/Fähigkeit/einem notwendigen Übel an Bord zu kommen, ist „Subversion“. (man beachte die ironischen Zitate)

Eine Person, die stark gegen eine bestimmte Technologie ist (in diesem Fall), fühlt sich eindeutig isoliert oder ignoriert oder dass ihr Status in der Gruppe untergraben wird. Ihre Aufgabe als PM wird also immer darin bestehen, die Persönlichkeiten Ihres Teams zu managen, und dies ist keine Ausnahme.

Die Menschen wollen das Gefühl haben, dass ihre Position sicher ist, ihre Beiträge und Meinungen geschätzt werden, ihre Stimme gehört wird. Sie müssen also analysieren, warum diese Person sich so fühlt, wie sie ist.

  • Weil sie Veränderung noch nie gemocht haben? Wenn dem so ist, dann gehört ihr Murren für diese Person einfach zum „normalen“ Alltag (was sie übrigens glücklich macht, daran ist eigentlich nichts auszusetzen).
  • Weil sie Python-basiertes serverseitiges Skripting empfohlen haben und stattdessen RoR gewählt wurde, dh ihre Meinung/Eingabe wurde nicht berücksichtigt? Wenn dem so ist, dann fühlt sie sich ignoriert und unterbewertet und es wird Ihrerseits etwas Ego-Massage brauchen, um ihr zu helfen, darüber hinwegzukommen.
  • Vielleicht ist ihr ein philosophischer Einwand gegen die Art und Weise, wie das Rails-Framework implementiert wurde, und "sie hätte es anders gemacht". Welche Framework-Philosophie unterstützt sie und warum? Wenn es sich um diese Situation handelt, muss sie wahrscheinlich das Gefühl haben, dass ihre technische Anleitung geschätzt und auf diesen Übergang angewendet wird. (Mit anderen Worten, ihre Position und ihr Status wurden angegriffen.)

Sobald Sie also die zugrunde liegende Ursache herausgefunden haben (und die obigen Beschreibungen sind nur einige davon und wahrscheinlich VIEL zu vereinfacht), müssen Sie als PM ihre Position in der Gruppe erneut bestätigen, indem Sie ihr Arbeit geben, die sie beruhigt. So...

  • Keine Lust auf Veränderung? Dann entscheide dich dafür, ihre Kommentare als „Unterhaltung“ zu hören – lache sie absolut NICHT aus, sondern verwende gutmütigen Humor und Unterstützung, um ihre „Einstellung“ zu fördern. (natürlich leichter gesagt als getan)
  • Ihre Empfehlung wurde nicht ausgewählt? Dann kommen Sie ihren Beschwerden zuvor, indem Sie ihr eine Aufgabe stellen, die sie mithilfe von Rails lösen muss, was sie mehr oder weniger dazu zwingen würde, das RoR-Framework zu studieren und das Framework positiv zu nutzen, um die Arbeit zu erledigen.
  • Es ist ein philosophischer Einwand? Es hört sich so an, als wäre Ihr Projekt weit über das Stadium hinaus, dass ein Wechsel weg von Rails möglich ist, das Commitment zu Rails ist bereits erfolgt. Wenn sie technisch kompetent ist, kann sie gültige Punkte haben (und sie sollte respektvoll behandelt werden, dass ihre Punkte sowieso gültig sind). Fragen Sie sie also, wie sie diese "Mängel" in Rails überwinden kann und wie mögliche Lösungen, die sie hat, Ihrem Projekt einen Mehrwert verleihen können.

All diese Lösungen sind natürlich simpel, geben Ihnen aber hoffentlich eine Vorstellung davon, wie Sie Ihr gesamtes Team und den einen abweichenden Entwickler dazu bringen können, sich in das neue Rails-Framework einzukaufen. Machen Sie es ihnen zu eigen. Gehen Sie auf ihre Einwände ein, indem Sie nach ihrer Lösung innerhalb des Frameworks fragen (dh Rails wegzuwerfen ist nicht die Antwort). Wenn Sie den Entwickler dazu bringen können, sich auf die Details der Überwindung seiner eigenen Einwände zu konzentrieren, erhalten Sie die Zustimmung, die Sie benötigen, und ein friedlicheres Team.

Ich plädiere nicht für oder gegen Rails, sondern versuche nur, Vorschläge zu machen, die mit der aktuellen Situation funktionieren.
Ich kann Ihnen sagen, dass sie keine anderen Frameworks oder Sprachen empfohlen hat, ihr Output in Bezug auf das Rails-Framework ist im Grunde negativ, als sie die Swift-Lernkurve bestehen musste, sie hat keine Beschwerden vorgebracht, sie hat es eher genossen, denke ich mehr von ihrem Verhalten, ihrer Art, auf die Frustration zu reagieren, nicht so schnell zu lernen, wie sie es gerne hätte. Ich möchte die Teammitglieder so befähigen, dass wir so viel Wert wie möglich bieten können, ohne einen von ihnen zu ersetzen. Letzteres würde mir das Gefühl geben, als Manager versagt zu haben. Außerdem war Rails vor langer Zeit unser Werkzeug der Wahl. Wir haben sogar SCRUM gestartet

TL;DR

Da ich nur Ihre Seite der Dinge gehört habe, bin ich nicht bereit anzunehmen, dass das Problem die Person ist, von der Sie sprechen. Ich stimme zwar zu, dass es ein Problem gibt, aber das Problem betrifft Menschen, Prozesse und das Änderungsmanagement. Sie müssen dies bestätigen, bevor das Problem zur Zufriedenheit aller gelöst werden kann.

Höchstwahrscheinlich müssen Sie einige Änderungen an der Zusammensetzung Ihres Teams vornehmen. Das ist keine Anklage gegen das Teammitglied; Es ist einfach so, dass ein effektives Change Management manchmal personelle Veränderungen erfordert.

Wenn Sie diese Frage auf einer anderen Q&A-Website wie Workplace SE stellen , erhalten Sie möglicherweise eine andere Antwort. Aus Sicht des Projektmanagements und insbesondere aus agiler Sicht haben Sie organisatorische Veränderungen jedoch nicht richtig umgesetzt.

Organisatorische Veränderungen richtig einleiten

Beim Programmieren ändern Sie eine einfache Sache nach der anderen, damit Sie sie debuggen können. Sie haben mindestens zwei komplexe Dinge gleichzeitig geändert und haben Schwierigkeiten, sie zu debuggen.

Scrum (oder jedes Projektmanagement-Framework) erfordert Schulung und Zeit, um effektiv implementiert zu werden. Darüber hinaus erfordern agile Frameworks die Zustimmung des gesamten Teams, nicht nur des Projektmanagers.

Wenn Sie Teammitglieder haben, die nicht an agilen Praktiken oder Scrum-Zeremonien interessiert sind, und Sie wirklich alle lehrbaren Momente und Coaching-Möglichkeiten ausgeschöpft haben, dann müssen Sie die Verantwortung dafür übernehmen, dass Sie ein Framework vorgeschrieben haben, ohne zuvor Buy-in geschaffen zu haben. Danach müssen Sie ein Team bilden, das sich aus selbstorganisierenden Personen zusammensetzt, die einem agilen Framework folgen möchten .

Stellenwechsel richtig einleiten

An der Jobfront haben Sie eine Reihe von Änderungen an der Stellenbeschreibung des Teams vorgenommen, darunter:

  1. Projektmanagement-Framework
  2. Sprache
  3. Framework für Webanwendungen
  4. Technologie-Stack
  5. Technologisches Ökosystem

Wenn Sie all das geändert haben, haben Sie wahrscheinlich auch das Produkt geändert, das Sie bauen. Das ist eine Menge Veränderung in der Stellenbeschreibung einer Person, und nicht jeder in der IT möchte funktionsübergreifend sein oder neue Sprachen und Frameworks lernen, die nicht zu seinen kognitiven Mustern passen.

Manche Menschen genießen die Möglichkeit, neue Technologien zu nutzen oder an einem neuen Projekt zu arbeiten, während andere Stabilität bevorzugen und in einer klar definierten Komfortzone bleiben. Wenn Sie gerade die Stellenbeschreibung von jemandem von .NET- oder Java-Programmierer in einem Wasserfall-Shop zu Ruby on Rails-Entwickler in einer Scrum- und/oder DevOps-Organisation geändert haben, wird es sicherlich Leute geben, die den Wechsel nicht schaffen können oder wollen.

Wenn das Team diese Änderung des Technologie-Stacks nicht vorangetrieben hat, muss das Management bereit sein, die Verantwortung für die Änderung der Stellenbeschreibung zu übernehmen. Darüber hinaus sollten sowohl die Geschäftsleitung als auch der Projektmanager damit rechnen, ein Team um einen neuen Technologie-Stack herum umschulen und reformieren zu müssen.

"Veränderung" erfordert oft tatsächliche Veränderung

Nicht alle Änderungen liegen in der Verantwortung des Mitarbeiters. Es ist großartig, dass Sie fünf von sechs Ihrer derzeitigen Teammitglieder mit den neuen Projekt- und Technologie-Frameworks an Bord haben. Jetzt ist es Ihre Aufgabe, festzustellen, ob es eine Rolle für jemanden gibt, der nicht zu Ihrem neuen IT-Modell passt.

Vielleicht kann diese Person eine andere Rolle innerhalb des Unternehmens oder des Teams übernehmen. Vielleicht gibt es andere Projekte oder andere Teams, an denen diese Person arbeiten kann, die für sie von größerem Interesse sein könnten. Wenn nicht, sagen Sie im Wesentlichen: „Übernehmen Sie das neue Paradigma oder finden Sie einen neuen Job.“

Als Unternehmen ist das vielleicht keine unvernünftige Perspektive. Unter dem Gesichtspunkt der Teambildung erzielen Sie jedoch im Allgemeinen bessere Ergebnisse, wenn Sie anerkennen, dass nicht jede Person für jedes Team oder jede Organisationskultur geeignet ist. Denken Sie daran, wenn Sie sich entscheiden, Änderungen an Ihrer Teamzusammensetzung vorzunehmen, denn nichts zerstört den Teamzusammenhalt so schnell wie die Schuldzuweisung an die Mitarbeiter für die Ergebnisse strategischer Entscheidungen des Unternehmens.

Betrachten Sie dies als eine Änderung der Jobanforderungen und nicht als ein zwischenmenschliches Problem. Dies ist nicht nur ein konstruktiverer Ansatz als der Versuch, Schuldzuweisungen vorzunehmen, sondern führt auch eher zu einer objektiven Lösung.

„Danach müssen Sie ein Team bilden, das sich aus selbstorganisierenden Menschen zusammensetzt, die einem agilen Framework folgen wollen.“ -- Oder den Rahmen an das Team anpassen? Scheint ein bisschen hart zu sein, im Wesentlichen zu sagen: „Schön, entfernen Sie einfach Leute, die nicht an Bord sind“, wenn einer der Kernpunkte von Agile darin besteht, Menschen über Prozesse zu stellen.
@AdamLear Projektmanagement-Frameworks erfordern eine gewisse Strenge. Man kann nicht jede Person das tun lassen, was zu ihr passt, und es trotzdem Scrum nennen. „Menschen stehen über Prozessen“ bedeutet nicht, dass die Prozesse und Zeremonien nicht wichtig sind (z. B. „die Gegenstände auf der rechten Seite haben einen Wert“); Das Versäumnis, beides in Einklang zu bringen, ist der Grund, warum so viele Implementierungen scheitern. Siehe auch Wir haben es mit Baseball versucht und es hat nicht funktioniert .
Ich plädiere nicht dafür, es immer noch Scrum zu nennen. Ich sage, wenn Standard-Scrum nicht zum bestehenden Team passt (und das Team ansonsten gut funktioniert), kann es von Vorteil sein, Scrum an das Team anzupassen.
Dies ist eine großartige Antwort @CodeGnome, das einzige Problem ist, dass sie mit dem SCRUM-Teil an Bord ist, sie mag es sehr, der wahre Kampf für sie ist das Rails Framework, das schon lange vorhanden war, bevor sie überhaupt darin gearbeitet hat Org.
@Jaime, Ihr Unternehmen hat also einen Rails-Entwickler eingestellt, der nicht in Rails entwickeln wollte? Ich kann keine Vorerfahrung mit einem Framework entschuldigen. Die meisten guten Entwickler können sich jede Sprache/jedes Framework aneignen, aber wenn das Teammitglied nicht in Ruby entwickeln wollte, warum wurde ihm dann der Job angeboten? Ich werde nicht einmal darauf eingehen, warum sie die Position angenommen haben.
@RubberDuck Es ist ein bisschen komplizierter als das. Die Position ist nur eine Entwicklerposition, als wir sie interviewten, wurde ihr gesagt, dass sie in Rails und Swift für iOS entwickeln würde und dass sie die Chance haben würde, die Lernkurve zu bestehen. Sie hatte keine Erfahrung mit beiden Sprachen / Frameworks. Sie hat ziemlich leicht schnell zugelegt, hat aber aus irgendeinem Grund mit Schienen zu kämpfen.

Tatsache ist, dass Rails ein veraltetes, langsames und fehlerhaftes Framework ist.

Ich gehe davon aus, dass Sie gezwungen waren, einige Legacy-Projektarbeiten zu übernehmen, die deren Verwendung vorschreiben, aber Sie müssen erkennen, dass die Arbeit an diesem Projekt für die Karrieren Ihrer Entwickler nicht von Vorteil sein wird.

Wenn Sie sie nicht durch höhere Löhne, Heimarbeit, weniger Stunden oder ähnliches kompensieren, werden die Guten woanders arbeiten gehen.

Die Lösung ist einfach. Fragen Sie den Entwickler: „Wenn Sie ein Freiberufler wären, wie viel Aufpreis würden Sie für ein Rails-Projekt gegenüber einem ‚Lieblingssprachen‘-Projekt verlangen?“ Dann zahlen Sie ihnen den zusätzlichen Prozentsatz