Wie baut man ein erstklassiges Umbraco-Entwicklungsteam auf?
Veröffentlicht: 2022-09-29Ihr Entwicklungsteam verfügt über die Mitarbeiter, Fähigkeiten und das Fachwissen, aber die Skalierung von Vorgängen ist immer eine Herausforderung, wenn Sie ein neues Projekt an Land ziehen oder eine sehr spezifische Plattformerfahrung benötigen. Sollten Sie Auftragnehmer oder ausgelagerte Webentwicklungsteams einsetzen? Dieser Beitrag befasst sich mit den Möglichkeiten, die Ihr Entwicklungsteam hat, um das Wachstum zu bewältigen.
Auftragnehmer vs. ausgelagerte Entwicklungsteams vs. eingebettete Teams
Auch wenn Sie denken, dass Sie das richtige Entwicklungsteam an Ort und Stelle haben, wird Ihr Unternehmen immer auf der Suche nach stark nachgefragtem Plattform-Know-how sein. Alle Organisationen werden sich die Frage stellen:
„Sollen wir für unsere aktuellen und/oder anstehenden Projekte mehr Personal einstellen oder wäre ein anderer Ansatz besser?“
Die richtige Entscheidung zu treffen ist nicht immer die praktischste, da eine Vielzahl von Faktoren eine Rolle spielen können. Kommen Ihnen diese Fragen bekannt vor?
- Ist dies nur ein vorübergehender Anstieg, was bedeutet, dass sich die Dinge irgendwann wieder normalisieren werden?
- Was ist, wenn das nächste Projekt andere Fähigkeiten erfordert als die aktuellen Ihrer Mitarbeiter?
- Werden Sie in der Lage sein, die Kosten für zusätzliche Teammitglieder zu decken, falls Sie in Zukunft mit einem Mangel an Projekten konfrontiert sind, oder müssen Sie Mitarbeiter entlassen?
- Wie können Sie bestehende Projekte unterstützen und gleichzeitig neue in Angriff nehmen, ohne kontinuierlich in neue Mitarbeiter (und Infrastruktur) zu investieren?
Nr. 1 Auftragnehmer
Sie „mieten“ einen Entwickler (oder zwei oder drei) von einem Unternehmen, das ihnen eine bestimmte Menge an Zeit und Geld zur Verfügung stellt, und lassen sie an einem oder mehreren Projekten arbeiten oder bestehende Projekte unterstützen.
Sie verwalten sie für die Zeit, in der sie Ihnen „gehören“, und lassen sie alle Arbeiten erledigen, die Sie möglicherweise benötigen. Auf diese Weise können Sie Ihr Team für kurze Zeit künstlich vergrößern, ohne Mitarbeiter einstellen zu müssen.
Vorbehalte beteiligt:
Auch hier müssen Sie wieder ein bisschen HR machen – die Tatsache, dass ein anderes Unternehmen eine bestimmte Person vorgeschlagen hat, bedeutet nicht, dass es definitiv die richtige Person für die Stelle ist. Interviews müssen geführt werden, und der neue Entwickler muss sich sehr schnell auf das einstellen, was Sie ihm geben müssen – was nicht immer der Fall ist.
Nehmen wir zum Schluss an, dass alles gut geht und die Arbeit erledigt ist. Der Entwickler verlässt das Unternehmen und dieselbe Person ist möglicherweise nicht verfügbar, wenn Sie sie erneut benötigen, was bedeutet, dass Sie den gesamten Prozess erneut durchlaufen müssen.
#2 Ausgelagerte Entwicklungsteams
Outsourcing bedeutet im Allgemeinen, dass Sie einen Prozess durchlaufen, bei dem Sie ein zuverlässiges Unternehmen finden und ihm ein Projekt zuweisen, in der Erwartung, Ergebnisse in einem klar definierten Zeitrahmen mit einem klar definierten Umfang und Spezifikationen zu erzielen.
Dies funktioniert am besten, wenn Sie ein Projekt übernehmen, für das Ihr internes Team keine nennenswerten Fachkenntnisse oder Erfahrungen hat, Sie sich aber trotzdem beteiligen möchten, ohne in die Einstellung und/oder Schulung von Mitarbeitern zu investieren.
Vorbehalte beteiligt:
- Sie müssen die Leute oder das Unternehmen, mit dem Sie zusammenarbeiten werden, überprüfen, was Zeit und wahrscheinlich Geld kostet – oder Sie müssen einfach ein großes Risiko eingehen.
- Sie müssen auch einen festen Umfang und perfekte Spezifikationen haben und wahrscheinlich einen Projektmanager auf Ihrer Seite haben, der die andere Partei bei jedem Schritt des Weges beobachtet und anleitet.
- Aufgrund schlechter Kommunikation oder schlecht geschriebener Spezifikationen können die Dinge leicht schief gehen, und es gibt Tausende von Fällen, in denen dies passiert ist.
Und wir sprechen hier überhaupt nicht von agilen Ansätzen – vergessen Sie es einfach, es sei denn, Sie haben immer wieder mit denselben Leuten gearbeitet.
Nr. 3 Embedded-Entwicklungsteam
Dies ist ein eher hybrider Ansatz, in dem Sinne, dass Sie keinen einzelnen Entwickler bekommen, sondern eine Gruppe von Menschen, die sich kennen und Erfahrung in der Zusammenarbeit haben.
Diese Personen werden dann in Ihr aktuelles internes Team „eingebettet“, indem sie Ihren Verfahren und Methoden folgen und schließlich Ihre Gesamtproduktivität steigern.
Vorbehalte beteiligt:
Sie werden nach wie vor einen „Fremdkörper“ in Ihr Unternehmen einführen und möchten, dass dieser sofort in Ihr bestehendes Personal integriert wird – und das kennen wir, zumindest aus der modernen Medizin, einen Organismus – wie Ihr Unternehmen – braucht Zeit, um Fremdkörper zu integrieren, und manchmal scheitert es.
Letztendlich funktioniert es möglicherweise besser als die oben genannten Alternativen, aber Sie müssen eine erhebliche Menge an Mühe in diese investieren.
Unser Vorschlag: Entwicklungsteam As-A-Service
(Oder, wie andere es nennen, SDaaS – Software Development as a Service)
Dies ist ein noch hybriderer Ansatz als das Embedded-Entwicklungsteam und (unserer Meinung nach) der kostengünstigste und bringt die besten Ergebnisse.
Kurz gesagt, Sie erhalten wie bisher ein Embedded-Entwicklungsteam, aber dieses Mal müssen Sie sich weder um die Größe des Teams noch um die individuellen Fähigkeiten kümmern – das Team hat zunächst einen Vertreter, normalerweise einen der Entwickler , der dafür verantwortlich ist, Ihre internen Entwickler (falls vorhanden) damit zu „verbinden“, die gesamte Kommunikation zu erledigen und ihre Kollegen auf den neuesten Stand zu bringen.
Sie weisen diesem Team Arbeit zu und zahlen für die Stunden, die es mit der Arbeit verbringt.
Das bedeutet, dass bei einer dringenden Aufgabe oder einem Projekt mehrere Mitglieder des Team-as-a-Service involviert werden müssten, um die Arbeit so schnell wie möglich abzuschließen, oder dass sie weniger dringende Aufgaben unter sich aufteilen könnten und haben jeweils eine Person. Aber darum kümmert sich das Team selbst.
In beiden Fällen erhalten Sie die gleiche Skalierbarkeit wie mit der Cloud, wenn Sie einen Webserver betreiben – es ist da, wenn Sie es brauchen, und Sie müssen nicht dafür bezahlen, wenn Sie es nicht brauchen.
Langfristig, wenn das Remote-Team Ihre internen Teammitglieder, ihr eigenes Fachwissen, Ihre Prozesse und Ihre Arbeitsweise immer besser kennenlernt, kann sich die Kommunikation erweitern und alle Entwickler können sich beteiligen.
Bis dahin ist normalerweise kein Vermittler mehr erforderlich, und Sie haben am Ende ein skalierbares Team, ähnlich einem eingebetteten Team, das Sie je nach Bedarf und abhängig von Ihrer aktuellen Arbeitsbelastung verwalten und verwenden können.
Vorbehalte beteiligt:
Im Gegensatz zur Nutzung von Cloud-Diensten in einer IT-Umgebung ist dies ein schrittweiser Prozess, der auf beiden Seiten Vertrauen aufbauen muss.
In den meisten Fällen übernimmt das andere Unternehmen den Integrationsprozess, und Sie müssen ihm nur das Leben erleichtern, indem Sie bei Bedarf Zugang und Informationen bereitstellen. Manchmal kann dies länger dauern als erwartet, besonders wenn Sie diese Arbeitsweise nicht gewohnt sind. Aber das ist alles, was dazu gehört.