Часы работы: 10 - 19 (Москва)

г.Пенза, ул.Суворова 66, 6 этаж

Новости
Разработка ПО: в штате или аутсорс?

Разработка ПО: в штате или аутсорс?

 

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

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

 

 

Почему аутсорсинг эффективнее отдела разработки программного обеспечения?

Почему аутсорсинг эффективнее отдела разработки программного обеспечения?

Разберем данный вопрос на примере “Компании А”. “Компания А” планирует создать собственный программный продукт в сжатые сроки. Компания занимается фармакологическим бизнесом и из IT-специалистов в штате один системный администратор.

Вопрос: что рациональнее для “Компании А” - организовать отдел разработки или обратиться за помощью к подрядчику?

Давайте предположим, что “Компания А” все же решает организовать свой отдел разработки. Для этого необходимо рассчитать несколько переменных: аренда дополнительных рабочих мест и затраты на их обслуживание (Х), заработная плата разработчиков (Y), покупка оборудования и софта (Z). Возьмем средние значения по рынку.

 

  1. Рассчитаем расходы на команду:

Команда: 3 бэкенд-разработчика, 1 фронтенд-разработчик, 2 мобайл-разработчика (андроид и айос), руководитель проектов, тестировщик, DevOps инженер и руководитель отдела (технический директор). В общей сложности - 10 человек. Именно такая команда  может обеспечить надлежащее качество.

  • Аренда дополнительных рабочих мест + затраты на их обслуживание (на 1 сотрудника в месяц) - 15 000

Х = 150 000 (руб/ мес)

  • Заработная плата специалистов - 100 000 рублей в месяц ( в среднем).

Y=  1 000 000 (руб/ мес)

  • Покупка оборудования и софта - 50 000 за 1 рабочее место.

Z = 500 000 (руб)

  1. Добавим к этим составляющим косвенные расходы (налоги, премии, страховка) и получим, что расходы на содержание отдела разработки “Компании А” составит около 16 млн рублей в первый год.

P.S.: расчёты не претендуют на 100%  точность

 

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

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

 

Подытожим:

  • Создание отдела разработки ПО в компании - ресурсозатратный процесс. Удаленная команда обойдется дешевле: не такие высокие ЗП (можно обратиться к компаниям в регионах), нет расхода на амортизацию рабочих мест
  • Создать свой отдел разработки и выпустить продукт  в короткий срок (3 месяца-год) объективно не получится. В данном случае больше времени уйдет на запуск процесса, а не продукта.
  • Аутсорс команда разработчиков работает результативнее, слаженнее и быстрее, чем офисная - они эффективнее управляют недоутилизацией специалистов, а благодаря выстроенной внутренней системе имеют возможность гибкой замены кадров. Плюс ко всему, существует разница в проектном и процессном подходе. Когда люди заточены на проектный подход, работая в одном и том же контексте, они начинают выгорать. Люди из команд, которые занимаются аутсорсингом, чаще заточены на развитие в разных проектах из разных отраслей.

 

Где искать и как выбрать команду разработчиков на проект?

Почему аутсорсинг эффективнее отдела разработки программного обеспечения?

Помимо поиска потенциальных кандидатов в Google и LinkedIn Recruiter, стоит обратиться к ассоциациям разработчиков ПО, например “РУССОФТ”, “АРПЭ” или “Отечествтенный софт”. Членство в ассоциации свидетельствует о надежности компании. Выбрав потенциальных кандидатов, первым делом необходимо получить ответы на следующие вопросы:

 

1. Есть ли у компании опыт подобной разработки?

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

 

2. Какой технологический стек используется разработчиками?

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

 

3. Есть ли проекты, которые можно попробовать?(демо-версии, готовые программы, сайты, приложения и т.д.)

Если в кейсах компании есть веб-сайты - перейдите по ссылке и оцените качество. Если указаны мобильные приложения, то найдите их в App Store и Google Play, выясните какие у приложения оценки. Скачайте, протестируйте и оцените юзабилити.

 

4. Какова стоимость услуг компании?

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

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

На начальных этапах выясните какая модель ценообразования будет на проекте. Наиболее популярные: Time & Material (для трудоемких проектов, предполагающими множественные изменения) или Fixed Price (для проектов с четким ТЗ). Также запросите оценку проекта в человеко-часах. Она покажет сколько времени необходимо заказчику на выполнение задачи. (В среднем оценка занимает 3-5 дней и предполагает детализацию крупных задач).

 

5. Насколько публична компания?

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

 

6. Как организуется менеджмент?

Выясните то, как осуществляется взаимодействие с заказчиком, как организуется работа. Методология создания ПО обычно описано в кейсах компании. Мы, например, используем две модели разработки: agile (гибкая методология) и  Waterfall (водопадная или каскадная модель). Применяем ту или другую в зависимости от проекта.

Разработка ПО: в штате или аутсорс?

Модель управления проектами, которую мы используем в CodeInside.

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

 

7. Какие условия пост-релизного обслуживания?

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

 

8. Есть ли возможность стартовать с демо-версии?

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

 

Обсудить разработку —>request@codeinside.ru




Разработка ПО: в штате или аутсорс?