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.