Pytanie:
Kiedy firma powinna zatrudniać programistów, a kiedy ich outsourcować?
user3486308
2020-02-14 16:08:40 UTC
view on stackexchange narkive permalink

Próbuję stworzyć aplikację internetową i mobilną. Ale jestem zdezorientowany, czy zatrudniać programistów, czy po prostu zlecać projekt na zewnątrz.

Niektórzy twierdzą, że lepiej jest zlecić projekt na zewnątrz, ale kiedy szukam innych firm, na przykład Facebooka, mają setki programistów. Dlaczego nie zlecili outsourcingu swojego projektu?

Jaki jest kluczowy czynnik, który sprawia, że ​​lepiej jest zlecać projekt na zewnątrz niż zatrudniać programistów?

Osiem odpowiedzi:
DeepDeadpool
2020-02-15 03:31:22 UTC
view on stackexchange narkive permalink

Jeśli jest to podstawowa funkcja biznesowa - zrób to sam, bez względu na wszystko.

Jest wspaniały esej napisany przez Joela Spolsky'ego zatytułowany W obronie nie wynaleziono tutaj Syndrom. Część z nich zacytuję tutaj.

Rzeczywiście, podczas niedawnej manii dotcomów grupa znachorów biznesu zasugerowała, że ​​firma przyszłości będzie całkowicie wirtualna - tylko modna para popijająca Chardonnay ich salon zleca wszystko na zewnątrz. Ci hiperwentylujący „wizjonerzy” przeoczyli to, że rynek płaci za wartość dodaną. Dwa yuppies w salonie kupują silnik e-commerce od firmy A i sprzedają towary wyprodukowane przez firmę B, magazynowane i wysyłane przez firmę C, z obsługą klienta firmy D, nie są uczciwie dodawane. W rzeczywistości, jeśli kiedykolwiek musiałeś zlecić outsourcing krytycznej funkcji biznesowej, zdajesz sobie sprawę, że outsourcing to piekło.

Wygląda na to, że Twoja witryna jest całkowicie oparta na wprowadzeniu najnowocześniejszych, nowych funkcje, których nie ma nikt inny. Jeśli chcesz to zrobić dobrze, zrób to na miejscu.

  • Wyobraź sobie, że Nintendo zleca outsourcing kodu i rozwoju swojej gry.
  • Czy Apple kiedykolwiek zleciłoby outsourcing ich rewolucyjnego projektu?
  • Czy firma Renaissance Technologies outsourcinguje tajną matematykę stojącą za funduszem medalionowym?
  • Czy Salesforce może być potęgą, jeśli zleci outsourcing marketingu i sprzedaży? Czy Facebook byłby tak kultowy, gdyby zlecił outsourcing swojego projektu?
  • Wyobraź sobie, że Tesla zleca produkcję baterii na zewnątrz. Och, czekaj, zrobili to krótkoterminowo i nie idzie dobrze, i próbują wprowadzić to wewnętrznie.
  • W żadnym wypadku nie zlecaj obsługi klienta na zewnątrz. Dla Twoich klientów to to Ty.

A te zasady i przykłady mają intuicyjny sens. Gdyby wykonawca mógł sprzedać wizję i kierunek Apple, skalowalne technologie Google lub PR Salesforce, cóż, ten kontrahent zarabiałby więcej, będąc własną firmą.

Ale DDP to brzmi ciężko i drogie.

Tworzenie odnoszącego sukcesy biznesu jest trudne i TANSTAAFL. Dlatego tego nie robię.

Zmienię tę odpowiedź, aby dodać jeden punkt.

Outsourcing może być dobry jako środek krótkoterminowy, ale wszelkie ogólne aspekty doświadczenie klienta zależne od outsourcingu pracy należy uznać za słabe punkty, które należy rozwiązać, stosując odpowiednie priorytety. Oto kilka przykładów, kiedy prawdopodobnie można zaufać firmie zewnętrznej.

  • Czy Twoi programiści mają opóźnienia i muszą skoncentrować się na funkcjach? Zapraszam do kontraktowania kilku testerów na kilka tygodni.
  • Potrzebujesz projektów koszul do swojego sklepu internetowego w ciągu najbliższych 2 tygodni, a poprzedni gość zrezygnował? Umów się z projektantem i trzymaj go za ręce, abyś był zadowolony z nowego wyposażenia.
  • Lepiej, aby recepcjonistka i administracja Twojego biura była zatrudniona bezpośrednio, ale możesz zlecić sprzątanie biura.
Przyszedłem tutaj, szukając tej odpowiedzi, ciesząc się, że ją widzę.+1
Ogólnie świetna odpowiedź.Po prostu nie zgadzam się z absolutną zasadą dotyczącą obsługi klienta.Na przykład, jeśli jesteś Hertzem i musisz holować czyjś samochód ze środka Doliny Śmierci, najlepiej jest zatrudnić do tego kogoś lokalnego.To samo dotyczy globalnych firm, które potrzebują całodobowej obsługi klienta i potrzebują osób biegle władających trzema lub czterema językami.Czasami warto zatrudnić to call center w Luksemburgu jako pomoc pierwszego stopnia, zamiast próbować robić wszystko samodzielnie we własnym kraju.
Pierwszy przykład nie jest bardzo solidny;np. większość gier na Nintendo Switch jest tworzonych przez niezależnych programistów, a nie przez firmę Nintendo (i jest to generalnie praktyka branżowa w przypadku innych producentów sprzętu).Patrząc na [listę 30 najlepiej sprzedających się gier wideo na Nintendo Switch] (https://en.wikipedia.org/wiki/List_of_best-selling_Nintendo_Switch_video_games), tylko 11 z 30 jest tworzonych wewnętrznie na Nintendo EPD, a 1930 przez zewnętrznych programistów.
W naszej firmie nie tylko nasze kodowanie jest wykonywane we własnym zakresie, ale także staramy się nie korzystać z bibliotek zewnętrznych.Nie jesteśmy sprzedawcami hot-dogów;wiemy, co jest w naszym produkcie.
@DanielR.Collins "Ich gry" oznacza dokładnie to - ich gry.Zelda, Mario ... Jest kilka przykładów, jestem pewien, gdzie się zakontraktowali, ale ogólnie rzecz biorąc, ich rzeczy są niestandardowe.
DeepDP: stanowisko DRK jest słuszne.Rozróżnienie, które robisz, wydaje się raczej arbitralne.Ale nawet wtedy Nintendo miało znaczną ilość opracowanych na zewnątrz, gdy ich nazwa była najbardziej widoczna - Tetris NES i wózki Gameboy (pierwotny projekt nie przez Nintendo), Pokémon (przez Game Freak), wiele tytułów od RARE (jak RC ProAm), Donkey KongCountry (początkowo RARE, później Retro Studios), niektóre gry Zelda (Oracle of Seasons, Oracle of Ages, Four Swords i The Minish Cap firmy Capcom), Starfox (programowany przez Argonauta), Super Mario RPG (Square), Metroid Prime: Trilogy (od Retro Studios)
@EvilSnack, więc tracisz czas na wymyślanie kół na nowo, zamiast skupiać się tylko na tym, co sprawia, że Twój produkt jest wyjątkowy?Mam nadzieję, że masz dużo pieniędzy do spalenia
@TOOGAM Nie można zapominać, że Sony PlayStation narodziło się z Nintendo, próbującego outsourcować konsolę CD.
@user11153 Ponownie wymyślamy koła, ponieważ istniejące nie toczą się tak, jak chcemy, lub ponieważ ich dokumentacja jest tak uboga, że kodowanie własnego rozwiązania zajmuje mniej czasu niż rozwikłanie API biblioteki.
@EvilSnack jest wystarczająco uczciwy, powinieneś używać tylko najlepszych bibliotek, jeśli używasz jakichkolwiek
@EvilSnack „niektóre biblioteki nie robią tego, co chcemy” jest dalekie od „staramy się nie korzystać z bibliotek innych firm”.Nie mogę sobie wyobrazić, o ile wolniejsza byłaby praca deweloperów mojej firmy bez budowania na szczycie góry FOSS.Nie bylibyśmy w stanie funkcjonować, domena, którą obsługujemy jest za duża.
BigMadAndy
2020-02-14 16:28:05 UTC
view on stackexchange narkive permalink

Chodzi głównie o stabilność / czas trwania Twoich potrzeb. Jeśli wiesz, że będziesz potrzebować osoby do pracy w pełnym wymiarze godzin przez następne lata, często warto ją zatrudnić. Zatrudniając kogoś bezpośrednio, koszt początkowy jest wyższy. Obejmuje onboarding, zapewnienie pracownikom zasobów, takich jak laptop, itp. Jednak koszt zwraca się, gdy osoba staje się produktywna. Masz specjalistę na pokładzie i masz nad nim kontrolę.

Jeśli ilość pracy ma się znacznie różnić, na przykład potrzebujesz kogoś do 4-miesięcznego projektu, często warto zlecić to na zewnątrz jesteś bardziej elastyczny. Jeśli zostanie to zrobione poprawnie, początkowe koszty będą niższe. Płacisz po prostu za to, co dostajesz.

Trudno jest jednak odpowiedzieć na pytanie dotyczące zatrudnienia - naszego outsourcingu w sposób ogólny, ponieważ należy wziąć pod uwagę dodatkowe czynniki. Należą do nich dostępność i koszt siły roboczej w Twojej okolicy, przepisy prawa pracy (np. Czy można zatrudnić kogoś tylko na jeden dzień / tydzień?), A także jaki rodzaj outsourcingu masz na myśli. Na przykład w Europie wiele firm korzysta obecnie z outsourcingu do krajów azjatyckich. Chociaż działa to w niektórych przypadkach, często wpływa również na jakość z powodu różnic kulturowych i problemów z koordynacją.

Mój problem jest dokładnie taki: „Wiele zależy od stabilności / czasu trwania Twoich potrzeb”. Nie mam doświadczenia ani pojęcia o potrzebach rozwojowych projektu po jego pomyślnym uruchomieniu.
* Nie mam doświadczenia ani pojęcia o potrzebach związanych z rozwojem projektu po jego pomyślnym uruchomieniu * myślę, że zadajesz niewłaściwe pytanie, ponieważ zrozumienie tych potrzeb jest o rząd wielkości ważniejsze niż podjęcie decyzji o strukturze zatrudnienia pracowników.
@dwizum: Jak znaleźć odpowiedź na te pytania?
@user3486308 - Przypuszczalnie _ ktoś_ prosi Cię o zrobienie tego projektu.Jeśli tak, musisz się do nich udać i poprosić o odpowiedzi.Kim będą Twoi użytkownicy?Czego będą potrzebować, aby móc zrobić?Czy będziesz musiał dodać więcej funkcji w przyszłości, czy jest to projekt krótkoterminowy, który zostanie wyłączony, gdy nie będzie już przydatny (jak aplikacja do uruchamiania określonego zdarzenia, jest to później bezużyteczne)?Jeśli to ty masz pomysł, zamiast tego musisz zadać sobie te pytania.
@Bobson: Jestem właścicielem pomysłu i nawet lubię być kierownikiem projektu tego projektu, ale to mój pierwszy projekt i nie mam pojęcia, co się stanie i jakie wymagania (mam na myśli poprawki błędów, optymalizację kodu, rzeczy SEO itp.)byłyby potrzebne w przyszłości.Ale mam swoją mapę drogową na następne lata i wiem, jak będą wyglądały kolejne wersje projektu i to jest pierwsza faza!Ale to spowodowało moje zdezorientowanie, że inna firma o podobnej pracy w naszym kraju, która wykonuje outsourcing swojego projektu, i stałem się wobec nich podejrzliwy, ponieważ są dużą i bogatą firmą.
@user3486308: Duża firma może sobie pozwolić na traktowanie projektu jako opcjonalnego dodatku podczas jego uruchamiania, a jeśli zatrudnią wykonawców, mogą bardzo szybko wszystko złomować, bez marnowania kosztów na zwolnienia lub pozostawienia nieużywanego zestawu komputerowego.Jednak nawet dla nich kalkulacja jest trudna.Na przykład, jeśli stanie się dla nich produktem odnoszącym sukcesy, mogą żałować warunków relacji z outsourcerami i będą musieli ponieść koszty, aby zapewnić kontrolę / rozwój na miejscu.Jako duża firma mogą podjąć to ryzyko i zapłacić później, jeśli okaże się to tego warte
dan.m was user2321368
2020-02-14 21:36:42 UTC
view on stackexchange narkive permalink

W niektórych komentarzach OP stwierdził, że

Nie mam doświadczenia ani pojęcia o potrzebach związanych z rozwojem projektu po jego pomyślnym uruchomieniu.

i

to moje pierwsze doświadczenie i nie wiem, czy posiadanie takiej aplikacji internetowej będzie wymagało jakich wymagań w przyszłości (po pomyślnym uruchomieniu)

Jako pierwszy przedsiębiorcy , możesz pomyśleć, że kończysz budowę strony internetowej, a następnie zaczynasz zbierać pieniądze. Tak to nie działa. Z wyjątkiem niektórych bardzo specjalnych okazji (kiedy konkretnie strona ma ograniczony czas życia związany z czymś innym - jak wprowadzenie nowego produktu, odliczanie do określonego wydarzenia itp.), Nigdy nie kończysz budowania strony internetowej.

Każdego dnia będziesz musiał coś ulepszyć, naprawić błąd, dodać nową funkcję itp., więc jeśli nie jesteś przygotowany na stałe zaangażowanie w firmę outsourcingową, co najmniej musisz mieć talent wewnętrzny wystarczający do przejęcia projektu, gdy firma outsourcingowa dostarczy Ci wstępną wersję.

O. Jones
2020-02-14 20:44:11 UTC
view on stackexchange narkive permalink

Od kogoś, kto zrobił jedno i drugie:

Nie korzystaj z outsourcingu, aby zaoszczędzić pieniądze. Zrób to, ponieważ potrzebujesz więcej talentu, niż możesz znaleźć w swojej lokalizacji.

Outsourcing wymaga niezwykłej jasności co do tego, czego chcesz, i wymaga przekazania tej jasnej wizji za pomocą dokumentów, rozmów, wyjaśnień.

Jeśli korzystasz z outsourcingu, potrzebujesz silnego menedżera produktu, który będzie pozostawał w stałym kontakcie z zespołem programistów. Mówiąc językiem zwinnym, potrzebujesz codziennego scrumu, a właściciel produktu musi brać udział (telekonferencja, skype) prawie codziennie przez pierwszy rok pracy z kontrahentami.

Powinieneś zaplanować odwiedzając swoich kontrahentów przynajmniej raz w pierwszym roku. To łatwe, jeśli są warsztatami pracy w następnym mieście, i trudne, jeśli są w Azji. Ale musisz to zrobić, aby otrzymać produkt dobrej jakości.

Masz rację, outsourcing ma czasem sens, jeśli zasoby ludzkie nie są dostępne lokalnie.
Kilisi
2020-02-14 16:13:28 UTC
view on stackexchange narkive permalink

Outsourcing zazwyczaj daje mniejszą kontrolę i jeszcze mniej wiedzy o ludziach.

Dużą zaletą są koszty i jeśli nie masz wystarczająco dużo pracy, aby utrzymać produktywność deweloperów na pełny etat.

A więc im większa firma i linia produktów, tym większy sens ma to, aby robić to na miejscu.

Czynnikami są również kwestie takie jak bezpieczeństwo produktów lub informacji. Przekazanie swojego produktu nieznanemu to skok wiary. Jeśli zbiera informacje o klientach lub cokolwiek w tym rodzaju, najlepiej jest to również zrobić na miejscu.

Robin Bennett
2020-02-14 20:39:20 UTC
view on stackexchange narkive permalink

Powiedziałbym, że outsourcing jest możliwy tylko wtedy, gdy masz bardzo jasną definicję tego, czego chcesz, więc możesz podać im specyfikację, a po zakończeniu możesz zarówno zobaczyć, jak i uzgodnić.

Jeśli tego nie zrobisz Jeśli tego nie zrobisz, spędzisz więcej czasu na targowaniu się o to, czy coś jest błędem (tj. już zapłacono) lub ulepszeniem (tj. więcej pieniędzy) niż w przypadku faktycznej pracy.

Inną opcją jest pracownik kontraktowy , gdzie płacisz za określoną liczbę tygodni lub miesięcy zamiast za tę funkcję. W ten sposób nie musisz się martwić o zwolnienie pracownika po zakończeniu projektu.

Tom
2020-02-17 03:52:12 UTC
view on stackexchange narkive permalink

Moje zdanie jest takie:

Głównym argumentem przemawiającym za outsourcingiem jest to, że nie musisz zatrudniać pracowników, co jest inwestycją długoterminową. Jeśli robisz jednorazowe prace związane z tworzeniem oprogramowania, prawdopodobnie chcesz zlecić outsourcing, ponieważ ci programiści nie mieliby potem nic do roboty (większość z nich prawdopodobnie będzie potrzebna do naprawiania błędów i aktualizacji).

Głównym argumentem przemawiającym za rozwojem wewnętrznym jest to, że możesz zachować całą wiedzę specjalistyczną i wiedzę, która została zbudowana podczas opracowywania, i możesz ją wykorzystać w innych projektach. Nie mówię o umiejętnościach kodowania, ale o wiedzy dziedzinowej, zrozumieniu biznesowym itp. Oznacza to również, że cała ta wiedza pozostaje w firmie, co może być czynnikiem, jeśli masz jakieś tajemnice handlowe lub inną wartą ochrony know-how zaangażowany. Tak, możesz podpisać umowy o zachowaniu poufności, ale nawet jeśli nie będą o tym celowo gadać, zewnętrzni programiści wykorzystają swoją zdobytą wiedzę w następnym projekcie, a to może być dla Twojego konkurenta.

Insourcing jest również właściwą decyzję, jeśli chcesz mieć pewność, że nadal możesz aktualizować i wspierać to oprogramowanie za kilka lat. Jest tak wiele programów, które są obecnie nieobsługiwane lub źle utrzymywane przez kogoś, kto ledwo rozumie, co robią, po prostu dlatego, że pierwotny programista zbankrutował, przeszedł na emeryturę lub po prostu skończył się kontrakt.

ItWasLikeThatWhenIGotHere
2020-02-14 16:34:34 UTC
view on stackexchange narkive permalink

Co powiedzieli Kilisi i BigMadAndy, ale warto rozważyć inny punkt widzenia.

Jeśli zajmujesz się produktem, który będzie objęty gwarancją i okresem obsługi klienta, warto mieć w domu osoby, które są zaznajomieni z rozwojem i potrafią zaproponować rozwiązania. Jeśli planujesz wersję 2.0, programowanie we własnym zakresie pozwoli Ci zaoszczędzić czas na uczenie [prawdopodobnie nowego] zewnętrznego dostawcy na temat wersji 1.0.

Jeśli możesz uznać, że praca została ukończona w momencie zakończenia rozwoju, zewnętrzne źródła sens. Jeśli myślisz długoterminowo, dom to najlepszy sposób.

Jak skomentowałem BigMadAndy, jest to moje pierwsze doświadczenie i nie wiem, że posiadanie takiej aplikacji internetowej będzie wymagało w przyszłości (po pomyślnym uruchomieniu).Ale dokładnie wiem, że "Jasne, myślę o kolejnych wersjach od teraz i mam wiele pomysłów do dodania w przyszłości! Krok po kroku".


To pytanie i odpowiedź zostało automatycznie przetłumaczone z języka angielskiego.Oryginalna treść jest dostępna na stackexchange, za co dziękujemy za licencję cc by-sa 4.0, w ramach której jest rozpowszechniana.
Loading...