Своими силами vs аутсорс: что надо учитывать, когда отдаешь разработку подрядчикам

Компании, которые хотят разработать свои IT-продукты, часто настороженно относятся к делегированию задач на аутсорс. Однако риски можно минимизировать, если оптимально организовать работу с подрядчиками. Технический директор компании Неотех Артём Паламарчук рассказывает, что нужно учесть, когда отдаешь разработку на аутсорс. 

Что такое инхаус и аутсорс

Инхаус-разработка — использование навыков внутренней команды компании для создания программного обеспечения. Инхаус-разработчики получают заработную плату и льготы, которые предусмотрены для сотрудников компании, включая ДМС, страховку, дни отпуска.

Аутсорсинг предполагает работу со сторонним подрядчиком, обладающим специальными навыками для разработки проекта. Он позволяет привлекать работников на почасовой или проектной основе с фиксированной оплатой труда.

Аутсорс-разработка: плюсы и минусы

Стоит ли отдавать разработку на аутсорс или нет — индивидуальное решение каждой отдельной компании. Оно может зависеть, например, от размера компании, бюджета, сроков и наличия внутренней команды разработки. 

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

В зависимости от типа у компаний выстраиваются специфичные отношения с подрядчиком: первые передают всю разработку компании на аутсорс, а вторые могут как отдать проект полностью, так и передать только часть разработки. 

Кейс №1. У компании нет своей команды разработчиков

У компании нет инхаус-команды, но появляется желание или необходимость разработать технологичный продукт. Например, стартап, у которого пока нет уверенности в проекте и ресурсов для найма целой команды разработчиков. Также это может быть далекий от IT бизнес, который не хочет формировать «с нуля» целый отдел. Компании без инхаус-команды — частый заказчик разработки на аутсорсе. 

Рассмотрим плюсы и минусы аутсорс-команд для них.

Преимущества аутсорса для компаний без инхаус-команды разработки

  • Экономия времени на формирование инхаус-команды
    Если у компании нет инхаус-команды, её ждёт долгая организация процесса работы разработчиков «с нуля». Адаптации и «притирки» сотрудников друг к другу могут растянуться на месяцы.
    Вместо формирования своей команды разработчиков у компании есть возможность найти подрядчиков с отлаженными рабочими процессами. Также можно подобрать аутсорс-команду, у которой есть опыт в создании похожих продуктов и уже наработанные решения.
  • Скорость выхода на рынок 
    В аутсорс командах разработчики уже сработались и могут сразу начать работу над проектом компании-заказчика. Поэтому если компании важно быстро вывести на рынок технический или технологический продукт, с подрядчиками это произойдет быстрее, чем если компания будет создавать инхаус-команду. 

Недостатки аутсорса для компаний без инхаус-команды разработки

  • Сложность в правильной постановке задач 
    Даже опытным разработчикам сложно детально описать требования к готовому продукту, они могут меняться в ходе работы. А если у компании нет своего опыта разработки, она совсем не знает, как ставить техническую задачу. Поэтому шансы, что она получит тот продукт, который изначально хотела, стремятся к нулю.
  • Трудности контроля компанией-заказчиком за работой команды 
    Компании-заказчику сложно проконтролировать качество итоговой разработки, так как она чаще всего не обладает технологической экспертизой. Например, при тестировании компания не сможет найти недочеты, и «подводные камни» будут всплывать уже в процессе работы проекта. Позже это обернётся тем, что в систему будет сложно вносить изменения, и доработки будут очень дорогими.
  • Ущерб от смены подрядчика
    Если компания расстается с подрядчиком, и у нее нет штатных специалистов, которые смогут поддерживать его самописное решение, ей нужно будет нанимать новых разработчиков, чтобы ревьюить старый код. А они часто отказывают, говоря: «Мы не можем поддерживать эту систему, проще её переписать». Значит, процесс разработки проекта начнется сначала.
    Несколько раз переписывать код невыгодно с точки зрения вложения финансов и времени, поэтому может возникнуть ситуация, когда компания работает с одним и тем же подрядчиком на протяжении всего проекта, даже если её что-то не устраивает. В этом плане компании зависят от аутсорс-разработчиков, у которых они заказывают самописное решение. 

Кейс №2 У вас есть своя инхаус-команда

У компании есть инхаус-команда или даже несколько команд разработчиков, но появляется потребность делегировать часть задач аутсорсу для экономии своего времени и ресурсов. Рассмотрим плюсы и минусы в этом случае.

Преимущества аутсорс-разработки для компаний с инхаус-командой

  • Возможность отдать побочные проекты
    Чем крупнее компания, тем больше у нее подрядчиков, потому что помимо разработки ключевого продукта в процессе работы возникают идеи побочных продуктов или внутренних стартапов.
    Инхаус-команда уделяет больше внимания основному бизнесу, так как это её главный приоритет. Из-за этого возникает риск, что компания не дождётся побочных проектов. Поэтому аутсорс-команда может перенять эту часть разработки на себя. Так, и основной продукт будет сделан инхаус-командой на максимум, и побочные проекты: IT-продукты или внутренние стартапы — будут выполнены подрядчиками.
  • Регулирование объемов рабочей силы 
    С помощью привлечения аутсорсинга компания может регулировать объемы найма. Например, у компании есть проект на год и ей нужно быстро нарастить ресурсы. Также она понимает, что через год эти работники ей будут не нужны. Хороший способ в данном случае нанять подрядчика и заключить с ним договор на год. Это позволяет экономить на оплате труда в долгосрочной перспективе.

Недостатки аутсорс-разработки для компаний с инхаус-командой

  • Разное видение итогового результата
    Представление о качестве кода у всех разработчиков разное, и часто из-за этого возникают проблемы. Например, компания-заказчик получает от подрядчиков результаты разработки. А этот код не проходит внутреннего ревью, потому что инхаус-команда считает, что он не соответствует их высоким стандартам.
  • Отсутствие документации по проекту
    У компании может не быть проектной документации, определяющей функциональные, архитектурные и технические решения по разработке программного обеспечения. Она часто пишется после релиза сервиса и может уступать по качеству самому коду. Стороннему же подрядчику будет тяжело работать без чёткой инструкции к работе с кодом, это будет отражаться на качестве финального продукта.  
  • Проблема с постановкой задач инхаус-командой аутсорс-разработчикам
    Когда инхаус-команда нанимает аутсорс-разработчиков, которые являются экспертами в узкой области, техническая задача может быть не детализирована и плохо прописана. Это происходит, потому что компания-заказчик может не знать все тонкости проекта. Подрядчик должен взять на себя эту функцию: проработать техническое исследование с заказчиком и быть постоянно на связи. 

Что надо учитывать, когда отдаешь разработку на аутсорс

Мы не советуем отдавать ключевые процессы компании на аутсорс. В остальных случаях заказчику необходимо подготовиться к взаимодействию с подрядчиком. Несмотря на то, что все команды разные, есть общие правила, которых стоит придерживаться, когда отдаешь разработку на аутсорс, которые мы выяснили на своем опыте. 

Делимся рекомендациями по работе с аутсорс-командой.

  • Уведомляйте подрядчика об изменениях в проекте
    Важно, чтобы в компании был сотрудник, который постоянно на связи с подрядчиком и держит его в курсе всех рабочих процессах. Потому что иначе возникают риски, что вы получите проект, который уже не актуален для компании.
  • Прописывайте при подготовке технического задания примеры 
    Если вы не можете сформулировать все требования к проекту, передайте подрядчику хотя бы внутреннее исследование от инхаус-команды. И обязательно подкрепите его примерами.
  • Разбивайте работу на части
    Вы должны регулярно получать промежуточные результаты разработки. Когда присылают большой кусок выполненного материала, его сложно ревьюить. Инхаус-команда может это не осилить, поэтому минусы и недоработки кода всплывут позднее уже в процессе запуска.
  • Вовлекайте подрядчика во внутренние процессы компании
    Старайтесь максимально интегрировать подрядчика в командные процессы, так он будет максимально вовлечен в ваш проект. Например, аутсорс-разработчики могут участвовать в оценке задач или обсуждении продукта. 
  • Рассказывайте подрядчику о бизнес-составляющей продукта
    Необходимо, чтобы у аутсорс-команды было понимание, как система будет использоваться. Не только с технической точки зрения, а например, для чего разрабатываемый продукт пользователю. Так аутсорс-разработчики смогут сами писать тесты и сократить нагрузку на внутреннее тестирование. 

Вывод

Аутсорс-разработка для компаний и с инхаус-командой, и без инхаус-команды имеет свои преимущества и недостатки. Делимся табличками для быстрого сравнения.



При выборе аутсорс-разработки для компании прислушайтесь к нашим советам:

  • Держите аутсорс-команду в курсе изменений по проекту в процессе работы;
  • Прописывайте при подготовке технического задания не столько требования, а сколько примеры;
  • Разбивайте работу на части;
  • Вовлекайте аутсорс-разработчиков во внутренние процессы компании;
  • Давайте аутсорс-команде информацию, как тестировать продукт.

Если вы будете соблюдать эти правила, ваша работа с подрядчиком станет результативнее и приятнее.

8672

Комментировать могут только авторизованные пользователи.
Предлагаем Вам в систему или зарегистрироваться.

Предметная область
Отрасль
Управление
Мы используем файлы cookie в аналитических целях и для того, чтобы обеспечить вам наилучшие впечатления от работы с нашим сайтом. Заходя на сайт, вы соглашаетесь с Политикой использования файлов cookie.