Почему аутсорсинг больше... не работает
05 Feb 2016Перевод статьи Е. Бугаенко «Why Software Outsourcing Doesn’t Work … Anymore».
Я хочу разработать для моего веб-сервиса iPhone-приложение, но у меня нет программистов. Ну, у меня нет iOS-программистов.
И у меня нет денег. Звучит знакомо? И что же я сделаю? Я отправлюсь в Google Upwork и найду крутую компанию в Бангалоре,
которая рада поработать со мной за бесплатно разумные деньги. Спустя несколько месяцев, потратив несколько тысяч долларов,
я понимаю, что это точно не то, что ожидал. Спустя еще несколько месяцев я буду клясться, что никогда не буду привлекать сторонних людей для разработки ПО.
Разве эта история только лишь про меня? Не совсем.
Вступление выше – всего лишь шутка, но она не так уж и далека от правды.
Разумеется, в больших компаниях и больших проектах, эта история будет другой. Но ее результат практически всегда один и тот же, а именно – катастрофа.
Я говорю про аутсорсинг, а не про оффшорный способ разработки. Разница между ними состоит в том, что в случае аутсорсинга взаимодействует две стороны: вы, в качестве клиента, и некая корпорация «МыРазрабатываемСофтЛучшеВсех» из Лумпаландии. При оффшорном способе разработки вы просто открываете офис в той же Лумпаландии со своей собственной организацией и своими собственными подчиненными. А сейчас, напоминаю, я говорю про аутсорсинг.
Перед тем, как написать всё это, я прочитал пару дюжин статей, почему именно аутсорсинг это провал, и нашел дюжину «причин», почему же. Однако, я думаю, все они не относятся к делу по-настоящему, потому что там рассматривается проблема только с точки зрения покупателя. Я стараюсь рассматривать ее с с обеих сторон и говорить неприятную правду. Подробнее об этом – через несколько абзацев. А сейчас давайте узнаем, каковы основные причины.
Самые дешевые исполнители. Вот аргумент в пользу этой фразы: «Так ведь ты привлекаешь сторонних исполнителей, потому что хочешь оптимизировать расходы?
В итоге ты остановишься на самой дешевой компании по разработке ПО и очень скоро будешь искренне жалеть об этом». Так, ладно, и как же решить эту проблему?
Просто заплатить больше? Я не думаю, что это как-то поможет в решении проблемы, я просто потрачу зря еще больше денег.
Также я не думаю, что эта проблема как-то касается конкретно аутсорсинга. В любой другой коммерческой сделке сценарий «выиграл-проиграл» («win-lose») – это прямой путь к провалу.
Культурные различия. «Ты в Калифорнии, а они в Бразилии; вы не поймете друг друга». И поэтому у нас перерасходы стоимости, сползающий график и низкое качество кода? Я так не думаю. Более того, мой опыт говорит мне об обратном. Наши программисты в teamed.io – из более чем 15 стран, и у нас никогда не было ни одного рабочего конфликта, в котором причиной были культурные различия. А рабочих конфликтов у нас было достаточно.
Недостаток личного общения. «Они где-то далеко в Польше, и ты редко говоришь с ними по-настоящему. Вот почему вы не понимаете друг друга». Смотрите, вы когда-нибудь встречали меня и общались со мной лично? Я говорю с вами, читатель этой статьи. Правильно, вы не встречали меня, но, читая этот текст, у вас нет проблем с пониманием моей точки зрения. Главным образом, это потому, что я постарался сделать так, чтобы мое мнение было понятным. Я заинтересован в том, чтобы донести свои мысли до вас, и это происходит. Проблема аутсорсинга не в способе взаимодействия, а в мотивации. Читайте далее.
Отсутствие метрик для измерения успешности. «Вы просто не можете определить понятные способы оценки успешности зарубежной команды. Вот почему ваши взаимоотношения порой оканчиваются неудачей». Ну, или что-то похожее. Я не вполне понимаю, что означает «метрики успешности», но если это то, о чем я думаю, они правы: Успешность для аутсорсинговой компании в Киеве – это одно дело. Успешность для вас, клиента этой компании, – совершенно другое дело. Читайте далее.
Плохие спецификации. «Просто невозможно создавать годные спецификации для большинства проектов, и плохо разработанные спецификации это путь к неудаче». Да, это правда, но как это связано с аутсорсингом? Ах да, «они где-то в далекой Аргентине, а мы здесь, в Нью-Йорке… как мы можем сделать хорошую спецификацию?» Я не согласен. Невозможность понятно и явно определить технические требования – это недостаток архитектора. Обучение, тренировки и чтение исправят это. Собрать всех вместе в офисе – это не решение.
Утечка талантов. «Зарубежные разработчики – не ваши подчиненные. Они никогда не будут заинтересованы проектом, и лучшие из них будут его покидать». Да, люди могут иногда уходить. Но, опять же, как это связано с их местоположением? Если они не пользуются той же кофе-машиной, что и их CEO, будут ли они менее заинтересованы проектом? Существует множество других более эффективных инструментов, чтобы повысить мотивацию в команде, помимо собрания всех в одном месте.
Причин могло быть и больше, но этого нам уже достаточно. Как вы видите, я не признал эти «причины» логичными. Они просто поясняют выводы, но никогда даже не касаются реальной проблемы,
которая, как я думаю, звучит так:
Вы – лишь дойная корова для аутсорсинговой компании.
Вы – не партнер и не друг, несмотря на все ожидания.
Ваши цели – противоположность их целей.
Все эти «причины» недостатков аутсорсинга возникают из той фундаментальной путаницы, что сидит в наших головах, – мы думаем, что эти 10 программистов, что сидят в Пекине, являются частью нашего бизнеса. Мы верим, что они – наша команда. Они с нами «в одной лодке», у нас с ним те же ценности, и они мыслят в том же направлении.
Это неправда.
Это не может быть правдой.
Я проработал в аутсорсинговой компании около 10 лет (и ушел в 2010). Неприятная правда состоит в том, что для CEO аутсорсинговой компании, единственная проблема – это позаботиться о затратах на заработную плату в следующем месяце, и 90% всех расходов – это зарплаты программистов.
Вот почему для них хороший покупатель – это тот, кто платит. Не покупатель с успешным проектом. Не покупатель с правильно решенной проблемой. Не покупатель с оптимизированными расходами и стоимостью. Не покупатель, использующий наиболее подходящую технологию. Вовсе нет. Лучший покупатель – тот, который платит, платит много и платит вовремя. Точка. Вот настоящая причина проблем аутсорсинга.
Название этой статьи говорит о том, что аутсорсинг больше не работает. Почему больше? Он раньше работал? Да, работал, когда зарплаты программистов были максимально низкими в странах третьего мира (зарубежом). Например, в 2001 у нас была команда хороших продвинутых Java-разработчиков из Украины. Мы платили им сумму выше среднерыночной, – $300 в месяц. В то же время, мы продавали их время разработки американским покупателям за $15 в час, что составляло $2,500. Видите прибыль?
С такой прибылью аутсорсинг работает хорошо. Я был CEO и практически не беспокоился о затратах на зарплаты. У меня было достаточно денег, чтобы платить моей команде, хотя мы теряли иногда некоторых клиентов. Давайте я скажу так: я позволял себе быть честным со своими клиентами. Но больше нет.
Представьте себя на их месте. Сегодня хороший Java-разработчик из Украины зарабатывает $4000 в месяц. Сверх того, этот разработчик претендует на медицинскую страховку, бесплатный спортзал, бесплатный обед, оплачиваемый отпуск, больничный и проч. В то же время, цена времени разработки на Java на рынке не сильно выше, чем была пару лет назад. Даже если вы платите $40 в час (что очень нежелательно), ваши доходы будут около $6800. Еще раз, ваши доходы составляют 6,8 тыс. долл., а ваши затраты близки к 5 тыс. долл. Видите прибыль?
И не забывайте про затраты на офис, налоги, компьютеры, административный персонал, тим-билдинги и проч. Из-за такой маленькой прибыли вы буквально разоритесь, если потеряете ключевого клиента. Вы просто не можете позволить себе удерживать своих программистов на очень долгое время.
Таким образом, ваша единственная мотивация состоит в том, чтобы контролировать, что денежный поток не прерывается. Без разницы, какой. Чем дольше проект, тем лучше. Чем ниже качество кода, тем лучше, – больше денег за поддержку. Чем больше телефонных звонков, встреч и других отнимающих время дел, тем лучше. Чем больше ошибок в спецификациях, тем лучше. Просто делайте что угодно для выкачивания денег из клиента.
Вы должны делать это не потому, что вы плохой, а потому, что вам надо кормить вашу команду. Вашу команду. Да, команда – ваша. Вы ответственны за их зарплату, а не покупатель. Чтобы защитить вашу команду, вы должны идти против реальных интересов ваших покупателей. Вы просто не можете быть с ними «в одной лодке».
Смысл всего этого в том, что аутсорсинг просто не может работать, потому что интересы вашего бизнеса не могут сравниться с интересами вашего аутсорсного «партнера».