Чем хорош аутсорс: инструкция по работе с удалённой командой разработки
Директор по развитию компании MediaSoft Mobile Владислав Крайнов и его коллега Сергей Полуэктов рассказали о том, как действовать клиенту при разработке digital-проекта с аутсорс-командой.
Аутсорс-продакшн — это компании из сферы digital, которые сосредоточились на чистом производстве, отказавшись от управления продуктом, а чаще всего и от функций проектного управления. Такие компании либо объединяют в себе ряд направлений (программную разработку, проектирование, дизайн, вёрстку), либо специализируются на одном виде работ, например, на программировании.
В отличие от digital-агентств полного цикла аутсорс-команды не отвечают за общий ход проекта и не решают вопросов, связанных с его бизнес-составляющей. Взамен они предлагают значительную техническую экспертизу, отлаженные процессы, а также более низкую стоимость, которая становится возможна благодаря узкой специализации и относительной простоте процессов.
Ситуация, сложившаяся на кадровом рынке ИТ, сделала услуги аутсорс-разработчиков исключительно востребованными.
Аутсорс как средство от кадрового дефицита
С каждым годом нехватка кадров в российской ИТ-индустрии усиливается. По данным HeadHunter, в первом квартале 2017 года количество вакансий ИКТ-профиля в Москве увеличилось на 23%. Кадровый рост при этом сильно отстаёт: по оценке Минкомсвязи, за 2015-2016 годы количество ИТ-специалистов в России выросло всего на 3,6%.
Ощутимее всего этот дефицит там, где порог входа в квалификацию особенно высок — в программной разработке. Программистов не хватает всем, включая крупнейшие высокотехнологичные компании, такие как «Яндекс» и Google.
Даже крупным клиентам сложно соревноваться с ведущими ИТ-корпорациями за лучших исполнителей, поэтому они ищут тех разработчиков, которые заведомо не стремятся в продуктовые истории, предпочитая работать в развитой экспертной среде устоявшейся аутсорс-команды.
Именно по этой причине некоторые компании по аутсорс-разработке за последние несколько лет выросли в два-три раза. Однако сотрудничество с такими компаниями содержит определённые риски и предъявляет требования в том числе и к самому заказчику.
Как бороться с рисками
За разработкой «на стороне» чаще всего обращаются клиенты двух типов:
- Компании без опыта создания digital-проектов, а также стартапы, где digital-продукт является основным инструментом бизнеса (интернет-магазин, мобильное приложение, система и так далее).
- Развитые компании с опытом в digital и потребностью масштабировать свои проекты.
Первому типу клиентов однозначно невыгодно создавать собственный отдел разработки. Даже если они найдут на это ресурсы, через некоторое время часть выстроенной структуры придётся демонтировать из-за снижения нагрузки в проекте.
После перехода проекта с этапа активной разработки на этап поддержки она уменьшится примерно в два-три раза. То есть если систему разрабатывали три-четыре специалиста, то для её развития, если всё сделано хорошо, потребуется максимум один-два. Остальных придётся увольнять, лишняя инфраструктура тоже будет не нужна.
У второго типа клиентов свои причины выбирать аутсорс. В крупных компаниях поиск персонала связан с большими накладными расходами. За каждого найденного специалиста хантинговые агентства требуют вознаграждения в размере одной-трёх его месячных зарплат, которые могут доходить до 150-200 тысяч рублей в Москве.
Ещё одна причина заключается в том, что публичным компаниям иногда бывает невыгодно увеличивать штат, так как это снижает показатель выработки (выручка, делённая на количество сотрудников).
Рынок аутсорсинга разработки с соответствующей культурой сформировался относительно недавно, и ещё несколько лет назад здесь были нередки ситуации, когда разработчики пропадали прямо посреди проекта.
Нестабильным было и качество разработки: к нам до сих пор приходят клиенты с запросом на переделку продукта после другой команды, которая не довела дело до конца или не обеспечила требуемое качество.
Описанные проблемы связаны с тем, что стоимость входа на этот рынок небольшая, ввиду чего здесь много команд с низким прайсом и таким же качеством, которые портят «карму» рынка. Поэтому при поиске подрядчика стоит держать в голове, что услуги квалифицированных специалистов не могут стоить совсем дешёво.
И, наконец, ещё один тонкий момент. Даже если удастся найти хорошего исполнителя, это не значит, что дальше всё получится само собой.
Над заказчиком нависает серьёзный риск потерять контроль над своим проектом и попасть в зависимость от конкретных разработчиков, что автоматически заблокирует возможность развития. Чтобы этого избежать, необходимо выстраивать сотрудничество с разработчиками на аутсорсе строго определённым образом.
Два рычага власти над ситуацией
Для заказчика главное средство от риска потери контроля над проектом заключается в том, чтобы всегда оставаться полноценным product owner — то есть отлично понимать бизнес-логику своего продукта и то, как она технически реализована.
Для этого на стороне клиента должны быть два человека — руководитель ИТ-направления (или Head of digital) и бизнес-директор проекта. Первый будет управлять сторонними и внутренними ИТ-командами, координировать их работу и обеспечивать контроль качества кода, второй — отвечать за бизнес-стратегию продукта.
Если следовать этому правилу, компетенция по продукту всегда будет оставаться внутри компании клиента, и он сможет полностью контролировать ситуацию: отслеживать состояние продукта, вносить коррективы в работу подрядчика, при необходимости сменить его или ввести на его место собственный отдел.
Для стартапов это имеет особое значение: работая со сторонней командой, они получают возможность постепенно прокачивать собственную экспертизу разработки. Аутсорс и инхаус могут легко делить между собой фронт работ — например, одни пишут код, другие делают ревью.
У нас был кейс, когда клиент с течением времени начал плавно отключать от проекта наших программистов (по одному в месяц) и вводить на их место своих. Это абсолютно нормальный процесс, который понимают как профессиональные аутсорсеры, так и product owner’ы.
Критерии оценки
Еще одна причина, почему у заказчика аутсорс-разработки в команде должен присутствовать компетентный ИТ-управляющий — необходимость подбирать программистов и оценивать их работу.
Что оценивается: скорость выполнения задач, качество кода, умение решать задачи без создания проблем для других разработчиков, качество коммуникации с коллегами, умение предвидеть технические проблемы на проекте.
Что не является показателем качества работы аутсорс-программиста: общее качество и эффективность продукта. Если сайт падает, интернет-магазин не продаёт, а мобильное приложение быстро удаляют после установки, ответственность за это лежит на самом клиенте, который является product owner'ом.
Мы со своей стороны можем сформулировать три основных совета по выбору и вводу подрядчика в проект:
Всегда проводить тестовый период. Чтобы оценить качество программирования и уровень ответственности кандидата, хватит двух-трёх тасков в течение недели.
Наращивать команду постепенно. Не стоит подключать сразу всех необходимых на проекте специалистов, лучше начать с одного-двух человек. Опытные аутсорс-команды, кстати, тоже заинтересованы в том, чтобы входить в проект плавно. Выводить с других проектов сразу несколько программистов для них рискованно и тяжело.
Общаться напрямую с разработчиками, задавая им профессиональные вопросы. Про паттерны проектирования, борьбу с нагрузками, методики разработки, признаки плохого кода и так далее. Для компетентного ИТ-управляющего это самый простой и объективный способ оценки.
Последний пункт в этом списке затрагивает достаточно показательный момент. В продакшн-агентствах программистов чаще всего прячут от заказчика, опасаясь, что он их уведёт.
При сотрудничестве с MediaSoft клиент может лично пообщаться с любым специалистом на проекте. Мы не препятствуем этому, потому что уверены в своих сотрудниках. У нас очень маленькая текучка — и это одно из важных условий, необходимых аутсорс-компании для поддержки стабильного качества разработки.
Постоянство — признак мастерства
Успешность компании, которая занимается узкопрофильным аутсорсом, почти полностью зависит от качества её штата. Если ей удаётся свести к минимуму кадровую текучку, её техническая экспертиза начинает расти нелинейно за счёт накопительного и синергетического эффектов.
Добиться стабильности штата обычно помогает комплекс мер: создание корпоративной культуры и благоприятной атмосферы, стабильная загрузка по проектам, наличие у руководящих лиц компетенции по программированию и производству других ключевых продуктов.
Повышению лояльности разработчиков способствует и то, что узкоспециализированный аутсорс сегодня не испытывает недостатка в заказах. Мы можем выбирать, какими проектами нам заниматься, и решающее значение в этом имеет мнение программистов.
Аутсорс-продакшн более широкого профиля зачастую лишён этого преимущества, так как вынужден брать все входящие проекты для поддержания финансового потока.
Что делать проектам, у которых внутри нет продуктолога и ИТ-управляющего?
Можно обратиться в агентство, которое сможет предоставить такие компетенции. Однако, не стоит забывать, что в данном случае агентство будет владеть этим продуктом и потом уйти от него будет трудно.
Тех документация на проект, спасает на этот случай?
Как правило не сильно. Все знают, что нет идеального ТЗ.
Сколько можно тиражировать этот бред про нехватку программистов?
Столько, сколько потребуется для того, чтобы быть услышанными.
Кем услышанными? Думаете, эту чушь еще кто-то не слышал?
Комментарий удален модератором
У вас грустный опыт? Обижали и недоплачивали? Соболезную. Но не везде так.
Комментарий удален модератором
Тогда все еще хуже(
Комментарий удален модератором
Комментарий удален модератором