Why Software Outsourcing Doesn't Work ... Anymore

The following text is a partial translation of the original English article, performed by ChatGPT (gpt-3.5-turbo) and this Jekyll plugin:

Я хочу создать приложение для iPhone для своего веб-сервиса, но у меня нет программистов. Хорошо, у меня нет iOS программистов. И у меня нет денег. Знакомо? Что мне делать? Правильно, я иду на Upwork и нахожу замечательную компанию в Бангалоре, которая с удовольствием будет работать со мной за разумные деньги. Через несколько месяцев и несколько тысяч долларов я понимаю, что это не совсем то, чего я ожидал. Через еще несколько месяцев я клянусь Богом, что никогда больше не буду аутсорсить разработку программного обеспечения. Это только я такой? Не совсем.

Это вступление просто шутка, но оно близко к истине. Конечно, в больших компаниях и проектах история будет другой. Но результат почти всегда один и тот же - это катастрофа.

Я говорю об аутсорсинге, а не об оффшорной разработке. Разница в том, что в аутсорсинге участвует две компании: вы - клиент и WeCodeLikeNoOneElse Inc. из Loompaland. В оффшорной разработке вы просто открываете офис в той же самой Loompaland с собственным управлением и сотрудниками. Снова, я говорю о аутсорсинге.

Прежде чем написать это, я прочитал несколько десятков статей о причинах провала аутсорсинга и нашел дюжину “причин”. Однако, я считаю, что они все упускают главное, потому что смотрят на проблему с точки зрения платящего клиента. Я пытаюсь посмотреть на это с обеих сторон и рассказать вам неприятную правду. Более подробно об этом в нескольких параграфах. А сейчас давайте рассмотрим, какие обычно причины.

Самые дешевые исполнители. Вот аргумент: “Так вы аутсорсите, потому что хотите оптимизировать затраты? Вы окажетесь с самым дешевым программным магазином и очень скоро пожалеете об этом”. Хорошо, а в чем решение? Просто заплатить больше? Я не думаю, что это решит проблему; я просто сожгу больше денег. Кроме того, я не думаю, что эта причина имеет что-то общее с аутсорсингом. В любой другой бизнес-транзакции “победно-проигрышная” ситуация - это прямой путь к неудаче.

Культурные различия. “Вы находитесь в Калифорнии, а они в Бразилии; вы не будете понимать друг друга”. Вот почему у нас возникают перерасходы, срывы сроков и низкое качество кода? Я не думаю, что это так. Более того, мой опыт говорит мне противоположное. Наши программисты в Zerocracy из более чем 15 стран, и у нас никогда не было культурных проблем, влияющих на рабочий конфликт, а их у нас много.

Отсутствие личного общения. “Они находятся где-то в Польше, поэтому вы редко разговариваете лично. Вот почему вы не понимаете друг друга”. Послушайте, вы когда-нибудь встречались со мной и разговаривали со мной лично? Я говорю с вами, читатель этого поста. Верно, вы меня не встречали, но у вас нет проблем с пониманием моей точки зрения, просто прочитав этот текст. Это в основном потому, что я приложил все усилия, чтобы мои мысли были понятны вам. Мне интересно передать вам свои мысли, и это происходит. В аутсорсинге проблема не в канале, а в мотивации. Читайте дальше.

Отсутствие метрик для измерения успеха. “Вы просто не можете определить ясные метрики успеха для команды за рубежом. Вот почему ваша отношения в конечном итоге распадаются”. Или что-то в этом роде. Я не совсем понял, что подразумевается под “метриками успеха”, но если это то, о чем я думаю, то они правы: успех для компании аутсорсинга в Киеве - это одно. Успех для вас, клиента этой компании, - совершенно другое. Читайте дальше.

Плохие технические требования. “Почти невозможно составить хорошие технические требования для большинства проектов, и плохо спроектированные требования - это рецепт катастрофы”. Да, это очень верно, но что это имеет общего с аутсорсингом? Ах, да, они так далеко в Аргентине, а мы здесь в Нью-Йорке - как мы можем составить хорошие требования? Я в это не верю. Неспособность четко и ясно определить технические требования - это недостаток архитектора. Обучение и чтение должны исправить это. Собрать всех вместе в офисе - не решение.

Утечка талантов. “Разработчики за рубежом - не ваши сотрудники. Они никогда не будут преданными проекту, и лучшие из них время от времени уйдут”. Да, люди могут уходить время от времени. Но снова, что это имеет общего с их местонахождением? Если они не пользуются той же самой кофемашиной, что и их генеральный директор, они будут менее преданными проекту? Есть много других более эффективных инструментов для повышения мотивации в команде, чем просто размещение всех в одном месте.

Можно было бы перечислить еще много причин, но этого достаточно для нас. Как вы видите, я не считаю эти “причины” логичными. Они только объясняют последствия, но даже не затрагивают реальную проблему, которая, по моему мнению, звучит так:

Вы просто денежная корова для компании-аутсорсера.

Вы не партнер и не друг, несмотря на все ваши ожидания.

Ваши цели противоположны их целям.

Все эти “причины” провалов аутсорсинга проистекают из этой фундаментальной путаницы, которая существует в наших головах: Мы думаем, что эти 10 программистов, сидящих в Пекине, являются частью нашего бизнеса. Мы верим, что они наша команда. Они с нами на одной лодке, разделяют наши ценности и смотрят в одном направлении.

Это просто не правда.

Я был в шкурах аутсорсинговой компании почти 10 лет (и ушел в 2010 году). Уродливая правда в том, что для генерального директора аутсорсингового магазина единственной проблемой является то, как позаботиться о зарплате следующего месяца, а 90 процентов всех расходов - это зарплаты программистов.

Поэтому хороший клиент для них - это платящий клиент. Не клиент с успешным проектом. Не клиент с правильно решенной проблемой. Не клиент с оптимизированными затратами. Не клиент с использованием наилучших возможных технологий. Вовсе нет. Лучший клиент - тот, кто платит, платит много и платит вовремя. Точка.

Вот корень всех проблем с аутсорсингом.

Заголовок этой статьи гласит, что аутсорсинг больше не работает. Почему больше не работает? Работал ли он раньше? Да, работал, когда зарплаты программистов были крайне низкими в странах третьего мира (оффшор). Например, в 2001 году у нас была команда очень хороших опытных разработчиков Java в Украине. Мы платили им выше рыночной цены, и это было 300 долларов в месяц. В то же время мы продавали их время американским клиентам по $15 в час, что составляло $2,500 в месяц. Видите наценку?

С такой наценкой аутсорсинг работает отлично. Я был генеральным директором и практически не беспокоился о зарплате. У меня было достаточно денег, чтобы заплатить своей команде, даже если мы потеряли некоторых клиентов в конечном итоге. Позвольте мне сказать так: у меня был роскошный шанс быть честным с моими клиентами.

Поставьте себя на их место. Сегодня хороший Java-разработчик в Украине зарабатывает $4,000 в месяц. Кроме того, этот разработчик ожидает медицинскую страховку, бесплатное посещение тренажерного зала, бесплатный обед, оплачиваемый отпуск, оплачиваемый больничный и т. д. В то же время, цена на разработку на Java на рынке не намного выше, чем была несколько лет назад. Даже если вы возьмете $40 в час (что маловероятно), ваш доход составит $6,800. Опять же, ваш доход - $6.8 тыс., а расходы приближаются к $5 тыс. Понимаете разницу?

И не забывайте о расходах на офис, налогах, компьютерах, административном персонале, мероприятиях по командообразованию и т. д. Из-за такой маленькой маржи вы будете буквально на мели, если потеряете ключевого платежеспособного клиента. Вы просто не можете позволить себе долго держать своих программистов “на скамейке запасных”.

Таким образом, ваша единственная мотивация - поддерживать поток денег. Независимо от всего. Чем дольше проект, тем лучше. Чем ниже качество кода, тем лучше - больше денег на обслуживание. Чем больше телефонных звонков, встреч и других пустых затрат времени, тем лучше. Чем больше беспорядка в спецификациях, тем лучше. Просто делайте все, что нужно, чтобы выжать деньги из клиента.

Вы должны делать это не потому, что вы злой, а потому что вам нужно прокормить свою команду. Ваша команда. Да, команда - ваша. Вы несете ответственность за их зарплаты, а не клиент. Чтобы защитить команду, вам приходится действовать вопреки реальным интересам ваших клиентов. Вы просто не можете находиться в одной лодке с ними.

Суть всего этого в том, что аутсорсинг просто не может сработать, потому что ваши бизнес-интересы не могут совпадать с интересами вашего “партнера” по аутсорсингу.

Translated by ChatGPT gpt-3.5-turbo/42 on 2023-12-05 at 22:19

sixnines availability badge   GitHub stars