Czy kod outsourcingowy jest droższy w dłuższej perspektywie? Czy to szkodzi jakości kodu? [Zamknięte]


16

Znam firmę, która jest właścicielem własności intelektualnej przyzwoitego oprogramowania i osiąga doskonałe dochody z licencji rocznie. Dyrektor (nietechniczny) skarży się jednak na koszty utrzymania zespołu programistów, ponieważ znacznie je to w marże zysku i rozważa outsourcing rozwoju określonych modułów do innych krajów, które pobierają niższe stawki.

Osobiście nie sądzę, że będzie to bardziej opłacalne rozwiązanie w perspektywie długoterminowej. Może to prowadzić do zakłóceń komunikacji, gdy pojawią się problemy, dodatkowo specyfikacje będą musiały być wodoszczelne, co w końcu może zająć więcej czasu. Moim zdaniem komunikacja w zespołach ma kluczowe znaczenie - czy istnieje skuteczny sposób, aby ta praca działała?


24
Koszt wynagrodzeń programistów pochłania marże zysku firmy produkującej oprogramowanie? Kto by to pomyślał ?!
Dima,

20
PHB chce więcej pieniędzy -> PHB zdaje sobie sprawę, że musi płacić wynagrodzenie -> PHB decyduje się pozbyć wszystkich dla tańszych ludzi -> firma idzie na marne. To stara, zmęczona płyta.
Steven Evers,

2
„Koszt wynagrodzeń programistów pochłania marże zysku firmy produkującej oprogramowanie? Kto by to obniżył?”, I w tym momencie nadszedł czas, aby firma wycofała się z rozwoju oprogramowania i skoncentrowała się na obsłudze oprogramowania umierającego produkt. : - /
Tin Man,

19
Może działać, ale potrzebujesz siedziby głównej firmy w nowym kraju ze względu na niezbędną komunikację. Twoja firma prawdopodobnie zaoszczędziłaby sporo pieniędzy na outsourcingu również na tym stanowisku dyrektora.
dietbuddha,

1
Jednym z gorszych przykładów jest Quark i QuarkXPress, który wzrósł z 95% udziału w rynku prawie do zera.
gnasher729,

Odpowiedzi:


41

Jestem pewien, że ktoś ma przykład takiego działania, ale go nie widziałem.

Przez wiele lat pracowałem w firmie z listy Fortune 500, gdzie zlecono wiele prac rozwojowych. Nie mam ani jednego przykładu w tych latach outsourcingu projektu, który kosztuje mniej niż gdybyśmy sami to zrobili (wewnętrznie).

Choć ich tempo programowania było niższe niż nasze, spędziliśmy 3 razy więcej czasu na zarządzaniu zespołem zewnętrznym niż w przypadku zespołów wewnętrznych. To dodatkowy czas potrzebny na bardziej szczegółowe wymagania niż nasz wewnętrzny zespół oraz dodatkowy czas potrzebny na kontrolę jakości, ponieważ kod nigdy nie był bliski poprawności.


1
+1 - Moje też ... Zastanawiam się, czy wszystkie korporacje używają tego samego podręcznika.
Ali

Właśnie tego się spodziewałem.
Seth

Widziałem to w moim starym miejscu pracy. W końcu wydali więcej pieniędzy, ponieważ musieli latać w tę iz powrotem, aby zarządzać zdalnymi programistami. Firma nie zajmuje się już tworzeniem własnego oprogramowania: dostosowuje produkty M $.
Giorgio

31

Możesz to zrobić szybko, tanio lub dobrze. Nie możesz mieć wszystkich trzech, a ja argumentowałbym, że nawet dwa na trzy mogą być odcinkiem.


18

Dla firmy produkującej oprogramowanie jest to po prostu głupie. Najbliżej rozsądnej decyzji mogliby przenieść firmę do innej lokalizacji, która ma tańszy talent.

Firma zajmująca się outsourcingiem oprogramowania nie jest już firmą programistyczną. Twierdziłbym, że wszelkie zdobyte zyski będą krótkotrwałe, ponieważ tworzysz własną konkurencję. Kiedy zdadzą sobie sprawę, że znają produkt lepiej od ciebie, wtedy uświadamiają sobie, że już cię nie potrzebują.


9
+1 Ponieważ dotyczy to zasady „Nigdy nie zlecaj swojej głównej kompetencji”
Sparky

Bardzo zależy od tego, na czym polega rozwój - na przykład zlecamy outsourcing raportów skryptów i pulpitów nawigacyjnych, które korzystają z interfejsu API naszego produktu bazy danych szeregów czasowych, ponieważ nie mamy wystarczającej liczby pracowników do wykonania wszystkich różnych skryptów lub dostosowywania klienta we własnym zakresie . Outsourcing rozwoju podstawowego produktu, tak, ale nie całe oprogramowanie jest podstawową kompetencją.
Pete Kirkham

13

Moje jedyne doświadczenie w outsourcingu do firmy w innym kraju będzie moje ostatnie. Firma, która została zatrudniona, nie zdążyła ukończyć pracy na czas, a nawet zdalnie nie spełniła specyfikacji, i spowodowała, że ​​musieliśmy ponownie wykonać całą pracę na miejscu.

Jeśli jednak możesz znaleźć wiarygodną firmę, której możesz zaufać (tj. Widziałeś / słyszałeś o nich dobre rzeczy od innych osób), być może warto.


Czy w umowie nie było klauzul określających produkt końcowy?
snmcdonald,

16
@ snmcdonald: Takie klauzule są bardzo trudne do odpowiedniego określenia i bardzo trudne do egzekwowania ponad granicami międzynarodowymi. A jeśli firma outsourcingowa po prostu nie dostarcza, to nie ma znaczenia, co jest w umowie: jesteś pieprzony. Nawet jeśli skończysz nie płacąc im ani grosza, po prostu włożyłeś własny wysiłek i cały ten kalendarzowy czas do toalety.
Bob Murphy,

1
@ snmcdonald Tak, produkt końcowy został jasno określony, a poszczególne części zostały określone priorytetowo. Gdy przyszło do nich przesłanie nam tego, co zrobili 3 miesiące później, około 2 tygodni od premiery produktu, przysłali nam ogromnie niekompletną wersję, która zawierała niektóre rzeczy, których nie potrzebowaliśmy, a także bardzo słabe wdrożenia większości ważne (jeśli w ogóle tam były). Ogólnie bardzo kosztowne i rozczarowujące!
adamk

10

Dyrektor chce zastąpić niektórych z jego doświadczonych lokalnych programistów ludźmi z odległego kraju, których ekspertyzy nie jest kompetentny do oceny, którzy nie mają żadnego doświadczenia z kodem i którzy nie mogą być bezpośrednio nadzorowani ani mentorowani przez kogoś, kto wie kod.

Przeszedłem przez to dwa razy. W obu przypadkach niedrogie firmy zagraniczne nie dostarczyły na czas odpowiedniej jakości. Gdy lokalni programiści usłyszeli, że praca zmierza za granicę, znaleźli inne prace, zamiast czekać na zwolnienie. W miarę jak krwotok ekspertyzy trwał, harmonogramy się zmniejszały, krytyczne błędy nie były naprawiane, klienci byli źli i przestawiali się na konkurentów, a ostatecznie obie firmy spasowały.

Były też dziwne problemy z komunikacją, oczekiwaniami i kulturą. Na przykład zespół zagraniczny nie sprawdzał dużej ilości kodu ani nie odpowiadał szybko na wiadomości e-mail. Okazało się, że lokalny kierownik działu IT dostał premię za utrzymanie kosztów na niskim poziomie, więc miał całe biuro na wolnym łączu internetowym. Innym razem testerzy kontroli jakości trzeciego świata rutynowo umieszczają kilka bardzo różnych błędów w tym samym raporcie; ich menedżer bał się, że zabraknie numerów błędów.

Niektóre zespoły w niedrogich miejscach są w porządku. Z tego, co słyszę, Red Hat wydaje się mieć bardzo kompetentny zespół w Pekinie. Ale mieli już wieloletnie doświadczenie z ludźmi pracującymi na całym świecie za pośrednictwem telepracy, zanim zaczęli to robić, a ludzie w Pekinie są pracownikami Red Hat, a nie firmą outsourcingową.


9

Tak - dostajesz za co płacisz.

Z mojego doświadczenia, chyba że twoje potrzeby rynkowe i programistyczne są tak proste, że można je łatwo wyjaśnić pocztą elektroniczną do dowolnego programisty z możliwą barierą językową, i tak proste, że nawet deweloper, który tak naprawdę nie jest zainwestowany w firmę, może odnieść sukces przy tworzeniu produktu wysokiej jakości, to tak, twój produkt ucierpi .

Pracowałem w firmie, w której mieliśmy duży lokalny zespół programistów, a nasz produkt ucierpiał po prostu dlatego, że zespół zarządzający włożył więcej pieniędzy i wysiłku w sprzedaż. Ponieważ tyle wysiłku włożono w sprzedaż, wydawało się, że robimy to „dobrze” - ale oznaczało to zarobienie dochodów, które musieliśmy wlewać pieniądze i zasoby w proces sprzedaży.

Mieliśmy zdalny zespół, ale w pełni zintegrowaliśmy go z firmą i uczestniczyli oni na tym samym poziomie, co nasze lokalne zespoły. To jedyny sposób, w jaki może działać . Byłem dla nich kierownikiem lokalnego zespołu i regularnie lataliśmy z nimi do pracy na miejscu. Daliśmy im koszulki i kurtki firmowe, tak jak lokalne zespoły. Po tym wszystkim, może zaoszczędzić nam 20-30%. Jeśli stworzysz system, który będzie próbował obniżyć koszty o więcej, twój produkt odpowiednio ucierpi.


3

Jeśli pracujesz z wysokiej jakości zespołem outsourcingowym, a kierownictwo jest gotowe komunikować się i egzekwować kryteria akceptacji.

Wtedy koszt będzie mniej więcej taki sam jak w przypadku produktu opracowanego we własnym zakresie.

Możesz również uzyskać tę samą jakość, jeśli masz szczęście.

Mogę być trochę stronniczy, ponieważ moja firma utrzymuje wewnętrzny zespół programistów i nie zleciła żadnego opracowania produktu. Podejrzewam, że doświadczenia, jakie mieliśmy z partnerami integracyjnymi, którzy zlecili rozwój, miały coś wspólnego z tą decyzją.


3

Z mojego doświadczenia wynika, że ​​outsourcing projektu nie jest najlepszym rozwiązaniem, gdy próbuję uzyskać lepsze marże.

W pracy mieliśmy coś takiego i dobrze, jak powiedzieli też inni, ostatecznie przerobiliśmy dziurę i utrzymywaliśmy to, co było na serwerze produkcyjnym. Wniosek w tej sprawie kosztował dwa razy więcej.

Uważam, że jeśli zastanawiasz się nad zmianami w zakresie outsourcingu marży, możesz odrzucić swoją inwestycję. Jeśli się nad tym zastanowić, sukces produktu zależy od tego, czy wszystko działa zgodnie z oczekiwaniami, więc jeśli zmienisz zespół deweloperów, sprawy mogą stać się brzydkie.


1

Dobrze zaplanowane / zrobione oprogramowanie open source może być twoją odpowiedzią, ponieważ może być bardzo opłacalne, a utrzymanie zostaje nieco przekazane społeczności, ale nie ma przepisu na sukces. Najlepsza rada, jaką mogę udzielić, to zalecenie kilku rozmów na temat tego, czym tak naprawdę jest open source i jego shenanigany:

A może także:

Moim zdaniem chodzi o to, aby budować coś wartościowego i interesującego nie tylko dla ciebie, ale dla wszystkich, siła otwartego źródła leży w społecznościach.

Ponadto, jeśli Twój szef / firma niechętnie otwiera oprogramowanie, po prostu wyizoluj specyfikę własnej logiki biznesowej i know-how. Więc co byś robił:

  1. Inkubuj projekt open source ze swoimi zasobami
  2. Rozwijaj społeczność
  3. ???
  4. Zysk =)

Tak, mówię poważnie i „???” obejmuje strategie, które chcesz realizować po zebraniu wystarczającego zainteresowania. Dzięki dzisiejszym narzędziom, takim jak Github i Twitter, możesz łatwiej rozpowszechniać informacje, ale pamiętaj, że twoje pierwsze wrażenie powinno być wystarczająco interesujące.

Jeśli tak naprawdę nie chcesz oprogramowania typu open source ( które musisz zrozumieć jako model biznesowy przed jego wdrożeniem, jeśli chcesz odnieść sukces ), zawsze możesz uruchomić go jako usługę, w tym celu sprawdź wideo Carsonified, ale to oznacza całość wiele innych rzeczy dla Twojej firmy.

W końcu bycie otwartym oprogramowaniem lub uruchomienie go jako usługi to sposoby na zrównoważenie projektu w perspektywie długoterminowej.


1

Nie pamiętam autora tego cytatu, ale trafił w sedno.

Luźno połączone zespoły pracujące razem nad ściśle sprzężonymi komponentami zawodzą. Nieuchronnie

Outsourcing = luźno powiązane zespoły.

Próba obniżenia kosztów poprzez geograficzne rozdzielenie pracy na współzależnych komponentach zawsze kończy się niepowodzeniem.

Z drugiej strony, w oparciu o moje doświadczenie, przeniesienie całej części oprogramowania może działać, co oznacza, że ​​można je opracować w dobrej jakości przy obniżonych kosztach.


Jak to odpowiada na zadane pytanie?
komar

Treść pytania dotyczy naprawdę outsourcingu = luźno powiązanych zespołów. Próba obniżenia kosztów poprzez geograficzne rozdzielenie pracy na współzależnych komponentach zawsze kończy się niepowodzeniem. Z drugiej strony, w oparciu o moje doświadczenie, przeniesienie całej części oprogramowania może działać, co oznacza, że ​​można je rozwijać w dobrej jakości przy obniżonych kosztach.
Maros Urbanec

1
@MarosUrbanec - twój komentarz powinien być częścią twojej odpowiedzi. Cytat sam w sobie nie jest wystarczająco silny, aby stać się samodzielnym odpowiedzią.

1
@MarosUrbanec +1 Świetny cytat, dodałem twój komentarz do treści odpowiedzi, aby była bardziej podobna do odpowiedzi.
Tulains Córdova
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.