Dlaczego miałbyś zatrudnić wewnętrznych programistów zamiast zlecać im opracowanie produktu dla swojej firmy? [Zamknięte]


23

Dlaczego miałbyś zatrudnić w firmie zamiast outsourcingu przy opracowywaniu produktu dla swojej firmy? Mogę wymyślić tylko kilka, ale nie jestem do końca pewien, czy mają wystarczający powód.

To jest właściwie debata, którą zamierzam prowadzić w klasie. Jestem bardziej skłonny do outsourcingu, ale niestety poproszono mnie o przejście na wewnętrzną stronę debaty.

Jakieś pomysły?


1
Żeby było jasne, kiedy mówisz o outsourcingu, masz na myśli tylko zewnętrzną firmę lub tak często używane potocznie offshoring (tj. Poza granicami kraju).
GrandmasterB

Jestem pewien, że mój profesor miał na myśli oba te słowa, kiedy powiedział outsourcing.
Terence Ponce,

38
Podoba mi się, jak zleciłeś zadanie domowe: p
glasnt

Odpowiedzi:


26
  • Zespół wewnętrzny będzie lepiej reagował na Twoje potrzeby, ponieważ w rzeczywistości są częścią Twojej firmy, dzięki czemu mają lepsze pojęcie o tym, czego chcesz.
  • Wewnętrzny zespół łatwiej się komunikuje - nic nie przebije regularnego kontaktu twarzą w twarz.
  • Twój wewnętrzny zespół będzie posiadał wiedzę na temat konkretnej dziedziny, której musiałby nauczyć się zespół zewnętrzny.
  • Inwestujesz nie tylko w oprogramowanie, ale także w wiedzę specjalistyczną w rozwiązywaniu problemów związanych z oprogramowaniem w Twojej firmie. Korzystanie z własnych programistów tworzy grupę programistów, którzy wcześniej zajmowali się tymi konkretnymi problemami.

(W przypadku kontrargumentów zobacz stanowisko Joela .)


5
Odpowiedź Joela na link wydawała się bardziej „dlaczego nie chciałbym być programistą wewnętrznym” nie?
MIA

Nieco. Jednym z głównych punktów było to, że wewnętrzne procesy produkcyjne mają tendencję do produkowania gównianego oprogramowania.
Fishtoaster,

8
Mam mnóstwo horrorów o gównianym oprogramowaniu zewnętrznym, więc nie sądzę, aby można było uogólnić ten konkretny wymiar.
MIA

+1: dookoła. Nasza firma jest zależna od zewnętrznego zespołu programistów. Jestem pierwszym „programistą”, który zatrudnił pracowników od 5 lat - szczególnie po to, by zmniejszyć zależność od firmy zewnętrznej i wprowadzić ją w życie.
IAbstract

6
90% całego oprogramowania jest kiepskie, co może być niedoceniane
jk.

11

Jeśli oprogramowanie ma być używane taktycznie lub strategicznie lub ma kluczowe znaczenie dla Twojej firmy, kluczową kwestią mogą być programiści, którzy również rozumieją działalność. Muszą także zrozumieć wsparcie i cykl życia oraz koszty, jakie będzie kosztować Twoja firma w związku z obsługą systemów po wydaniu.

Nie sądzę, że koszt jest ogólnie faktycznym czynnikiem. Jeśli ktoś twierdzi, że tak, jest ignorantem lub kłamie. W przypadku outsourcingu płacisz komuś marżę zysku oprócz kosztów. Wszelkie oszczędności wynikające z różnic geograficznych na rynku pracy zwykle szybko nadrabiają wzrost kosztów komunikacji i edukacji, a różnice stawek nie są tak duże, jak kiedyś, ponieważ świat rozwijający się nazywa się tak nie bez powodu.

Istnieje wiele rodzajów oprogramowania. W wielu przypadkach możesz zlecić coś na zewnątrz i mieć się dobrze. Problem polega na tym, że decyzja musi być podejmowana indywidualnie dla każdego przypadku i nie można jej rozwiązać w jednym rozmiarze dla każdej sytuacji.

Jestem pewien, że w procesie decyzyjnym należy szukać miliona rzeczy.

Zdarzałyby się przypadki, w których opracowanie dobrze określonego, ale kluczowego oprogramowania mogłoby być z łatwością powierzone firmie specjalizującej się w tego rodzaju pracy - na przykład na poziomie systemowym, takim jak sterownik urządzenia lub serwer WWW, może być nadal zlecony przez firma, która stworzyła urządzenie i chciała bardziej specjalizować się w obsłudze użytkowników niż elementy składowe.

Z drugiej strony, jeśli zamierzasz prowadzić ten serwer sieciowy w specjalny sposób i chociaż masz go dobrze sprecyzowany, ten komponent będzie ściśle powiązany z głównymi wielofazowymi inicjatywami programistycznymi, prawdopodobnie nie jesteś Będę chciał to zlecić na zewnątrz.


3

To późna odpowiedź, ale bardziej ogólne: „dlaczego firma zatrudniłaby się w domu X zamiast zlecać na zewnątrz?” - innymi słowy, dlaczego istnieją firmy, a nie jeden dyrektor generalny, który zleca wszystko na zewnątrz? - nazywa się „teorią firmy”

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

i istnieje wiele dowodów i badań z różnych powodów, a także duża wiedza na temat tego, kiedy ma sens outsourcing kontra „in-source” różne części pracy i kapitału.


2

Jednym z powodów, aby zrobić to na miejscu, jest to, że używasz technologii szyfrowania danych, której nie można wyeksportować do niektórych krajów.

Oprogramowanie można prawdopodobnie wykonać szybciej, w wyższej jakości i lepiej spełniać oczekiwania klienta, gdy używany jest mały, lokalny zespół programistów, którzy mogą komunikować się twarzą w twarz za pomocą modelu iteracyjnego.

Model iteracyjny jest prawdopodobnie mniej skuteczny w przypadku outsourcingu; outsourcing wymaga więcej pracy przy opracowywaniu wymagań, z wykorzystaniem BDUF (duży projekt z góry).

Jeśli aplikacja jest duża, a części przyziemnych rzeczy można podzielić na małe, dobrze zdefiniowane biblioteki, wówczas outsourcing może być cenny przy produkcji tych elementów.


2

Outsourcing (lokalnie) ma sens, jeśli firma nie ma zasobów, aby dokonać rozwoju, ani nawet know-how, aby rozpocząć. Na przykład firma obuwnicza, która chce stworzyć aplikację na Androida. Nie ma sensu robić tego w domu. Jeśli jest to firma zajmująca się oprogramowaniem, outsourcing projektu nie ma większego sensu, choć pewne luki mogą być wypełnione zewnętrznymi kontrahentami.

Istnieje inna forma outsourcingu ... kupowanie firm w celu uzyskania i rebrandingu ich produktów. Oznacza to, że większa firma wyszuka istniejący produkt, kupi go i zmieni markę jako własną. Efekt netto tego jest zasadniczo taki sam jak outsourcing.

Jeśli chodzi o offshoring, nie zawsze jest to dobra decyzja finansowa, którą menedżerowie chcieliby, abyś pomyślał. W większości prac programistycznych wymagana jest zbyt duża wiedza na temat domeny (wiedza branżowa), których po prostu nie można tak „kupić”, a niezwykle trudno jest zdalnie zduplikować zespół, który powiela to tylko przy pomocy specyfikacji.


1

Mamy tylko mały zespół wewnętrzny i korzystaliśmy tylko z małych zespołów zewnętrznych, ale oprogramowanie wyprodukowane wewnętrznie zawsze było znacznie lepsze niż oprogramowanie napisane zewnętrznie.

Wewnętrznie używamy udokumentowanych wzorców, odpowiedniej logiki warstwy biznesowej (nie tylko klas, które wywołują inne metody w warstwie danych, zwracając tabelę danych bez żadnej logiki nigdzie), i mamy bibliotekę kodu, z której możemy ponownie korzystać z innych aplikacji, które mieszczą się w obrębie nasza domena.


1

Ponieważ prawdopodobnie nie wiesz dokładnie, co należy zbudować.


1
A który klient kiedykolwiek zaakceptował uzgodnione wymagania jako ostateczną dostawę bez znacznej zmiany zakresu? Czasami wewnętrzni programiści mogą zestalić się i wymyślić różne scenariusze oparte na znacznie mniej zdefiniowanych wymaganiach, w przeciwieństwie do outsourcingu, który po prostu zatrzymuje rozwój, dopóki nie zostaną wyjaśnione (i prawdopodobnie straciłeś cały dzień na morzu).
Jé Queue,

0

To zależy od różnych czynników:

Jeśli tworzysz oprogramowanie; oczywiście musisz mieć jakieś tajne plany, poufność, nowe pomysły itp., co sprawia, że ​​bardziej wrażliwe jest bycie preferowanym w domu, niż zlecanie na zewnątrz oprogramowania.

Z drugiej strony, jeśli masz napięty budżet lub chcesz bardziej skoncentrować się na działaniach sprzedażowych i marketingowych niż na hardcorowym rozwoju lub jeśli masz większy przepływ pracy niż jest w stanie obsłużyć obecny zespół; możesz skorzystać z outsourcingu rozwoju oprogramowania.

Wszystko zależy więc od twoich preferencji; obie opcje mają swoje zalety i wady. Jeśli będę musiał stworzyć prostą stronę internetową, wolę zatrudnić firmę zajmującą się tworzeniem stron internetowych, która zleci jej outsourcing, a jeśli będę musiał stworzyć oprogramowanie z napisem CRM lub ERP, wolę zrobić to we własnym zakresie.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.