Wir sind ein Team, das an altem Code arbeitet, der ziemlich alt ist und in Sprachen aus den ersten Programmiertagen geschrieben wurde. Da die Teammitglieder in der neuesten Technologie geschult sind und nun an altem Code arbeiten müssen, sind sie nicht glücklich. Wie kann man sie dazu motivieren, auch an altem Code zu arbeiten?
Antworten
Zu viele Anzeigen?Dürfen die Teammitglieder nur am Legacy-Code-Team arbeiten oder kann ihre Zeit auf verschiedene Projekte aufgeteilt werden? Ich glaube nicht, dass jemand glücklich darüber sein wird, eine 40-Stunden-Woche mit FORTRAN-Fehlersuche zu verbringen. Aber wenn man ein paar Stunden am Legacy-Code arbeiten muss, weil man weiß, dass man tagsüber Pausen machen kann, um an etwas zu arbeiten, das einem wirklich Spaß macht, ist das weniger schmerzhaft.
Und ich wiederhole noch einmal, was bereits gesagt wurde, nämlich dass die Teammitglieder Zeit haben sollten, die alten Technologien zu erlernen und Erfahrungen mit ihnen zu sammeln, bevor sie sie einsetzen. Versuchen Sie auch, die Schulung unterhaltsam zu gestalten. Unser Legacy-Code-Training war als Wettbewerb angelegt, bei dem es darum ging, wer die schnellste/kürzeste/vollständigste/etc. Lösung für ein interessantes Problem finden konnte, anstatt sich ausschließlich mit dem Code zu beschäftigen, an dem wir arbeiten sollten. Das kann man wirklich auf den Plan des Teams anwenden, auch wenn man keine Zeit für die Ausbildung hat. Fügen Sie der Aufgabe einen kleinen Wettbewerb hinzu oder planen Sie ein wenig Zeit für anspruchsvolle und wettbewerbsfähige Nebenprojekte ein.
Wie werden sie für die Arbeit an diesen alten Produkten belohnt? Wissen Sie, was sie motiviert? Manche Leute bevorzugen vielleicht rechtzeitige Anerkennung und Lob, während andere vielleicht Geld erwarten oder verstehen, dass dies nicht unbedingt das ist, wofür sie sich bei der Aufnahme der Arbeit verpflichtet haben. Ich wäre versucht, 1:1-Gespräche vorzuschlagen, um herauszufinden, was sie zufriedener machen würde. Ist es mehr Geld? Mehr Flexibilität bei der Freizeitgestaltung? Eine Schulung in den alten Technologien? Die Bestätigung, dass sie mit diesen alten Systemen gute Arbeit leisten, denn die ersten Programmiertage lassen mich an Großrechner und andere wirklich alte Geräte denken, bei denen man sich fragt: "Wie lange wird das wirklich noch laufen?"
Bargeld ist nicht die Lösung. Kostenloses Essen, alkoholfreie Getränke, was auch immer, das hilft nur bedingt, um die mühsame Arbeit an einem alten Code zu erleichtern. Wie wäre es, wenn wir versuchen würden, ihre Perspektive zu ändern?
"Jeder kann gute Arbeit mit modernem Code leisten, der eine nette IDE mit eingebautem Refactoring hat, eine Tonne von Ressourcen nur eine Google-Suche entfernt, aber wir stolzen Wenigen, wir Bande von Brüdern, wir sind gut genug, um dies mit alten prozeduralen Sprachen zu tun. Wir werden dieses schreckliche Durcheinander von Code zähmen und es mit einer Hand hinter dem Rücken tun und Prozesse und Werkzeuge schaffen, um sicherzustellen, dass die nächsten armen Schweine es nicht so schlecht haben werden."
Ich würde sagen, der einfachste Weg, um die positivsten Emotionen bei den Entwicklern für Legacy-Kodierung zu wecken, wäre, das Alte auf irgendeine Weise neu zu machen.
Halten Sie ein oder zwei Sitzungen ab, um herauszufinden, was der alte Code leistet, und machen Sie sich dann ein Bild davon, was nötig wäre, um dies auf einer neuen Architektur zu tun. Der Teil "neue Architektur" ist der Schlüssel, denn in 9/10 Fällen ist es die Architektur, die gefürchtet ist (Spaghetti-Code, Konventionen vor dem Standard usw.).
Wenn Sie Ihre Schätzungen für die Neuprogrammierung nicht genehmigen lassen können, sollten Sie zumindest einen Plan ausarbeiten, wie Sie die Überarbeitung des alten Codes in die tägliche Wartung integrieren können. Zumindest werden Ihre Entwickler das Gefühl haben, dass sie auf etwas hinarbeiten, und zwar auf etwas Neues, anstatt nur an dem alten Verfall herumzudoktern, an den sich niemand mehr erinnern will.
Nur meine 2¢.