Verteilte Entwicklung - Distributed development
Ein verteiltes Entwicklungsprojekt ist ein Forschungs- und Entwicklungsprojekt (F & E), das an mehreren Geschäftsstandorten oder Standorten durchgeführt wird. Es ist eine Form der Forschung und Entwicklung, bei der sich die Projektmitglieder möglicherweise nicht von Angesicht zu Angesicht sehen, aber alle gemeinsam auf das Ergebnis des Projekts hinarbeiten. Dies geschieht häufig über E-Mail , das Internet und andere Formen der schnellen Fernkommunikation. Die verteilte Entwicklung wurde weitgehend von der Open-Source-Software- Community vorangetrieben .
Es unterscheidet sich von Outsourcing , weil alle Organisationen arbeiten gemeinsam auf gleicher Ebene statt einer Organisation von Unteraufträgen , die Arbeit zu einem anderen. Es ähnelt einem virtuellen Team, verfügt jedoch über ein Forschungselement.
Merkmale der verteilten Entwicklung
Entwickler sind auf mehrere Standorte verteilt und arbeiten an demselben Projekt oder Produkt. Die Gründe für die Verteilungen spielen keine Rolle. Sie können die Verfügbarkeit von Ressourcen an verschiedenen Standorten, die Nähe zu bestimmten Clustern, die Nähe zu Kunden oder Kostenvorteile umfassen.
Die Mitarbeiter sind möglicherweise auf eine verteilte Entwicklungsumgebung spezialisiert, arbeiten jedoch aktiv zusammen, um das gemeinsame Ziel zu erreichen. Irgendwo im Projektmanagement-Mix muss sich ein Programmleiter oder Projektmanager befinden. In einer verteilten Umgebung tauschen die Projektmitglieder Ideen, Informationen und Ressourcen aus. Eine wichtige Anforderung ist, dass die gesamte Kommunikation für alle Beteiligten offen sein muss und nicht auf diejenigen im selben Bürogebäude beschränkt sein muss. Dies wird normalerweise durch internetbasierte Zusammenarbeit erreicht. Zu den häufig verwendeten Kommunikationswerkzeugen gehören GitHub und Wikis .
Die verteilte Entwicklung ist eine der höchsten Formen der Zusammenarbeit in allen technischen oder wissenschaftlichen Forschungs- und Entwicklungsumgebungen . Es ist in der Regel kein Hindernis für den Geschäftserfolg, kann jedoch von einer gewissen Belastung bis zu einer schwierigen Erreichung reichen, da es hohe Managementfähigkeiten, ein ausgezeichnetes Kommunikationsumfeld, ein politisch freies Umfeld, eine hocheffiziente Infrastruktur und eine gute Infrastruktur erfordert. entwickeltes Organigramm und häufige Interaktion. Am wichtigsten ist, dass das Management an die Einrichtung glaubt und Maßnahmen ergreift, um die Einhaltung zu belohnen, und dass es sehr streng mit denen umgeht, die die Vorschriften nicht einhalten. Laut dem Unternehmer Mitch Kapor führen viele Unternehmen eine verteilte Entwicklung erfolgreich durch.
Erfolgsfaktoren
Die verteilte Entwicklung hat mehrere Nachteile. Studien haben gezeigt, dass Mitarbeiter, die alle im selben Büro arbeiten, ihre Arbeit besser koordinieren und produktiver arbeiten können. In ähnlicher Weise kann es sehr schwierig sein, eng integrierte Softwareanwendungen mithilfe verteilter Entwicklung zu entwickeln. Aus diesen Gründen verlangen viele große Unternehmen, einschließlich Facebook, dass alle Mitarbeiter im selben Büro arbeiten.
Trotzdem bietet die verteilte Entwicklung für ein Unternehmen mehrere Vorteile. Es ermöglicht Unternehmen, eine vielfältigere Belegschaft einzustellen, einschließlich Mitarbeiter, die zu Hause arbeiten oder keine großen Entfernungen zurücklegen möchten. Es ermöglicht Unternehmen, Qualitätsarbeiter zu geringeren Kosten einzustellen, im Gegensatz zu den sehr hohen Löhnen im Silicon Valley. Die verteilte Entwicklung eignet sich häufig besser für modulare Software, bei der verschiedene Teile des Programms separat entwickelt werden können.
Es gibt drei Haupterfolgsfaktoren für ein verteiltes Entwicklungsprojekt:
- Wählen Sie gute, starke und hochqualifizierte Mitarbeiter aus und / oder rekrutieren Sie sie.
- Geben Sie etwas Geld für persönliche Treffen aus, insbesondere zu Beginn jedes größeren Projekts.
- Erstellen Sie ein Organisationsdesign, das die Arbeit in einer verteilten Entwicklung unterstützt, einschließlich der richtigen Anreizsysteme.
Durch diese drei Aktionen kann man Vorteile erzielen, die über das reine Outsourcing oder Offshoring hinausgehen , nämlich viel motiviertere Mitarbeiter in allen Teilen des verteilten Netzwerks, eine höhere Bindung und sicherlich einen Gewinn aus der Vielfalt des Netzwerks.
Anwendungen
Weltweit verteiltes Software Engineering
Global Distributed Software Engineering ist die Unternehmensanwendung für einen verteilten Entwicklungsprozess. Unternehmen können aufgrund von Teams, die an verschiedenen Orten arbeiten, oder aufgrund von Outsourcing oder Offshoring in einer verteilten Umgebung arbeiten . Ein beliebter Ansatz für das verteilte Software-Engineering ist die verteilte agile Softwareentwicklung .
In der Vergangenheit wurde fast die gesamte Softwareentwicklung von Teams durchgeführt, in denen alle Mitglieder: der Teamleiter, Designer, Entwickler und Tester - in enger physischer Nähe zusammenarbeiteten. Im Laufe der Jahre nahmen die Unternehmen an Größe und Komplexität zu, was sie dazu zwang, Software weltweit zu entwickeln. Darüber hinaus wirkten sich auch andere Kräfte aus, zum Beispiel begannen wirtschaftliche Kräfte und die Globalisierung , nationale Märkte in globale Märkte zu verwandeln, was ebenfalls mehr Wettbewerb brachte.
Wie bereits unter Erfolgsfaktoren erläutert , bringt die Entwicklung von Software in einer verteilten Umgebung mehrere Vorteile mit sich. Dies ist auch ein Faktor für Unternehmen, die mit der globalen Entwicklung von Software beginnen, z.
- Niedrigere Entwicklungskosten zum Beispiel aufgrund niedrigerer Gehälter in anderen Regionen der Welt
- Zeiteffektivität, erhöhen Sie die Anzahl der täglichen Arbeitsstunden
- Zugang zu einem größeren Fachkräftepool
- Engere Nähe zum Markt und zu den Kunden eines Unternehmens
Global Distributed Software Engineering bietet viele Herausforderungen in Bezug auf die Kommunikation. Der Studienbereich Kommunikation in der verteilten Softwareentwicklung befasst sich mit diesen Herausforderungen und konzentriert sich darauf, Unternehmen dabei zu helfen, zuverlässige Kommunikationskanäle ohne Missverständnisse zu haben.