Warum sollten Sie firmeninterne Softwareentwickler einstellen, anstatt sie auszulagern, um ein Produkt für Ihr Unternehmen zu entwickeln? [geschlossen]


23

Warum sollten Sie bei der Entwicklung eines Produkts für Ihr Unternehmen unternehmensinternes Outsourcing beauftragen? Ich kann nur an ein paar denken, aber ich bin nicht ganz sicher, ob sie Grund genug sind.

Dies ist eigentlich für eine Debatte, die ich im Unterricht haben werde. Ich bin eher im Outsourcing-Bereich tätig, wurde aber leider gebeten, auf die interne Seite der Debatte zu wechseln.

Irgendwelche Ideen?


1
Um es klar auszudrücken: Wenn Sie von Outsourcing sprechen, meinen Sie damit nur ein externes Unternehmen oder, wie oft umgangssprachlich üblich, ein Off-Shoring-Unternehmen (dh außerhalb des Landes).
GroßmeisterB

Ich bin mir ziemlich sicher, dass mein Professor beides meinte, als er "Outsourcing" sagte.
Terence Ponce

38
Mir gefällt, wie Sie Ihre Hausaufgabenfrage ausgelagert haben: p
glasnt 20.12.10

Antworten:


26
  • Ein internes Team reagiert besser auf Ihre Anforderungen, da es Teil Ihres Unternehmens ist und somit eine bessere Vorstellung davon hat, was Sie möchten.
  • Mit einem internen Team lässt sich leichter kommunizieren - nichts ist besser als der regelmäßige persönliche Kontakt.
  • Ihr internes Team verfügt über mehr domänenspezifisches Wissen, als ein externes Team erlernen müsste.
  • Sie investieren nicht nur in die Software, sondern auch in das Know-how zur Lösung der verschiedenen Softwareprobleme Ihres Unternehmens. Wenn Sie Ihre eigenen Entwickler verwenden, wird ein Bestand an Programmierern aufgebaut, die sich zuvor mit diesen spezifischen Problemen befasst haben.

(Für Gegenargumente siehe Joels Einstellung .)


5
Joels Blick auf den Link schien eher zu sein: "Warum möchte ich kein interner Entwickler sein?" Nein.
MIA

Etwas. Einer der wichtigsten Punkte war, dass die Eigenentwicklung dazu neigt, auch beschissene Software zu produzieren.
Fishtoaster

8
Ich habe eine Menge Horrorgeschichten über beschissene ausgelagerte Software, daher glaube ich nicht, dass es möglich ist, diese bestimmte Dimension zu verallgemeinern.
MIA,

+1: den ganzen Weg herum. Unser Unternehmen ist von einem ausgelagerten Entwicklerteam abhängig. Ich bin der erste "Entwickler", der seit 5 Jahren Mitarbeiter hat - speziell, um die Abhängigkeit von der ausgelagerten Firma zu verringern und sie in das Unternehmen zu bringen.
IAbstrakter

6
90% aller Software ist beschissen, und das kann eine Unterschätzung sein
jk.

11

Wenn die Software taktisch oder strategisch eingesetzt werden soll oder für Ihr Unternehmen von zentraler Bedeutung ist, kann es von entscheidender Bedeutung sein, Programmierer zu haben, die auch das Geschäft verstehen. Sie müssen auch den Support und den Lebenszyklus sowie die Kosten Ihres Unternehmens für den Support der Systeme nach der Veröffentlichung kennen.

Ich denke nicht, dass die Kosten im Allgemeinen ein realer Faktor sind. Wenn jemand das behauptet, ist er unwissend oder lügt. Wenn Sie auslagern, zahlen Sie die Gewinnspanne einer anderen Person zusätzlich zu deren Kosten. Einsparungen aufgrund von geografischen Unterschieden auf dem Arbeitsmarkt machen sich in der Regel schnell in höheren Kommunikations- und Bildungskosten bemerkbar, und die Ratenunterschiede sind nicht mehr so ​​hoch wie früher, da die Entwicklungsländer dies aus einem bestimmten Grund nennen.

Es gibt viele Arten von Software. In vielen Fällen können Sie etwas auslagern und in Ordnung sein. Das Problem ist, dass diese Entscheidung fallweise getroffen werden muss und Sie sie nicht in einer einheitlichen Situation lösen können.

Ich bin sicher, dass im Entscheidungsprozess eine Million Dinge zu suchen sind.

Es gibt Fälle, in denen die Entwicklung einer gut spezifizierten, aber zentralen Software leicht an ein Unternehmen ausgelagert werden kann, das sich auf diese Art von Arbeit spezialisiert hat - zum Beispiel könnte eine Sache auf Systemebene, wie ein Gerätetreiber oder ein Webserver, immer noch von ausgelagert werden Ein Unternehmen, das ein Gerät herstellt und sich mehr auf das Benutzererlebnis als auf die Bausteine ​​spezialisieren möchte.

Auf der anderen Seite, wenn Sie diesen Webserver auf besondere Weise betreiben und obwohl Sie ihn genau spezifiziert haben, wird diese Komponente eng mit wichtigen mehrphasigen Entwicklungsinitiativen verbunden sein. Ich werde das auslagern wollen.


3

Dies ist eine späte Antwort, aber umso allgemeiner: "Warum sollte ein Unternehmen in Haus X einstellen, anstatt auszulagern?" - Mit anderen Worten, warum gibt es Unternehmen und nicht nur einen einzigen CEO, der alles auslagert? - heißt "die Theorie der Firma"

http://en.wikipedia.org/wiki/Theory_of_the_firm

und es gibt eine ganze Menge Beweise und Studien aus verschiedenen Gründen und eine Menge Wissen darüber, wann es sinnvoll ist, verschiedene Teile von Arbeit und Kapital auszulagern oder "in-source" zu verlagern.


2

Ein Grund dafür ist, dass Sie eine Datenverschlüsselungstechnologie verwenden, die nicht in bestimmte Länder exportiert werden kann.

Software kann vermutlich schneller und mit höherer Qualität erstellt werden und die Erwartungen des Kunden besser erfüllen, wenn ein kleines, lokales Entwicklerteam eingesetzt wird, das mit einem iterativen Modell von Angesicht zu Angesicht kommunizieren kann.

Das iterative Modell ist beim Outsourcing wahrscheinlich weniger effektiv. Outsourcing erfordert mehr Arbeit bei der Entwicklung von Anforderungen mit BDUF (Big Design Up-Front).

Wenn die Anwendung groß ist und Teile des Alltäglichen in kleine, genau definierte Bibliotheken aufgeteilt werden können, kann Outsourcing für die Herstellung dieser Teile von Nutzen sein.


2

Outsourcing (lokal) ist sinnvoll, wenn das Unternehmen nicht über die Ressourcen für die Entwicklung oder das Know-how verfügt, um überhaupt anzufangen. Zum Beispiel ein Schuhunternehmen, das eine Android-App erstellen möchte. Es hat nicht viel Sinn, dass sie das intern tun. Wenn es sich um ein Softwareunternehmen handelt, ist das Auslagern eines Projekts nicht sehr sinnvoll, obwohl einige Lücken möglicherweise von externen Auftragnehmern geschlossen werden.

Es gibt eine andere Form des Outsourcings ... Unternehmen aufzukaufen, um ihre Produkte zu erhalten und umzubenennen. Dies bedeutet, dass ein größeres Unternehmen nach einem vorhandenen Produkt sucht, es kauft und als eigenes Produkt umbenennt. Der Nettoeffekt ist im Wesentlichen der gleiche wie beim Outsourcing.

Für Off-Shoring ist das nicht immer die gute finanzielle Entscheidung, über die Manager nachdenken sollten. Bei den meisten Entwicklungen ist zu viel Fachwissen (Branchenwissen) erforderlich, das einfach nicht so „gekauft“ werden kann, und es ist äußerst schwierig, ein entferntes Team dazu zu bringen, das zu duplizieren, wobei nur eine Spezifikation als Leitfaden verwendet wird.


1

Wir haben nur ein kleines internes Team und haben nur kleine externe Teams eingesetzt, aber die intern produzierte Software war immer weitaus besser als die extern geschriebene Software.

Intern verwenden wir dokumentierte Muster, eine geeignete Geschäftsschichtlogik (nicht nur Klassen, die andere Methoden in der Datenschicht aufrufen und eine DataTable ohne tatsächliche Logik zurückgeben), und wir verfügen über eine Codebibliothek, die wir aus anderen Anwendungen, die in diese passen, wiederverwenden können unsere Domain.


1

Weil Sie wahrscheinlich nicht genau wissen , was gebaut werden muss.


1
Und welcher Kunde hat jemals seine vereinbarten Anforderungen als endgültige Lieferung ohne umfassende Änderung des Umfangs akzeptiert? In einigen Fällen können interne Entwickler verschiedene Szenarien auf der Grundlage weniger definierter Anforderungen verfestigen und entwickeln - im Gegensatz zu ausgelagerten Szenarien -, wodurch die Entwicklung nur gestoppt wird, bis Klarstellungen vorliegen (und Sie möglicherweise einen ganzen Tag vor der Küste verloren haben).
Jé Queue,

0

Es hängt von verschiedenen Faktoren ab:

Wenn Sie ein Softwareprodukt entwickeln; Offensichtlich müssen Sie geheime Pläne, Vertraulichkeit, neue Ideen usw. haben, was es sensibler macht, lieber im eigenen Haus zu arbeiten, als Ihre Softwareentwicklungsanforderungen auszulagern.

Auf der anderen Seite, wenn Sie ein knappes Budget haben oder sich mehr auf Vertriebs- und Marketingaktivitäten als auf die Hardcore-Entwicklung konzentrieren möchten oder wenn Sie mehr Workflow haben, als Ihr aktuelles Team bewältigen kann. Sie können mit Software-Entwicklung Outsourcing gehen.

Es hängt also alles von Ihren Vorlieben ab. Beide Optionen haben ihre eigenen Vor- und Nachteile. Wenn ich eine einfache Website entwickeln muss, ziehe ich es vor, eine Website-Entwicklungsfirma zu beauftragen, um sie auszulagern, und wenn ich ein Softwareprodukt mit CRM oder ERP ausstatten muss, mache ich es lieber intern.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.