In jedem Unternehmen, in dem ich gearbeitet habe, hatten wir eine Trennung zwischen Zeit, die für Produktinitiativen und technische Arbeiten aufgewendet wurden. Die Prozentsätze veränderten sich immer, manchmal 70% Produkt, 30% Engineering, manchmal bis zu 50/50 Split. Der Impuls ist sicherzustellen, dass das Engineering einen Teil ihrer Zeit damit verbringt, neue Funktionen aufzubauen, aber auch sicherzustellen, dass wir „unsere eigenen“ Arbeiten erledigen können, z. B. adressive technische Schulden, Upgrade -Systeme und unseren Code dokumentieren.
Das Problem ist, es ist eine Sache, dies zu Beginn und eine andere zu sagen, um es Wirklichkeit werden zu lassen. Es gibt einige Gründe, warum ich dieses Modell fehlgeschlagen habe, nicht weil die Menschen theoretisch nicht verstehen, dass es wertvoll ist, sondern weil es in der Praxis einige gemeinsame Fallstricke gibt, die Sie durchdenken müssen. Wir werden einige dieser Szenarien aus der Perspektive eines technischen Leiters abdecken, damit wir uns auf einen guten Weg nach vorne befassen können.
Einige der folgenden Hinweise sind Reaktionen und Planungen, die auf dem basierend auf dem, was schief gehen kann, zuerst über die Herausforderungen sprechen, denen Sie begegnen können, wenn dies nicht richtig eingerichtet ist.
So schön es auch ist, etwas Freiheit in Ihrer technischen Zeit, Kommunikation, Planung und klaren Erwartungen zu haben, können dazu beitragen, dass Sie die oben beschriebenen Probleme vermeiden.
Sobald Sie herausgefunden haben, welches Problem Sie sich angehen möchten, ist es wichtig , einen kleinen One-Sheeter-Aufschreiben zu schreiben , den Sie mit den Stakeholdern über die Art der Arbeit, die Zeit, die es benötigen, und warum es wichtig ist.
Wenn es sich um ein großes Projekt handelt, können Sie diese Stücke auch in Github/Gitlab/JIRA -Probleme einbeziehen und ein Etikett für die Art der Arbeit hinzufügen, die es ist. Dies ist großartig, da Sie das Projektmanagementsystem verwenden können, das Sie bereits verwenden, um die Arbeit und Erwartungen wöchentlich zu erhöhen. Es ist gut, den Dialog mit Ihren Produktpartnern auf Umfang und der Art der Arbeit offen zu halten, damit sie nicht überrascht werden, dass andere Arbeiten erledigt werden. Dies wird weitgehend von der Kultur des Teams und der Organisation variieren.
Dies kann auch Ihren Ingenieuren Klarheit bieten. Wenn sie die Natur der Arbeit verstehen und was von ihnen erwartet wird, ist es für sie einfacher, die kleinen Probleme anzugehen, die ein Ganzes ausmachen.
Sie können feststellen, dass es aus Sicht der Fokus weniger sinnvoll ist, dass jeder Ingenieur die Zeit in Produkt- und Ingenieurprojekten spaltet. Sie können stattdessen lieber die Arbeit zwischen sich aufteilen: drei Personen, die einige Wochen lang Produktarbeiten, eine Person für technische Arbeiten. Es gibt auch Zeiten, in denen jeder involviert sein muss, damit er über gleiches institutionelles Wissen verfügt (Migrationen können so sein, je nachdem, was es ist). Ihre Kilometerleistung kann je nach Größe des Teams, der Menge der Produktarbeit und der Art des Projekts variieren.
Auch hier hilft die Kommunikation hier - wenn Sie sich nicht sicher sind, wie der richtige Weg ist, kann es helfen, ein kleines Brainstorming als Gruppe darüber zu haben, wie Sie dies erledigen möchten. Stellen Sie nur sicher, dass Sie auch alle darauf ausrichten, warum das Projekt dabei wichtig ist.
Es gibt viele Arten von Projekten, die Sie in Ihrer technischen Teamzeit erstellen können, und jedes hat etwas andere Ansätze als das, was ich gesehen habe. Lassen Sie uns also jeden von ihnen durchgehen.
Lassen Sie uns zunächst die technischen Schulden ansprechen, da dies eines der häufigsten Arbeiten ist, die Ihr Team freischalten können. Bei jeder Funktion, die Sie schreiben, verlieren Sie nicht nur in Bezug auf die Produktentwicklung Zeit, wenn Sie nicht nur Zeit in Bezug auf die Produktentwicklung verlieren, sondern auch Geld in Bezug auf die technische Zeit im Gehalt.
Ein bisschen technische Schulden sind natürlich, insbesondere bei kleineren Unternehmen, in denen es stärker sinnvoll ist, sich schnell zu bewegen, aber es gibt einige Punkte, an denen die technische Verschuldung für die Entwicklung und die Veröffentlichung lähmt und eine Codebasis instabil macht. Manchmal muss es sofort durchgeführt werden, um sicherzustellen, dass alle Ihre Ingenieure effizient arbeiten können, und manchmal ist es allmählich.
In vielen Fällen sind die technischen Schulden Dinge, die Sie lernen, die Sie durch einen Bottoms-up-Ansatz benötigen: Die Entwickler, die mit dem System am nächsten sind, wissen am besten, was tägliche technische Schulden existieren als technische Manager (EMS) in der Regel. Die Herausforderung als EM besteht darin, größere Muster zu bemerken, wie wenn sich viele Leute über die gleiche Ding beklagen, und nicht über einen Entwickler, der eine starke Meinung hat. Wenn Sie sich vor dem Starten dieser Art von Projekt fragen, können Sie helfen - befragen Sie die Leute, wie viel Zeit sie in einer Woche verschwenden, und die Aussicht auf eine Alternative.
Manchmal ist technische Schulden eine große Menge Refaktor. Ich habe gesehen, dass dies am besten ist, wenn die Leute vorne sind, welche Art von Pull -Anfragen (PR) notwendig sind. Müssen Sie das CSS an einer Million Plätzen aktualisieren? Oder alte Klassenkomponenten in Haken konvertieren? Sie wollen wahrscheinlich keine riesige PR für alles, aber es macht auch keinen Sinn, diese Arbeit pro Komponent zu brechen. Arbeiten Sie als Team zusammen, wie viel jeder PR von der Überprüfung erwartet wird, damit Sie während der Erledigung der Arbeit kein „Bewertungsloch“ erstellen.
Viele Unternehmen werden Projekte für Woche und Innovationswoche durchführen, bei denen Entwickler an einem Merkmal des Unternehmens arbeiten können, das nicht zugute kommt. Es ist eine großartige Zeit für die Erkundung, und ich habe einige leistungsstarke Funktionen zu bekannten Anwendungen auf diese Weise gesehen. Es ist auch unglaublich energetisiert für das Team, eine Idee zu sehen, die sich selbst verwirklicht.
Das Problem mit solchen Projekten in der Zeit von Split Engineering ist, dass Sie das Produktteam manchmal ein wenig beleidigt fühlen können. Warum? Denken Sie aus ihrer Sicht an Dinge. Ihre Aufgabe ist es, diese Merkmale zu erstellen, sorgfältig mit den Stakeholdern zu planen, Roadmaps (häufig auf Unternehmensmetriken und Forschung) zusammenzustellen und in den technischen Zeitplan einzusteigen und in der Regel mit einem Projektmanager zusammenzuarbeiten. Wenn Sie die Hälfte Ihrer Zeit an ungeplanten Funktionen verbringen, können Sie möglicherweise einen vorhandenen Plan für ein Projekt investieren, gegen einige der bekannten Forschungen antreten, die sie durchführen, oder einfach den Prozess verlangsamen, um eine Kern-It-oder-Break-IT-Funktion zu erhalten.
Die Art und Weise, wie ich dieses Spiel gut gesehen habe, ist, wenn die EM mit Produkt im Voraus kommuniziert. Betrachten Sie dies als Partnerschaft: Wenn das Produkt besagt, dass ein bestimmtes Merkmal keinen Sinn ergibt, haben sie wahrscheinlich einen guten Grund, dies zu denken. Wenn Sie sich beide hören können, gibt es wahrscheinlich einen Weg nach vorne, auf dem Sie beide zustimmen.
Es ist auch gut, ihre Ängste anzusprechen. Sind sie besorgt, dass es nicht genug Zeit für die Produktarbeit gibt? Fragen Sie Ihr Team direkt, wie viele Wochen zur Halbzeit sie denken könnten (mit den Erwartungen, dass sich die Dinge ändern könnten, wenn sie sich eingraben). Machen Sie allen klar, dass Sie nicht erwarten, dass es in einem Pause erledigt wird.
Letztendlich ist die Kommunikation der Schlüssel. Im Idealfall sind dies kleine Projekte, die nichts entgleist, was parallel zur regulären Arbeit durchgeführt werden kann. Mein Vorschlag ist, es mit etwas sehr Kleinem zu versuchen, um zu sehen, welche Beulen auf der Straße es geben könnten, und auch Vertrauen mit Produkt aufzubauen, das Sie immer noch Ihre Arbeit erledigen und nicht „rogue“.
Das letzte Stück davon ist herauszufinden, wer für Metriken, Ergebnisse verantwortlich ist und wann die Dinge nicht gut laufen. Ein Teil des Grundes, warum das Produkt die Richtung entscheidet, liegt daran, dass sie am Haken sind, wenn es fehlschlägt. Stellen Sie sicher, dass Sie als Ingenieurleiter die Verantwortung für die Ergebnisse übernehmen, sowohl im Guten als auch für die das Schlechte, eine gute Beziehung aufrechtzuerhalten.
Dies ist wahrscheinlich die eindeutigste der Arten von Projekten und wird wahrscheinlich den geringsten Rückschlag von jedermann erhalten. Beispiele für diese Art von Arbeit sind interne Dokumentationen, Werkzeuge (wenn Sie kein spezielles Tools -Team haben) oder kleine Wartungsbits.
Die hier benötigte Kommunikation unterscheidet sich ein wenig von anderen Projekten, da es nicht unbedingt ein eingeschränktes Projekt sein wird, das Sie versenden, sondern ein iterativer Prozess. Nehmen Sie als Beispiel Dokumentation ein: Ich würde die Bauzeit für die interne Dokumentation in einen Funktionsprozess vorschlagen.
Angenommen, Sie haben eine neue Funktion erstellt, mit der Teams zusammenarbeiten können. Nicht jeder im gesamten Unternehmen kann wissen, dass Sie einen Microservice für diese Funktion erstellt haben, das ein Team verwenden kann und welche Parameter erwartet werden oder wie die Funktionalität im Laufe der Straße hinzugefügt werden kann. Interne Dokumente können den Unterschied zwischen dem verwendeten Dienst und Ihrem Team sein, das gebeten wird, jedes Mal, wenn jemand ihn verwenden muss, mit jemandem zu kombinieren. Oder schlimmer: Sie versuchen, sich selbst zu hacken und es selbst herauszufinden, und schafft ein Durcheinander von etwas, auf das schneller und effizienter hätte bearbeitet werden können.
Im Gegensatz zu den Innovationsprojekten ist langsame, fortlaufende Arbeit in der Regel nicht etwas, das sich die Leute wirklich sehnen, sodass ein Prozess und die Erwartungen sofort am besten geeignet sind. Interne Dokumentation ist ein manchmal versteckter, aber sehr wichtiger Teil eines gut funktionierenden Teams. Es hilft beim Onboarding, das Auf die gleiche Seite über die Systemarchitektur zu bringen, und kann sogar helfen, Entwickler wirklich zu festigen, was sie aufgebaut haben, und darüber nachdenken, wie sie es lösen.
Migrationen werden etwas anders behandelt als einige andere Arten von Projekten, da dies wahrscheinlich alle betrifft. Es gibt keinen richtigen Weg, dies zu tun, und hängt auch weitgehend davon ab, welche Art von Migration es ist - ein Rahmen für das Rahmen, das Aufbrechen eines Monolithen und die Migration zu einem anderen Build -Prozess oder Server können unterschiedliche Ansätze aufweisen. Aufgrund der Tatsache, dass jeder von diesen wahrscheinlich ein eigener Artikel ist, lassen Sie uns einige Optionen auf hoher Ebene durchlaufen, die für die Organisation von ihnen gelten.
Dieser letzte Schritt mag optional erscheinen, aber meiner Meinung nach ist es eine große Sache. Ihr Team hat gerade etwas Unglaubliches abgerufen: Sie parallel mussten die Bemühungen, sie waren gute Partner für Produkte, sie haben etwas für die technische Organisation im Allgemeinen erledigt. Es ist entscheidend, die Arbeit wie Sie zu feiern, wie Sie es starten würden.
Das Team muss wissen, dass Sie diese Arbeit schätzen, weil es oft undankbar, aber sehr wirkungsvoll ist . Es kann auch Vertrauen aufbauen zu wissen, dass es auch ihrem Karriereweg hilft, wenn etwas Haariges in der Zukunft auftaucht. Feiern Sie mit Ihrem Team, was Sie erreicht haben, kostet sehr wenig und hat große kulturelle Auswirkungen.
Dies ist nur ein Beispiel der Art von Inhalten aus meinem neuesten Buch, das bald herauskommt…
Treten Sie der Liste bei!Das obige ist der detaillierte Inhalt vonSpaltzeit zwischen Produkt- und technischen Bemühungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!