Аутсорсинг программирования

аутсорсинг программирования

Один разработчик или большая команда? Вам нужен эксперт в определенной области программирования или вы думаете о внешнем отделе программирования? В каждом случае у нас есть для вас решение, которое поможет реализовать даже самый сложный проект .
Мы справляемся там, где погибли другие команды. Для нас это не проблема, а вызов.

https://heaad.ru/blog/

Когда вы должны принять решение об аутсорсинге?

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

в компании нет собственного отдела программирования – создание такого отдела является серьезной административной и кадровой задачей; если вы не работаете в ИТ-сфере, обычно такой вид инвестиций не имеет смысла;
проект должен начинаться быстро — набор персонала — это длительный процесс, результаты которого подвержены значительной неопределенности; в условиях нехватки времени, как правило, целесообразно использовать аутсорсинг;
для проекта требуется множество различных технологий — чем больше технологий, тем больше рекрутов и больше разработчиков; это одна из основных проблем, которую может решить хорошая аутсорсинговая компания;
вам требуется гибкость — как в плане выбора технологий, так и в отношении размера задействованной команды;
предполагается, что проект является краткосрочным — административные и кадровые накладные расходы относительно выше для краткосрочных проектов; их лучше передать поставщику;
вы запускаете стартап — в этой ситуации некоторые из вышеперечисленных моментов наверняка относятся и к вам.
Почему аутсорсинг программирования?
Согласно отчету KMPG, компании чаще всего выбирают аутсорсинговые услуги в Индии (как правило, качество этих услуг, как и их цена, довольно низкое). В то же время можно отметить, что Польша занимает все более высокие позиции в рейтинге аутсорсинга разработчиков, укрепляя свои позиции в качестве поставщика высококачественных и экспертных услуг. Рынок данного вида ИТ-услуг растет, о чем свидетельствует количество компаний, специализирующихся только на аутсорсинге программирования.

В объем услуг аутсорсинговых компаний обычно входят: разработка программного обеспечения, тестирование, разработка бизнес-решений в области ИТ, ИТ-инфраструктуры (включая мониторинг, визуализацию, базы данных), промышленный инжиниринг.

Аутсорсинг программирования одного специалиста или аутсорсинг всей команды – очень выгодная форма трудоустройства. Модель очень гибкая и начало сотрудничества практически мгновенное. Нет необходимости проверять каждого сотрудника на пригодность для проекта. Эта услуга лучше всего работает в компаниях, которые быстро развиваются и имеют профицит заказов или хотели бы построить ИТ-систему, но не могут позволить себе отложить старт проекта на несколько месяцев только из-за длительного набора персонала . Во многих ситуациях наем программистов на эти несколько недель может спасти проект.

Дополнительным преимуществом является то, что компания, решившая использовать эту форму сотрудничества, не должна искать место для новых членов команды в офисе, а значит, не несет затрат, связанных с содержанием более крупного офиса и оборудования рабочих станций (компьютер, программное , оргтехника и др.).

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

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

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

Ваш выбор

Выбрав аутсорсинг программирования мы также получаем возможность лучше приспособить почасовую нагрузку программистов к текущим потребностям компании. У нас также гораздо более легкий доступ к специалистам по другим технологиям и компетенциям, чем те, которые в настоящее время используются компанией. Это позволяет более гибко управлять проектами. Например, вам не нужно нанимать специалиста по Х-системе, если вы знаете, что он понадобится всего на несколько десятков часов для поддержки процесса интеграции, а потом уже будет не нужен. Доступность специалистов по различным технологиям по любому вызову облегчает выход в новые функциональные области (такие как мобильные приложения или IoT-решения) и создание новых продуктов. Это также расширяет перспективу управления компанией или проектом, позволяя рассматривать деятельность через призму реальных потребностей,

В компаниях, формирующих команду штатных разработчиков, довольно часто наблюдается своего рода закрытость для новых возможностей, особенно если работают специалисты узкого технологического профиля. Наем специалистов в компании, использующих только одну технологию, приводит к организационной и операционной приверженности ей всего коллектива. Проблема в том, что эта технология не всегда оптимальна в конкретном проекте, но рекомендуется сотрудниками как единственно совместимая с их объемом компетенций. Между тем решение, основанное на другом языке или фреймворке, может быть лучше. Хуже того, иногда это относится и к устаревшим технологиям! И тогда компания становится гетто для какого-то архаичного, канувшего в лету технического решения. До определенного момента это не проблема.устаревающая система представляет серьезную угрозу для деятельности компании.

Компания, специализирующаяся на аутсорсинге, не имеет таких ограничений и всегда рекомендует решения и технологии, которые будут лучше всего работать в конкретном проекте. Благодаря аутсорсингу команды программистов компания может сосредоточиться на своем основном бизнесе, вместо того, чтобы вникать в нюансы ИТ-индустрии.

Наиболее популярные технологии, которые компании передают нам на аутсорсинг, включают Python/Django, Angular, PHP, .NET и React Native.

Аутсорсинг программирования против содержания собственного программиста

Часто, когда спрос на работу по программированию низкий (например, разовая работа), компании не видят необходимости в аутсорсинге. Однако это большая ошибка. В таких ситуациях ни правление компании, ни отдел кадров, который не набирает ИТ-специалистов на ежедневной основе, не в состоянии предсказать, сколько времени потребуется, чтобы найти и нанять нужного человека, или должным образом оценить компетенции потенциальных кандидаты.

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

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

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

Нанимать специалиста через внешнюю HR-компанию тоже бессмысленно.

Это дорогое решение, которое, вопреки видимости, заканчивается приобретением сотрудника, не соответствующего нашим потребностям. HR-компании работают только на уровне названий технологий и редко понимают ИТ-потребности своих клиентов. Найдут сотрудника, который в лучшем случае будет специалистом по одной из используемых в компании технологий. Обычно это заканчивается тем, что такой специалист ведет проекты по расширению интеграции этой технологии. Он не полностью сосредоточен на выборе инструмента, который максимально точно решал бы бизнес-задачу, облегчал развитие предприятия и оптимизировал затраты на содержание инфраструктуры.

Организация работы

Контракт и заказы

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

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

Примеры заказов

Заказчик может заказать у нас 160 или 320 часов работы программистов. В некоторых случаях также можно заказать меньшее количество часов, например, 80 часов. Заказы не обязательно должны быть разовыми, но они могут охватывать несколько последовательных месяцев, например, 320 часов работы программистов в месяц в течение одного года.

Оценка

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

Табель учета рабочего времени

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

Как мы попадаем в новые проекты?

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

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

Среда проектирования

Если у клиента есть собственная инфраструктура для управления ИТ-проектом, наша команда может ее использовать. Если такой возможности нет, мы сами организуем среду проектирования или используем нашу инфраструктуру.

Стандартно мы используем следующие решения:

Bitbucket — платформа управления кодом,
Jira — инструмент для организации работы и задач,
Slack — платформа для общения.
Однако для некоторых наших клиентов мы используем, среди прочего:

GitHub — система контроля версии кода,
Redmine — инструмент управления задачами,
Команды — коммуникационная платформа.
Роль ведущего разработчика
Ведущий разработчик является руководителем проекта и контактным лицом в нашей команде. Кроме того, он отвечает за организацию работы и следит за тем, чтобы все задачи выполнялись должным образом в установленные сроки. Можно сказать, что он руководитель проекта, но он также занимается программированием, в том числе особо важными или сложными элементами проекта.

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

Задачи ведущего разработчика

Коммуникация:

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

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

Встречи

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

Коммуникация

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

Встреча с клиентом

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

Гибкость

Ведущий разработчик выбирает программистов в начале проекта и при необходимости может заменить их в ходе проекта. Это происходит, например, когда проект достигает стадии, когда требуется другой набор технологий или новый набор навыков. Отдельные специалисты могут привлекаться к проекту на постоянной или частичной основе. Благодаря этому мы можем очень гибко реорганизовать команду, чтобы адаптироваться к динамике проекта.

Масштабируемость

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

Непрерывность работы

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

Координация

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

Место работы

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

Аутсорсинг программирования — время, необходимое для начала

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

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

Вы сами определяете форму подачи задач

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

Найм айтишников — аутсорсинг программистов

Специалисты могут выполнять самостоятельные задачи или оказывать поддержку в вашей команде. Делегировать можно как одного человека, так и всю проектную команду. У нас есть знания и компетенции, чтобы сформировать для вас индивидуально подобранную команду, подходящую для реализации конкретного проекта. Расскажите нам о своем проекте, укажите его цели, технологии, в которых вы хотели бы работать, и мы предоставим вам команду, отвечающую всем требованиям.

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

Программная компания — Аутсорсинг

Аутсорсинговая компания-разработчик программного обеспечения — гораздо более стабильное решение, когда речь идет о создании стабильной команды. Благодаря этому, например, уход руководителя проекта не является серьезной проблемой. Даже если аутсорсинговый специалист покинет проект, надежный аутсорсинговый провайдер должен иметь готовые сценарии на такой случай, скорее всего, располагая достаточными ресурсами для замены и компетенциями для эффективного подбора нового человека на эту должность.

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

Аутсорсинг компетенций

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

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

Аутсорсинг компетенций в сфере ИТ приносит наибольшую пользу в тех сферах, где у постоянной команды нет компетенций и в то же время нет смысла наращивать эти компетенции. Наиболее распространенные проблемы связаны с:

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

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

Вы предвидите такую ​​потребность? Ничто не предвещает ее? Что ж, жизнь полна неожиданностей и неопределенностей, и хороший начальник всегда готов к худшему. Возможных сценариев множество: массовый уход ИТ-специалистов, крайне сложный проект внедрения или стремительное развитие компании. Но давайте покончим с клише. Все это знают. Также всем известно, что при возникновении такой проблемы можно воспользоваться аутсорсингом. Но, к сожалению, не все знают, как это работает на практике.

Аутсорсинг с кухни

Давайте опустим очевидное, например, тот факт, что поиск подходящего поставщика или согласование удовлетворительных условий требует времени, что может быть (и обычно является) большой проблемой, когда вдруг что-то в нашем идеальном мире рушится. Речь идет и о чуть более тонких, но не менее важных вопросах. Как эффективно и бесконфликтно интегрировать людей со стороны в собственную ИТ-команду? Какие правила общения следует установить? Как предложить разделение обязанностей и ответственности? Как расставить приоритеты? Кто перед кем несет ответственность? И в какой степени? Кто и в какой сфере принимает проектные решения? Какие задачи можно доверить внешнему поставщику, а какие лучше выполнить самостоятельно?

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

Вы можете добиться этого, начав сотрудничество с аутсорсинговым разработчиком на более дружественной почве, когда «ничего не горит». Когда вы можете практиковать эту модель на своих условиях, на неключевом проекте по вашему выбору. Вы легко начнете сотрудничество, познакомитесь со своим поставщиком услуг программирования и его моделью работы. Вы узнаете, как все это работает на практике. Благодаря этому вы получите практические знания и будете готовы действовать, когда наступит кризис.

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

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

Начало аутсорсинга

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

Ниже приведен список наиболее важных вопросов, которые мы задаем нашим будущим клиентам:

Каков статус проекта? Это совершенно новое предприятие или проект уже запущен? Реализуется ли он в соответствии с планом или уже откладывается? Откуда они пришли?
Какие технологии проекта? Они уже установлены или мы должны что-то предложить?
Какие цели самые близкие, а какие самые далеко идущие? Вы уже знаете, что будет самым важным в ближайшем будущем?
Наша команда должна действовать самостоятельно? Или он должен присоединиться к существующей команде? Если да, то как? Будут ли нам даны какие-то отдельные независимые задачи или мы будем работать вместе над одними и теми же задачами?
Кто возглавит проект? Будет ли менеджер проекта на стороне клиента или мы должны позаботиться об этом сами? Если на стороне клиента есть менеджер, его компетенция охватывает и технические, и бизнес-вопросы, или только один из этих аспектов?
Как будет организовано общение? С кем мы свяжемся, чтобы сообщить о ходе и статусе проекта? И как часто? Будут ли ежедневные короткие отчеты и еженедельные спринты? Или, может быть, какая-то другая форма организации?
Какова ожидаемая методология запуска проекта? Можем ли мы рассчитывать на такую ​​большую заинтересованность клиента в организации проекта в духе scrum или стоит действовать более самостоятельно и договариваться только по самым ключевым вопросам?
Какие инструменты мы будем использовать в проекте? Есть ли у клиента собственный репозиторий кода, среда devops, диспетчер задач? Если так, то кто они? Если нет, то ожидает ли он, что мы устроим это за него? А может, он не хочет этим заниматься и мы будем действовать в своей среде?
Можно ли положиться на аутсорсинг?
На наш взгляд, аутсорсинг более надежен, чем другие формы сотрудничества с программистами. Наиболее очевидные вопросы (такие как большая гибкость сотрудничества или легкий доступ к специалистам) уже обсуждались. Здесь мы хотим обратить внимание еще на один момент — в случае с профессиональным аутсорсером он предлагает гораздо больше, чем просто рабочую силу. Хороший аутсорсинговый провайдер заботится о качестве отношений с клиентами и предлагает поддержку на очень широком фронте.

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

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

Аутсорсинг на неполный рабочий день?

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

Какие ресурсы и процессы передать на аутсорсинг?
Сегодня на аутсорсинг можно передавать практически любые компетенции, от неквалифицированных сотрудников до специалистов (бухгалтеров, юристов, топ-менеджеров). Значит, нужно ответить на вопрос: в какой сфере аутсорсинг принесет компании наибольшую пользу? Здесь мы рассмотрим тему с точки зрения наиболее известной нам ИТ-индустрии.

Среди компаний, интенсивно использующих аутсорсинг, часто говорят, что «вы можете отдать на аутсорсинг все, кроме ключевых бизнес-процессов». В этом, безусловно, есть большая доля правды. Можно сказать, что аутсорсинг программирования должен рассмотреть каждая компания, которая имеет индивидуальные потребности в ИТ, но не имеет своей команды кодеров и не хочет содержать такую ​​команду в долгосрочной перспективе.

Но мы также знаем случаи компаний, основной деятельностью которых является создание продуктов или оказание услуг по программированию. Такие компании также (и нередко) используют аутсорсинг. Почему это происходит?

Как вы знаете, в софтверных компаниях ключевым ресурсом являются кодеры. Но энкодер не энкодер. Большинство компаний сосредотачиваются на избранных технологиях, не имея компетенций в других областях. И ситуации, когда нужен эксперт по какому-то неизвестному в команде языку или фреймворку, встречаются довольно часто. Аутсорсинг программиста (или команды) для временного заполнения пробела в компетенциях кажется оптимальным решением.

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

Сколько компания может сэкономить на аутсорсинге?

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

затраты на процесс подбора персонала — подбор IT-специалистов специфичен и требует профильного рекрутера (об этом можно прочитать здесь );
эксплуатационные расходы — связанные с «бумаготворчеством» в сфере человеческих ресурсов и бухгалтерского учета,
административные расходы — т.е. расходы на служебные помещения, износ оборудования, использование всевозможных материалов;
расходы на адаптацию – связанные с приобщением сотрудника к культуре компании;
издержки неудачной вербовки – статистика неумолима и время от времени будет найден некомпетентный или некомпетентный человек;
затраты на внедрение — в основном возникают из-за длительного процесса подбора и означают, что конечный продукт мы получим позже, чем при привлечении готовой команды;
организационные расходы — заметны в первую очередь в случайных ситуациях (например, болезни), когда нужно искать замену или считаться с замедлением работы;
затраты на управление — связанные с тем, что ограниченное время менеджеров в большей степени тратится на решение вышеперечисленных вопросов, а не на ключевые бизнес-процессы.
Некоторые из этих затрат относительно легко оценить (такие как задержки найма или внедрения), другие определить очень сложно, хотя их определенно нельзя игнорировать (такие как, например, управленческие расходы). Разумное приближение каждого из них позволит гораздо надежнее сравнить затраты на аутсорсинг и собственную команду.

Вариант 1 — собираем полную команду

Итак, предположим, что за месяц нам удалось собрать команду из 6 человек с необходимой квалификацией. Давайте также предположим, что мы нанимаем каждого сотрудника за 50% от ставки, которую получала бы аутсорсинговая компания. Возможно, в качестве первого импульса мы могли бы предположить, что затраты на реализацию проекта составят 50% от общих затрат в таблице, т.е. примерно 125 000 злотых нетто.

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

Конечно, мы можем распределить набор по времени, чтобы нанимать специалистов постепенно по мере продвижения проекта. Однако это означает увеличение организационных издержек и риск того, что набор не будет завершен вовремя. Но даже в этом случае «пустые» человеко-месяцы вряд ли будут полностью устранены.

Предположим поэтому, что в среднем специалист занимает 1/3 того времени, когда он не является абсолютно необходимым в проекте. Следовательно, к нашей сумме в 125 000 мы должны добавить около 40 000 наценки, что дает нам общую стоимость около 165 000 злотых нетто. Это по-прежнему почти намного меньше, чем стоимость аутсорсинга, но учтите, что сюда не включены все организационные расходы. Кроме того, надо учитывать тот факт, что некоторых специалистов не захотят нанимать на короткий срок, что может сказаться на сроках набора. Если только мы не решим оставить их дольше. Но это дополнительные расходы.

Вариант 2 — строим меньшую команду

Мы можем спросить себя: нужно ли нам 6 специалистов для этого проекта? Разве вы не можете просто найти одного или двух программистов, которые выполнят проект в долгосрочной перспективе? Может быть, вы также можете найти графического дизайнера-фрилансера и провести внутреннее тестирование?

Конечно, можно идти в этом направлении. Предположим, мы наняли еще одного опытного разработчика в качестве менеджера (эквивалент аналитика), который также будет заниматься бэкендом и фронтенд-разработчиком, который разбирается в мобильных приложениях. Наш проект рассчитан в общей сложности на 10 человеко-месяцев аналитической и программной работы. Итак, предположим, что наши два специалиста делят это время пополам. Если взять половину ставки менеджера и половину ставки фронтенда, то в масштабе 5 месяцев мы получим общую стоимость почти 120 000 без учета графического дизайна и тестирования. Фрилансера по графике и UX можно нанять примерно на 5000 и, возможно, протестировать одним из сотрудников компании. Поэтому можно предположить

Однако время реализации для работы по программированию увеличило наш проект с первоначальных 4 месяцев до пяти. Добавим месяц на тесты и еще месяц на рекрутинг и адаптацию (весьма оптимистичное предположение), и срок реализации проекта увеличился на 50%.

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

Резюме

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

В каждом случае тема должна быть проанализирована индивидуально. Или, может быть, вместо того, чтобы тратить дорогое время руководства на такого рода соображения, лучше сосредоточиться на выборе надежного поставщика?

 

 

More from my site

Добавить комментарий

Ваш адрес email не будет опубликован.