Link copied to clipboard
Startseite Blog Team Management So bauen Sie ein schlagkräftiges Entwicklungsteam für Ihr Startup auf

So bauen Sie ein schlagkräftiges Entwicklungsteam für Ihr Startup auf

Team Management
Ein etabliertes Ein etablierter IT Dienstleiser

Zugang zu handverlesenen Entwicklern, um Ihr Team zu erweitern, oder eine qualitativ hochwertige mobile/web Applikation zu entwickeln

Kontakt aufnehmen

Sie wissen nicht, wie Sie beim Aufbau eines Entwicklungsteams vorgehen sollen? Daxx hat 5 bewährte Techniken zusammengetragen, die Ihnen helfen, Ihr Entwicklerteam zu strukturieren, ihre Produktivität zu maximieren und Ihr Startup erfolgreich machen. 


Wie strukturiert man die Softwareentwicklungsteam?

1. Definieren Sie die Größe des Teams

structure-software-development-team-organization

Es ist leicht anzunehmen, dass gilt je größer ein Team ist, desto produktiver ist es und desto bessere Ergebnisse werden erzielt. Allerdings sind große Teams oft deutlich weniger effizient als kleinere. Größere Teams benötigen oft zusätzliche Kommunikationskanäle, was wiederum zu einem erhöhten Kommunikations- und Managementaufwand führen kann.

Verschiedene Unternehmen haben eine unterschiedliche Vorstellung wie groß eine passende Teamgröße sein soll, unserer Erfahrung nach aber sind 4-7 Mitglieder so gut wie perfekt.

Große Unternehmen erfordern größere Teams. In diesem Fall ist es ratsam, die erforderliche Anzahl von Entwicklern einzustellen und diese dann in zwei oder mehr kleine funktionsübergreifende unabhängige Teams aufzuteilen, die jeweils von einem Teamleiter geleitet werden. Es ist besser, zwei relativ unabhängige Teams aus 5 Entwicklern zu haben, als ein großes Team mit 10 Personen.

Fazit: Um jedem im Team auf dem gleichen Stand zu haben, machen Sie seine Größe auf 4-7 Mitglieder aus. Denken Sie daran, je mehr Leute in einem Team sind, desto mehr Kommunikationskanäle haben Sie.

2. Wählen Sie die Art des Teams

choose-the-team-type-software-development-team-organization

Beim Aufbau Ihres eigenen Softwareentwicklungsteams stellt sich die Frage, ob Sie ein Team von Generalisten, Spezialisten oder ein hybrides Team möchten.

  • Generalisten

    Ein Generalist ist jemand, der über ein breites Spektrum an Kenntnissen und Fähigkeiten verfügt und in der Lage ist, seine Kompetenz in unterschiedlichen Bereichen seines Fachgebiets anzuwenden. Generalisten können eine Vielzahl unterschiedlicher Ressourcen nutzen, unterschiedliche Aufgaben ausführen und verfügen oft über stärkere Kommunikationsfähigkeiten und die Fähigkeit, sich schnell neues Wissen anzueignen.

    Auf Generalisten (der Begriff "Generalist" bezieht sich normalerweise auf "Full-Stack-Entwickler" in der IT-Branche) sollten Sie zurückgreifen, wenn das von Ihnen entwickelte Produkt eine Vielzahl unterschiedlicher Fähigkeiten erfordert, um erfolgreich abgeschlossen zu werden.

  • Spezialisten

    Im Vergleich dazu verfügt ein Spezialist über bestimmte Fähigkeiten oder eine bevorzugte einzelne Methodik. Ein Spezialist besitzt ein hohes Maß an Fachwissen und die Fähigkeit, diese auf komplizierte Geschäftsprobleme in einem Bereich anzuwenden, in denen eine größere Aufmerksamkeit erforderlich ist.

    In der Softwareentwicklung ist es oft besser, ein Team von Spezialisten zusammenzustellen, die sich auf einen bestimmten Teil der Entwicklung konzentrieren, nämlich Datenbankspezialisten - für eine Datenbank, Automation QA Engineer - für die Automatisierungstestsuite, Manual QA - für Handbuch testen usw.

  • Hybrides Team

    Kurz gesagt, es ist eine Mischung aus beidem. Ein solches Team konzentriert sich speziell auf die Bereiche, in denen Ihr Projekt am meisten Arbeit erfordert, und übernimmt bei Bedarf zusätzliche Aufgaben.

Welche Art von Team soll man wählen?

Die Antwort hängt von Ihrer geschäftlichen Spezialisierung und dem Projekt ab, an dem Sie arbeiten. Für Softwareentwicklungsteams empfielt sich eine Mischung aus Spezialisten und Generalisten mit einem Verhältnis von 3 zu 1 oder 75 zu 25%.  

Fazit: Die Einstellung von T-förmigen Mitarbeitern ist die beste Option. Die lange vertikale Linie des „T“  steht dabei für das allgemeine Wissen der Entwickler, während die horizontale Linie die Tiefe ihrer zusätzlichen Fähigkeiten anzeigt. Backend Entwickler, die Code auf PHP schreiben (Hauptkompetenz), können beispielsweise ein allgemeines Verständnis von JavaScript und Datenbanken haben (Zusatzkompetenz). Solche Mitarbeiter gelten nicht als komplette Generalisten, die alles können, sondern als Teammitglieder, die bei Bedarf mit anderen Spezialisierungen arbeiten können.

3. Verantwortlichkeiten Dokumentieren

structure-software-development-team-organization-document-responsibilities

Definieren und dokumentieren Sie die Rollen im Team (wir meinen damit nicht nur Entwickler), bevor Sie mit Recruitment beginnen. Wenn Sie beispielsweise mit Scrum arbeiten, gibt es drei Rollen: Entwicklungsteam, Product Owner und Scrum Master. Es ist sinnvoll, innerhalb des Entwicklungsteams spezifische Rollen zu definieren: Architekt, DevOps Ingenieur, Tech-Lead, Tech Community Leiter, was auch immer für die Entwicklungskultur Ihres Unternehmens am besten geeignet ist. Hier ist ein gutes interaktives Spiel, das Sie mit Ihrem Softwareentwicklungsteam spielen können. Das Ziel des Spiels ist es, die Rollen und Verantwortlichkeiten zu definieren, indem die folgenden Fragen beantwortet werden:

  • Welche Rollen haben Softwareentwickler bei euch?
  • An welchen 2-3 wichtigen Zielen arbeitest du  oder wie hilfst du dem Team?
  • Welche Ressourcen und/oder Unterstützung brauchst du, die du nicht hast?
  • Was steht dir im Weg?

Durch diese Übung können Sie den Beitrag jedes Teammitglieds definieren und erfahren, was sie am Erfolg hindert.

4. Wählen Sie Ihren Führungsstil: Strenges Management vs. Selbstorganisation

structure-software-development-team-organization-choose-your-management-style

Sie planen sicherlich nicht, Ihrem Entwicklungsteam gleich nach dem Kennenlernen die volle Freiheit des Selbstmanagements zu geben. Diese Option erfordert Zeit und Vertrauen. Wenden Sie in der Anfangsphase eines Teams eher striktes Management und Selbstorganisation später an – wenn das Team Erfahrung gesammelt hat. Um Selbstorganisation in Ihrem Team optimal zu nutzen, können Sie versuchen die Kontrolle zu verteilen und Verantwortlichkeiten an Ihre Teammitglieder zu delegieren.

Sobald Ihre remoten Entwickler verstehen, wie es ist, als ein Team zu arbeiten, kann die Selbstorganisation in Betracht gezogen werden.

Entwicklung einer Teamstruktur

Jedes Softwareentwicklungsteam durchläuft normalerweise 5 Entwicklungsphasen:

  1. Bildung. Diese Anfangsphase findet statt, wenn sich das Team zum ersten Mal trifft. Die Teammitglieder sind in der Regel höflich und freundlich, Konflikte sind nicht absehbar. Die Teamleitung spielt in dieser Phase eine entscheidende Rolle, da die Verantwortlichkeiten lediglich lose definiert sind und sich die Leute kaum kennen.
  2. Storming oder eine Zeit des Konflikts. Die Aufregung der Anfangsphase verflogen. Die Teammitglieder beginnen, zusammenzuarbeiten, zeigen ihre Schwächen, ihre Arbeitsweise und unterschiedliche Meinungen darüber, wie Dinge getan werden sollten. Das alles kann potenziell zu Konflikten innerhalb eines Teams führen, und der Teamleiter muss  Situation aktiv angehen um den Frieden wiederherzustellen. Versuchen Sie Konflikte nicht einfach zu vermeiden, sondern zu erkennen und zu lösen. Verfestigte Konflikte brauchen doppelt so lange zu lösen.
  3. Normierung. In dieser Phase beginnt das Team als eine Einheit zu arbeiten. Die Interaktion zwischen den Teammitgliedern wird besser und es entstehen weniger Konflikte. Ärger weicht Wertschätzung und gegenseitigem Respekt für Wissen und Fähigkeiten.
  4. Performanz. In dieser Phase ist das Team selbstbewusst, motiviert und selbstorganisiert. Als Teamleiter können Sie einen Großteil der Arbeit delegieren und mehr Zeit darauf verwenden, sich darauf zu konzentrieren, was Sie im Team noch besser machen könnten.
  5. Auflösung oder die letzte Phase. Alle Ziele sind erreicht, das Projekt ist abgeschlossen und das Team - aufgelöst. An dieser Stelle muss ein guter Teamleiter jedem Teammitglied persönlich Dank und Anerkennung aussprechen.

Die Anfangsphase ist am kompliziertesten. Wenn Sie jedoch wissen, welche Herausforderungen Sie in jeder Entwicklungsphase eines Teams erwarten und wie Sie sie angehen können, kommen Sie Ihrem selbstorganisierten Dreamteam einen Schritt näher.

5. Seien Sie ein guter Teamleiter​

structure-software-development-team-organization-be-a-good-team-lead

Ein Leiter in der Produktentwicklung sollte ein guter Kommunikator sein und in der Lage sein, klare Ziele und Anforderungen zu setzen und Konflikte zu lösen. Es liegt auch in der Verantwortung eines Projektleiters, jedem Entwickler klar zu machen, was seine Rolle ist und was von ihm erwartet wird.

Wie lösen Sie Konflikte bei der Formierung eines Entwicklungsteams?

Eine altbewährte Methode, um Konflikte zu lösen, besteht darin, jede Seite ihren Standpunkt mitteilen zu lassen, und den Konflikt in einem Kompromiss aufzulösen. Aber auch ein Kompromiss ist nicht immer die beste Lösung, da beide Seiten ihren Standpunkt aufgeben müssen, um einen Konsens zu erzielen. Um Win-Win-Ergebnisse zu erzielen, können Sie beispielsweise die „5 WARUM“ Methode anwenden. Bei dieser interaktiven Technik wird die Ursache eines Problems durch “Warum?” Fragen definiert.

Wie wendet man die „5 WARUM“ Methode an?

Beginnen Sie mit einem Problem und fragen Sie Ihre Teammitglieder, warum etwas passiert ist. Stellen Sie sicher, dass Ihre Antwort begründet ist, und fragen Sie dann erneut nach dem „Warum“. Fragen Sie weiter, bis Sie die wahre Ursache des Problems und eine passende Lösung gefunden haben.

Beispielsweise:

  • Warum hat sich der Kunde beschwert, dass er die spezielle Funktion unserer Anwendung nicht nutzen kann? - Weil in der neuesten Version ein Fehler aufgetreten ist.
  • Warum gab es einen Fehler in einer Testversion? - Weil wir die Testversion nicht ausreichend getestet haben.
  • Warum haben wir nicht ausreichen getestet?

Verwenden Sie diese Technik jedes Mal, wenn Teammitglieder ein Problem oder eine Meinungsverschiedenheit darüber haben, welche Lösung die beste ist.

Haben Sie weitere Fragen? Oder möchten Rat, wie Sie Ihr Softwareentwicklungsteam strukturieren sollten? Kontaktieren Sie uns über das untenstehende Formular und wir werden uns so schnell wie möglich bei Ihnen melden.

Sie wissen nicht, wie Sie anfangen sollen?
Kontakt aufnehmen
name

Juliya Mankovskaya

Juliya Mankovskaya is an avid Outreach Specialist at Daxx. She is passionate about Digital Marketing, IT and modern technologies. Juliya is responsible for Daxx social media promotion and external publications.

Rate this article
0/5
(0 reviews)