outsourcing team

Drupal Outsourcing - Wie man das beste Team findet

Drupal ist fantastisch für alle Arten von Websites und Anwendungen. Drupal glänzt besonders bei großen, komplexen Content-Projekten. Wenn Sie wissen, was Sie tun, können Sie die Entwicklungszeit im Vergleich zu anderen Tools, die für denselben Zweck entwickelt wurden, oft erheblich verkürzen. 

Drupals Vielseitigkeit ist jedoch ein zweischneidiges Schwert. Mit großer Flexibilität, umfangreicher API und einer Fülle von von der Community erstellten Modulen benötigt es lange, um sich einzuarbeiten. Oft fehlt die Zeit, um die steile Lernkurve von Drupal in einem Projekt zu durchlaufen. 

Je erfahrener Ihr Team ist, desto mehr Vorteile von Drupal werden Sie ernten, desto weniger technische Schulden werden Sie anhäufen und desto erfolgreicher wird Ihr Projekt am Ende sein.

Auf der Suche nach einem Drupal-Team

Es gibt einige kritische Elemente, die Sie berücksichtigen sollten, wenn Sie nach einer Outsourcing-Möglichkeit für Drupal-Entwicklung suchen:

Erfahrung des Teams und seiner Mitglieder

Es dauert Zeit, Drupal zu meistern. Wenn Sie eine große Anwendung entwickeln, ist es gut, mindestens einen wirklich erfahrenen Entwickler/Softwarearchitekten (drei oder mehr Jahre Erfahrung mit Drupal) zu haben, der in dieser Zeit einige umfangreiche Projekte geliefert hat. Diese Person wird als Ihr Architekt und Gatekeeper fungieren. Architekturplanung, Auswahl von Beitragsmodulen und Code-Reviews sowie Unterstützung anderer wären seine tägliche Routine.

Der Rest des Teams sollte ebenfalls etwas Erfahrung im Umgang mit Drupal haben, es sei denn, Sie haben Zeit, sie zu schulen. Drupal ist für einen Entwickler, der zuvor mit einem MVC-Framework wie Symfony oder Laravel gearbeitet hat, etwas leichter zu erlernen, aber es ist immer noch weit davon entfernt, einfach Drupal-Anfänger zur Mitarbeit und zum Codieren einzuladen.  Sechs Monate bei kleineren bis zu 1-2 Jahren bei größeren Anwendungen wären eine angemessene Einarbeitungszeit.

Hat das Team schon zusammengearbeitet?

Dies ist nicht so kritisch, aber ein Team, das ähnliche Tools und Standards verwendet, trägt wesentlich dazu bei, dass Ihre Anwendung reibungslos entwickelt wird. Teams, die "für ein Projekt" zusammengestellt wurden, schneiden oft schlechter ab als solche, die Zeit hatten, ihre Kooperationspraktiken zu verfeinern. 

Sie können viele Probleme, die sich aus einer verteilten Struktur ergeben, durch eine gut etablierte Automatisierung des Softwareentwicklungsprozesses umgehen. Es ist schwierig, aber so viel einfacher einzuführen, wenn alle Entwickler bereits daran gewöhnt sind.

Kommunikation

Wie werden Sie mit dem Team kommunizieren? Stellen Sie sicher, dass es eine klare und einfache Kommunikation zwischen Ihnen und allen Teammitgliedern direkt gibt. Es gibt nichts Schlimmeres in einem Projektalslange Kommunikationswege, die Informationen verfälschen und die Kommunikationszeit verlängern. 

Vertrauen

Können Sie Vertrauen aufbauen? Bei einem langen Projekt ist es wesentlich, eine vertrauenswürdige Beziehung zwischen Ihnen und dem Team aufzubauen.  Wenn Sie das Gefühl haben, dass es irgendwelche Probleme oder unklare Situationen gibt, ist es besser, diese alle vor Beginn des Projekts zu klären.

Verfügbarkeit und Skalierung

Kann das Team bei Bedarf skalieren? Oftmals beginnen Projekte klein, wachsen dann aber und benötigen mehr Ressourcen. Wird das Team in der Lage sein, seine Größe zu erhöhen, oder werden Sie nach zusätzlichen Personen suchen müssen?

Die andere Seite der Medaille ist die Fluktuation. Die durchschnittliche Fluktuationsrate in einem Softwareunternehmen beträgt etwa 10–20%. Wenn Ihr Team aus 5 Personen besteht und das Projekt ein Jahr dauert, ist es fast sicher, dass jemand das Team verlässt. Ist das Team in der Lage, schnell einen Ersatz bereitzustellen? 

Zugang zu Fachwissen

Wenn Sie ein Team von Drupal-Entwicklern einstellen, ist es auch sinnvoll zu prüfen, ob sie Ihnen einfachen Zugang zu weiteren Dienstleistungen oder Fachwissen bieten, die im Projekt gelegentlich nützlich sein könnten. Bei einem typischen Drupal-Projekt können einige Aufgaben anfallen, die möglicherweise erfordern:
 - einen DevOps-Spezialisten (z.B. Einrichtung von Umgebungen, Servern oder CI-Infrastruktur)
 - UX/Design-Spezialisten
 - Qualitätssicherung (Tester), die manuelle oder automatisierte Tests Ihrer Anwendung durchführen können

Projekteinrichtung und Lieferung

Wenn Sie Ihr Team gewählt haben, ist es Zeit, das Projekt einzurichten.
Ich habe einen umfangreichen Blogbeitrag über die Organisation der Arbeit an einem Softwareprojekt geschrieben, damit die Lieferung reibungslos ablaufen kann, auch wenn mehrere unabhängige Teams beteiligt sind.  Wir sind starke Befürworter der Automatisierung. Es reduziert den Arbeitsaufwand, der damit verbunden ist, alle auf den aktuellen Stand des Codes zu bringen.

Wir empfehlen auch die Verwendung agiler Methoden, die ein fantastischer Ansatz zur Verwaltung eines Softwareprojekts sind. Sie können mehr darüber lesen, wie wir Softwareprojekte in unserem Blogbeitrag über remote SCRUM-Teams verwalten.

Zusammenfassung

Outsourcing von Software kann viele Vorteile bieten, darunter geringere Kosten, Zugang zu spezifischer Erfahrung oder das Füllen einer Lücke von Spezialisten auf Ihrem Markt.

Die Auswahl des richtigen Teams für den Job ist kein einfacher Prozess. Es ist sinnvoll, das richtige zu suchen, anstatt das billigste oder das erste, das Sie finden, zu beauftragen. Mit dem richtigen Team können Sie viele Risiken mindern, die aus der Beauftragung eines externen Outsourcing-Anbieters entstehen können, wie kulturelle Missverständnisse, Kommunikationsprobleme oder fehlende Motivation, und Ihr Projekt viel schneller und kostengünstiger liefern.
 

3. Best practices for software development teams