it-swarm.dev

Wie bin ich als Hauptentwickler erfolgreich?

Ich bin der Hauptentwickler in einem bestimmten Projekt geworden, aber ich habe Schwierigkeiten, mich auf das Gesamtbild zu konzentrieren und sicherzustellen, dass alle Teile des Projekts abgedeckt sind.

Was muss ich bei der Verwaltung dieses Projekts beachten? Wie kann ich sicherstellen, dass alles so gehandhabt wird, wie es sollte?

47
NichtUebel

Ich habe diese Reise bei anderen Entwicklern gesehen, als sie zum Senior oder Lead übergingen. Hier sind einige Vorschläge, die ich anderen gemacht habe.

  • Verstehe, was das Ziel des Projekts ist.

Oft geht es nicht um alle Funktionen, die in das Projekt übernommen wurden. Es geht um eine Kernfunktionalität, die auf geschäftliche Anforderungen zugeschnitten ist. Denken Sie immer daran, denn das ist Ihr primäres Ziel.

  • Teilen Sie auf, was in Aufgaben erledigt werden muss. Verstehe die Abhängigkeiten zwischen ihnen.

Das Aufteilen eines Projekts sollte ziemlich einfach sein. Brechen Sie es so früh wie möglich im Projekt auf. Wenn Sie Teile beschönigen müssen, verstehen Sie, dass sie ein Risiko darstellen, bis Sie verstehen, was zu tun ist.

  • Verstehen Sie die offenen Fragen oder Unklarheiten des Projekts.

Sie werden zunächst nicht alle Unklarheiten lösen können (obwohl Sie es versuchen sollten). Stellen Sie sicher, dass Ihr Manager und die Projektbeteiligten verstehen, was sie sind und welche Risiken sie für das Projekt darstellen.

  • Das Geschäft hasst Überraschungen.

Stellen Sie sicher, dass jeder weiß (idealerweise täglich, aber wöchentlich), wie der Status des Projekts ist. Und mit Status meine ich, was getan wurde, was noch zu tun ist, offene Fragen, Probleme usw. Alles, was sich auf den Abschluss des Projekts auswirken kann, sollte gemeldet werden.

  • Gehen Sie jeden Tag das große Ganze durch.

Sie sollten jeden Tag eine Stunde lang das Gesamtbild durchgehen. Stellen Sie sich die Fragen. Was wurde abgeschlossen? Was bleibt zu tun? Was sind die offenen Fragen? Was ist das Ziel? Sie sollten in der Lage sein, jemandem auf Anfrage einen detaillierten Status des Projekts zu geben.

53
dietbuddha

Der erste Ratschlag, den ich Ihnen geben werde, ist zu akzeptieren, dass die Verwaltung des Teams kritischer ist als Ihre eigenen Programmieraufgaben. Das heißt, wenn Sie 3 Junioren haben, die Hilfe benötigen, ist es Ihre Aufgabe, nicht darüber zu jammern, wie es Sie von der Entwicklung abhält. Als Führungskraft werden Sie häufig zum Hindernis für den Fortschritt, wenn Sie sich zuerst zu sehr auf Ihre eigenen Entwicklungsaufgaben konzentrieren.

Außerdem müssen Sie lernen, zu delegieren. Es ist schwierig, jemandem Aufgaben zu geben, wenn Sie dies in einer Stunde problemlos erledigen können und Sie wissen, dass er einen Tag lang zappeln wird. Sie werden jedoch niemals Fortschritte machen, wenn sie nicht die Aufgaben erhalten und Sie Überstunden machen, während Ihr Team Spiele spielt.

Korrigieren Sie niemals nur den Code eines anderen. Sagen Sie ihnen, was falsch ist (und warum) und lassen Sie sie das Problem beheben. Oder Sie befinden sich in einem Zyklus, in dem Sie alles reparieren müssen, weil sie nicht besser werden. Wenn sie es nicht reparieren können, überlegen Sie, ob sie im Team bleiben sollen. Lassen Sie schwache Teammitglieder nicht bleiben, weil Sie alles reparieren, was sie tun.

Als Blei wirst du der Böse sein und ihnen die unangenehmen Neuigkeiten geben (sowohl entlang als auch entlang der Kette). Das gehört auch zum Job. Das bedeutet, dass Sie die schlechte Leistungsbeurteilung durchführen müssen. Sie müssen ihnen mitteilen, dass die Frist verschoben wurde oder sich die Anforderungen geändert haben. Sie müssen den faulen Kerl schieben, der keine Fortschritte macht; und Sie müssen Ihren Vorgesetzten mitteilen, wann die Frist nicht eingehalten wird und warum und was Sie dagegen tun. Führung bedeutet nicht, gemocht zu werden, sondern effektiv zu sein. Ihre Aufgabe ist es, Software aus der Tür zu holen und keine Freunde zu finden. Kommunikation ist der Schlüssel und das Vermeiden der schlechten Nachrichten verschlimmert die Situation. Es ist weitaus wahrscheinlicher, dass einem Kunden mitgeteilt wird, dass es drei Wochen mehr vor dem Start sein wird, als wenn der Starttermin verstrichen ist, und dass Sie ihm dann mitteilen, dass Sie drei weitere Wochen benötigen. Das Management durch Wunschdenken (sicher, wir können nur ein paar Nachtschwärmer ziehen und es schaffen) ist der sicherste Weg zum Scheitern, den ich kenne.

42
HLGEM

Hier ist meine informelle Checkliste. Es ist sehr informell ... Ich mache nicht jeden Tag alles, aber wenn ich all diese Dinge nicht wöchentlich getroffen habe, mache ich mir ein wenig Sorgen, und wenn ich sie nicht monatlich getroffen habe, sollte ich in Panik geraten. Der Kilometerstand hängt ganz von der Unternehmens-/Teamkultur, dem persönlichen Stil und der Art des Projekts ab.

  • Individuell mit dem Team sprechen - Hat jeder in Ihrem Team - nützliche Arbeit zu erledigen? Wissen Sie, was das Gesamtziel des Produkts und der aktuellen Version sind? Wissen sie, wie Sie Geld verdienen und was der Hauptschwerpunkt Ihres Geschäfts ist? Wissen sie, wie ihre aktuelle Arbeit zu all dem passt?

  • Sprechen Sie gemeinsam mit dem Team - bringen Sie sie alle mit wichtigen Neuigkeiten zusammen, bringen Sie Gruppen zusammen, um sicherzustellen, dass die Kommunikation mit und ohne Sie stattfindet. Als kleines Team handelt es sich wahrscheinlich um Gruppenstrategiesitzungen. Wenn das Team größer wird, müssen Sie es durch die wichtigsten Punkte führen, und es wird unweigerlich zu einem Szenario, in dem Sie über sie sprechen. Das ist nicht falsch - es gibt Zeiten, in denen es sehr wichtig ist, dass jeder hört, wie Sie die öffentlichen Informationen zu allen sagen. Jeder weiß also, dass Sie die Informationen universell weitergeben. Das "Sie-zu-Jeder" -Treffen unterscheidet sich jedoch stark von dem Gruppenstrategietreffen, bei dem Sie eher ein Leitfaden sind.

  • Probieren Sie die Arbeit des Teams - versuchen Sie, einen Überblick über die Arbeit aller zu bekommen. Lesen Sie ihren Code, führen Sie ihre Funktionen aus und probieren Sie ihre Testfälle aus. Zielen Sie nicht auf 100% der Arbeit aller, sondern versuchen Sie, ein wenig von allen zu probieren. Geben Sie ihnen Feedback, aber entfernen Sie auch Bereiche mit Stärken und Schwächen im gesamten Team.

  • Melden Sie sich früh und häufig bei Ihrem Management an - Dies ist keine braune Nase, sondern bleibt auf dem Laufenden. Wenn Sie nicht wissen, was Ihr Management benötigt und was Ihr Management denkt, wie kann Ihr Team dann möglicherweise die Erwartungen erfüllen? Sie müssen eine wirklich gute Repore mit Ihrem Chef haben und Sie müssen in seinem Team sein, so wie Ihre Leute in Ihrem Team sind. Die Fähigkeit, effektiv mit dem Chef über Kleinigkeiten zu kommunizieren, erhöht das Vertrauen, dass Sie Hilfe und ein klares Verständnis erhalten, wenn die Krise eintritt. Es ist auch eine gute Realitätsprüfung, um festzustellen, wo sich Ihre Big-Picture-Blinder befinden.

  • Überprüfen Sie die Teamressourcen regelmäßig - Personen kreischen, wenn eine zuvor verfügbare Ressource nicht mehr verfügbar ist, überprüfen sie jedoch auf unbekannte Schmerzpunkte. Wo sind deine Chokepoints? Gibt es neue Tools, die nützlich wären? Die meisten Teams haben einen Mann, den ich als Werkzeugjäger betrachte, der immer auf dem neuesten Stand der neuesten und besten Geräte ist. Gleichen Sie die Gespräche zwischen Tool Hunter und GuyWhoHatesEverythingNew aus, um den nächsten Punkt für die Evolution zu finden. Die Tools umfassen alles - SW, HW, physischer Raum, Lernressourcen.

  • Kennen Sie die Support-Teams und bleiben Sie mit ihnen in Kontakt. Jedes Unternehmen ist anders, aber kennen Sie die Verantwortlichen für Ihre Qualitätskontrolle, das Verfassen von Dokumenten, die Rechtsabteilung, die Einrichtungen, die Finanzen und alle anderen unterstützenden Gruppen, die für Ihr Unternehmen einzigartig sind . Sie sind die besten Big-Picture-Trigger, die ich mir vorstellen kann, weil sie die Welt ganz anders sehen als Sie.

  • Kennen Sie Ihre Konkurrenz - verbringen Sie mindestens einige Zeit pro Woche damit, herauszufinden, wie jemand die Probleme lösen würde, die Ihr Produkt löst, wenn er Ihr Produkt nicht verwendet. Es ist vielleicht kein einzelnes Unternehmen, aber was bietet diese andere Lösung, die Sie nicht bieten?

  • Kosten und Zeitplan überprüfen - Wie wahrscheinlich ist es, dass Ihr Team die aktuelle Frist einhält? Wie wäre es mit der nächsten Frist? Wie hoch ist die Brennrate Ihrer Kosten? Für welche großen anstehenden Einkäufe haben Sie noch nicht bezahlt? Was bleibt von Ihrem Budget übrig? Die Details hängen davon ab, wie Sie die Finanzverfolgung durchführen. Selbst in einem sehr informellen Unternehmen sollten Sie eine Vorstellung davon haben, wie viele Tage/Wochen/Monate des Budgets Sie noch haben und wie Ihre Frist für das aktuelle Produkt ist. Irgendwo sollte jemand besser planen: "Wie viele Leute brauchen wir, um diesen Job zu machen?" und "können wir es uns leisten, sie nächsten Monat/Quartal/Jahr zu bezahlen?". Sie müssen diese Zahlen kennen und Eingaben für die nächsten Schritte haben. Sie brauchen einen kristallklaren Plan für die nächste Woche, den Sie sofort erklären können, wenn jemand hereinkommt und fragt. Sie brauchen einen ziemlich guten Plan für den nächsten Monat, der sich nur an 2-3 Stellen ändert, wenn die Realität eintritt. Sie benötigen einen skizzenhaften Plan für das Quartal und einen General für das Jahr. Darüber hinaus sind die Zahlen selbst in großen Projekten nur Zahlen. Hören Sie ihnen zu, aber stellen Sie fest, dass niemand im Blut unterschrieben hat.

Das steht ganz oben auf meiner Liste. Ich füge es im Allgemeinen hinzu, wenn ich von einer "Überraschung" auf den Kopf geschlagen werde (stellen Sie sich vor, ich sei sehr empfindlich gegenüber einem Bereich, den ich verpasst habe, und dann schaffe ich es, ihn in die Checkliste zu falten. "Überraschung" mit einem gezwungenen Grinsen und zusammengebissenen Zähnen ).

Seien Sie auch auf den Dread Context Switch vorbereitet. Wenn Sie gerade erst im Management anfangen, haben Sie wahrscheinlich ein kleines Team, und jemand im Management dachte, es wäre in Ordnung, wenn Sie einige Zeit mit der Leitung eines Teams und einige Zeit mit der Arbeit einzelner Mitarbeiter verbringen. Dies kann getan werden, aber der Kontextwechsel zwischen den beiden ist rau. Planen Sie es. Blockieren Sie die Zeit zum Wechseln (wie vor und nach dem Mittagessen) und kennen Sie Ihre weniger geübten Fähigkeiten und stellen Sie fest, dass Sie sich die ersten Male dorthin schleppen müssen Sie brauchen mindestens zwei Stunden, um wirklich irgendwohin zu gelangen.

Der Kontextwechsel funktioniert in beide Richtungen - Management für praktische Arbeit und umgekehrt. Aber wenn Sie von Ihrem Kraft- und Übungspunkt zu Ihrem Ort des Unbehagens und weniger Übens gehen, spüren Sie den Schmerz mehr und der Anstoß zum Rückzug ist stark. Wisse, dass es da ist und bekämpfe es und erkenne, dass es dir besser fällt, alles in dich aufzunehmen, wenn du im großen Ganzen herumwirbelst. Gib dir Zeit, dich zu verprügeln.

31
bethlakshmi

Lesen Sie dieses Buch: Herding Cats: Eine Einführung für Programmierer, die Programmierer führen

Vor einiger Zeit habe ich dieses Buch meinem Chef geschenkt und er mochte es. Als ich es las, schien er zu wissen, wovon er spricht. Und das ist so. Der Autor erzählt von seinen eigenen Erfahrungen. Ist keine Sammlung von "einfachen Wahrheiten" des Managers - das sind die Worte des ehemaligen Programmierers. Und es sollte verstanden werden, dass es SEINE Erfahrung war, aber Ihre könnte anders sein. Bei einigen Dingen sollten Sie also kritisch schauen. "Manager kann kein Programmierer mehr sein - es ist wichtig".

12
Evgeny Gavrin

Als ich kürzlich die technische Leitung eines kleinen Unternehmens für ein Produkt übernahm, das ich nicht entwickelt hatte, fand ich es sehr hilfreich, die Funktionsweise des Produkts in Klartext zu dokumentieren - Funktionen, die ich in Gurken dokumentiert habe, und für Interna Ich habe Erklärungen zum Objektmodell geschrieben und bin durch verschiedene Steuerungen geflossen. Dabei stellte ich fest, dass A) das Produkt ein bisschen chaotisch war :) Und B) ich viel schneller lernte, wie die App funktionierte, damit ich ein intelligentes Gespräch darüber führen konnte, welche Probleme es gab und was umgestaltet werden musste, oder was nötig wäre, um eine bestimmte Funktion zu implementieren.

Bilder helfen auch - ich lege mich nicht mit Produkten wie Visio an, ich benutze nur Buntstifte und leeres Papier (wirklich, ich arbeite von zu Hause aus und oft zusammen mit meinem 2-Jährigen), aber was auch immer für Sie funktioniert, sollten Sie verwenden.

6
karmajunkie