Ich bin der Manager eines Teams von 11 Softwareentwicklern, die sich um die Websites / Webanwendungen meines Unternehmens kümmern und bis zu 4 Projekte gleichzeitig ausführen sowie den täglichen Support. Innerhalb der 11 Entwickler gibt es eine Mischung aus technischen Fähigkeiten, Berufsbezeichnungen und Erfahrung, obwohl die Teamstruktur flach ist und alle 11 Entwickler direkt an mich berichten.
Das gesamte Team, das nur einen Manager hat, zeigt, dass es nicht sehr gut skaliert. Ich fange an, zu dünn zu sein, also möchte ich meine Anzahl direkter Meldungen reduzieren. Alle Möglichkeiten, die ich mir vorstellen kann, dies zu tun, haben erhebliche Nachteile:
- Lassen Sie Junior-Entwickler an Senior-Entwickler berichten. Dies reduziert die Entwicklungszeit der besten Techniker.
- Teilen Sie das Team nach Softwareprodukten auf, z. B. arbeiten die Entwickler 1-6 im Intranet und 7-11 auf externen Websites, wobei jeder Abschnitt einen neuen Teamleiter hat (möglicherweise eine neue Stellenbeschreibung mit mehr Verantwortung für Management / Mentoring / Coaching als die aktuellen Senior-Entwickler) ). Dies fügt künstliche Silos hinzu und könnte es schwierig machen, einen "Intranet-Entwickler" dazu zu bringen, an einer externen Website zu arbeiten, wenn ich dies möchte.
- Halten Sie die Struktur flach und unterstützen Sie Manager in Form von Projektmanagern / Teamadministratoren, um den Druck zu verringern. Dies löst das Problem nicht, da das Team nicht für immer so wachsen kann.
Gibt es einen Standardweg zur Lösung dieses Problems, den ich vermisse?
Wenn nicht, wie haben andere von Ihnen dieses Problem gelöst?
quelle
Antworten:
Einige kurze Gedanken:
Außerdem lohnt es sich immer, das Agile Manifest und insbesondere die zwölf Prinzipien (erneut) zu lesen .
quelle
Diese Struktur wird hauptsächlich
depend on project specifications
Idealerweise sollten 3 Junioren pro Senior-Entwickler in einem Team sein. Folglich gibt es pro Teach-Lead 2-3 leitende Entwickler.
Aus diesem Grund melden nur Techniker dem PM den Fortschrittsstatus des Projekts. Die beschriebene Struktur geht weiterhin davon aus, dass bei nicht-technischen Problemen (Urlaub, Freizeit, Konflikte usw.) jeder Zugriff auf PM haben kann.
Eines der relativ erfolgreichen Softwareentwicklungsteams, bei denen ich mitgewirkt habe, ging auf Projektbasis folgendermaßen vor:
Ein Software Development Manager / Senior Developer / Mentor, dem alle anderen direkt unterstanden.
Es hat einwandfrei funktioniert und ich habe diese Organisation geliebt. Andererseits war ich der Software Development Manager und die Organisationsstruktur des Teams entwickelte sich weiter.
quelle
Ziehen Sie in Betracht, dem Muster der funktionalen Personalorganisation zu folgen . Dies spricht für Ihre zweite Option, das Team nach Softwareprodukten aufzuteilen.
So zitieren Sie den Artikel in Ihrem Kontext:
Die tatsächliche Management- / HR-Struktur spielt darüber hinaus keine Rolle.
quelle
Nicht wirklich. Es wird von Ihrem Team abhängen, von Ihnen, was Sie tun müssen und welche Ressourcen Ihnen das Unternehmen zur Verfügung stellen wird.
Persönlich besteht die beste Art des Wechsels darin, die technische Verwaltung von der administrativen Verwaltung zu trennen. Es ist selten, dass Menschen in beiden Dingen gut sind und selten dazu neigen, miteinander zu interagieren.
Eine Person kümmert sich um die technischen Aspekte. Was muss getan werden, wer wird es tun, wie müssen sich die Dinge ausrichten. Der andere behandelt administrative Aspekte. Überprüfungen, Budgetbesprechungen, Produktplanung usw. arbeiten dann zusammen, um Erkenntnisse von einer Seite zur anderen zu kommunizieren und eine einheitliche Front zu schaffen.
Wie dies aufgebrochen wird, kann verschiedene Wege gehen. Am gebräuchlichsten ist, dass der technische Leiter die administrative Seite und der Architekt die technische Seite ist. Sie sind Peers und berichten an einen Director / VP.
Eine andere Aufgabe, die ich gesehen habe, besteht darin, dass der technische Leiter die Verwaltungsperson ist und dann der oder die Teamleiter als technische Person fungieren. Dies ist kniffliger und erfordert, dass die richtigen Personen als (meistens) Peers agieren, auch wenn die Berichterstellung hierarchisch ist.
Für Ihr spezifisches Szenario würde ich empfehlen, 2-3 Teams zu haben und technische Leads für die technischen Aspekte zu haben, und Sie konzentrieren sich auf die Verwaltung. Ja, es spart den Leads, die tatsächlich Code schreiben, Zeit, aber sie sollten (wenn sie gute Arbeit leisten) diese Zeit einkassieren, indem sie die jüngeren Entwickler effizienter / produktiver machen. Es gibt ihnen mehr Motivation und ein Gefühl der Leistung bei der eigentlichen Beförderung. Praktischerweise ist es einfacher, eine Position an das Management zu verkaufen, als eine neue zu eröffnen.
quelle