Ich arbeite bei einem Startup, wo ich vor 3 Jahren als einziger Entwickler angefangen habe, und jetzt leite ich das Entwicklerteam. Es gibt insgesamt 15 Mitarbeiter, davon 8 Ingenieure:
Wir bauen gerade eine iOS-Anwendung.
Wir werden langsam ein bisschen erwachsen und haben jetzt einen UX Designer, einen Head of Product, einen Head of Marketing und so weiter. Nach einer langen Phase der Produktfindung und einigen sehr langen Veröffentlichungszyklen möchten wir schneller mit der Iteration beginnen.
Meine Ziele sind:
in der Lage zu sein, das Team parallel an 2 oder 3 vertikalen Slices von Features arbeiten zu lassen.
um diese Funktionen in jedem Sprint veröffentlichen zu können
um die Verantwortung und Verantwortlichkeit innerhalb des Teams zu erhöhen
Probleme, die ich sehe:
Fühlt sich „von oben nach unten“ an – ein Großteil der Teamkommunikation scheint durch mich zu erfolgen. dh. Wenn ein Backend-Entwickler ein Problem mit einer iOS-Komponente hat, fragt er mich vielleicht, und dann spreche ich mit dem iOS-Entwickler und leite dann Informationen zurück
Standups fühlen sich unkonzentriert an – da wir 8 Entwickler haben, die alle an verschiedenen „Teilen“ von Dingen arbeiten, scheinen Standups nicht besonders nützlich zu sein, da es keine wirklich einheitliche Anstrengung im gesamten Team gibt.
Es über den Zaun werfen – Nach dem Sprint Planning neigt jeder dazu, in seine Silos zu gehen. Wir haben besprochen, was erledigt werden muss, aber die Entwickler tendieren dazu, in ihre eigenen Welten einzutauchen und zum Beispiel nicht die Initiative zu ergreifen, um Schnittstellen zwischen Front- und Backend zu diskutieren, und werfen Dinge für QA (was normalerweise zu mir kommt unser Produkt Eigentümer) usw.
Frage: Ich frage mich, ob es an dieser Stelle sinnvoll ist, das Team in zwei funktionsübergreifende Gruppen aufzuteilen? Ich hoffe, dass dies Folgendes erreichen wird:
Ich nehme an, das Obige kann im Kontext eines einzelnen größeren Teams erreicht werden, aber ich habe noch keinen guten Weg gefunden, dies zu erreichen.
Ein paar Dinge heben sich von deiner Frage ab:
in der Lage zu sein, das Team parallel an 2 oder 3 vertikalen Slices von Features arbeiten zu lassen
Warum sehen Sie das parallele Arbeiten als Ziel? In der Regel kostet Sie die parallele Arbeit aufgrund des Overheads des Kontextwechsels an Effizienz.
Wenn ein Backend-Entwickler ein Problem mit einer iOS-Komponente hat, fragt er mich vielleicht, und dann spreche ich mit dem iOS-Entwickler und leite dann Informationen zurück
Dies ist ein Kommunikationsproblem. Hat das Team darüber gesprochen?
Standups fühlen sich unkonzentriert an
Hat das Team darüber gesprochen? Haben sie irgendetwas versucht, um die Stand-Ups besser zu machen?
Nach dem Sprint Planning neigt jeder dazu, in seine Silos zu gehen
Das Beheben der Probleme mit dem Aufstehen sollte hier helfen.
Ich würde vorschlagen, dass die größte Verbesserung, die Sie jetzt machen können, darin besteht, Dinge im Team zu diskutieren.
Es kann sein, dass die Aufteilung in zwei Teams sinnvoll ist, aber diese Entscheidung wird am besten vom Team selbst und nicht von einer Einzelperson getroffen.
Von dem, was Sie beschreiben, glaube ich nicht, dass Sie ein Problem mit Ihrer Teamgröße haben. 5 + 3 scheint ganz ok zu sein. Vielleicht sollte ich einige Kommentare zu Ihren Punkten hinzufügen, damit Sie verstehen, warum ich denke, dass Ihr Problem etwas anderes ist:
Ziel 1 und 2: Warum müssen Sie Ihrer Meinung nach 2-3 vertikale Schnitte gleichzeitig bearbeiten? Wenn Ihre Veröffentlichungszyklen derzeit zu lang sind, können Sie den Zyklus beschleunigen, indem Sie weniger Threads gleichzeitig verarbeiten. Es ist auch eine gute Praxis, einen Thread nicht von einer Person zu bearbeiten.
Ich denke, es ist ein häufiges und weit verbreitetes Problem, zu viele Geschichten gleichzeitig zu verarbeiten und zu hoffen, dass die Dinge dadurch schneller werden. Es tut nicht. Es wird dazu führen, dass Ihr Team in einzelne Entwickler aufgeteilt wird, jeder macht seine eigenen Sachen.
Problem 1 : Sind Ihre Entwickler in einem Team? Wenn ja, warum sollte ein Backend-Typ Sie nach etwas fragen, das der iOS-Entwickler getan hat? Haben sie ein gemeinsames Ziel? Sie sollten versuchen, ihr gemeinsames Ziel gemeinsam zu erreichen. Wenn sie dann feststellen, dass etwas nicht klar ist und sie Feedback vom PO benötigen, sollten sie Sie fragen. Zusammen.
Problem 2 : Siehe Kommentar zu Ziel 1 und 2. Wenn jeder an etwas anderem arbeitet, haben Sie nicht wirklich ein Team-Setup. Wir haben hier auch ein Team , das es so macht, es fehlt an Teamarbeit und dem Aufbau einer technischen Abteilung, weil sie "schnell" sein müssen.
Punkt 3 : Ja, auch der Teamgeist fehlt. Es sieht aus wie das typische Restaurantproblem. Service und Köche arbeiten nicht zusammen, kämpfen im schlimmsten Fall ihre kleinen Kriege und finden heraus, wer schuldig ist, und treiben die Arbeit auf der anderen Seite voran.
Ich hoffe, dass meine Ausführungen deutlich machen, dass eine Aufteilung des Teams nicht die Lösung ist. Von dem, was Sie beschreiben, kann ich Ihnen hier keine einfache Lösung geben. Normalerweise sollten iOS- und Backend-Entwickler sich gemeinsam einer Geschichte widmen . Und wenn sie das nicht erreichen, scheitern beide zusammen.
Darüber hinaus kann es auch ein Problem persönlicher Vorlieben und Abneigungen sein, wenn Ihre Arbeit aufgeteilt ist, sodass jeder seine eigene kleine Geschichte schreibt. Nach einer Runde Schuldgefühle werden die Menschen gegeneinander voreingenommen. Dies wird noch schlimmer, wenn dieselben Personen immer wieder dasselbe Thema behandeln.
Todd A. Jacobs
Bart van Ingen-Schenau