Разработка мобильного приложения — нюансы при выборе подрядчика

#Аналитика
23.06.2021

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

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

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

  Профессиональная студия Частный исполнитель
Сроки Оцениваются на этапе ТЗ Могут быть непредсказуемыми
Гарантия Включена в договор Нет никакой гарантии
Стоимость Средняя Низкая
Контроль исполнения Ведется менеджером Лежит на ваших плечах
Широта квалификации В штате есть разные специалисты Нужно проверять
Развитие проекта Можно продолжить в той же или другой студии Часто зависит от конкретного человека
Защита данных NDA входит в состав договора Нужно проработать заключение NDA
Ответственность за различные риски Исполнитель берет на себя Остаются на стороне заказчика

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

Главная боль — это сроки

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

Начнем со сроков. Как и в любой профессиональной студии, мы в Neti проводим детальное планирование и оцениваем, сколько времени займет разработка с учетом конкретных особенностей проекта. И если даже заказчику хочется получить продукт быстрее, и он предлагает “нанять в 2 раза больше разработчиков”, сделать все в 2 раза быстрее все равно не получится. Это так же маловероятно, как добраться до места назначения вдвое быстрее, заказав два такси вместо одного.

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

Можно ли сэкономить?

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

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

Стоп-факторы для заказа разработки “участников”

К нам в Neti часто обращаются люди, которые уже пытались сделать мобильное приложение подешевле. И из опыта общения с теми заказчиками, которые “обратились к знакомому фрилансеру”, а потом пришли заказывать новую разработку у нас, можно выделить сразу несколько характерных проблем:

Сорванные сроки

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

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

Проблемы с нестандартными кейсами

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

Студиям в этом смысле проще — ведь в компаниях с большим количеством проектов и клиентов работает не 1 или 2, а 10+ разработчиков. И они успешно делятся накопленным опытом друг с другом. Так, например, если в команде кто-то уже подключал платежный шлюз “Сбербанка” и учет бонусов “Спасибо”, эту задачу для нового клиента получится решить в кратчайшие сроки, потому что разработчики делятся опытом друг с другом и задачу, в конечном счете, решает “коллективный разум”

Невозможность развития

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

Ограничения компетенции

В компаниях работают люди с разным компетенциями: кто-то специалист по React Native или Flutter, кто-то ведет разработку под нативные платформы iOS и Android, другие занимаются анимацией, дизайном, интеграциями и так далее. Каждый специалист имеет свои сильные стороны, может похвастаться глубокой компетенцией в определенной сфере и поделиться опытом с коллегами.

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

Корпоративное правило: просто осознанный подход

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

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

Чтобы обеспечить прозрачность ценообразования проекта мы в Neti разбиваем весь процесс разработки на этапы и четко прописываем объем работы и бюджет каждого из них. Перед тем как приступить к очередному этапу мы проводим оценку результатов предыдущего и предлагаем клиенту оплатить 50% стоимости следующего шага.

Первый этап нацелен на формирование целостного видения проекта, разработку технического задания (ТЗ) и прототипа графического интерфейса. С точки зрения стоимости обычно он составляет примерно одну десятую часть цены всей разработки (исходя из нашей практики этот этап может стоить от 50 до 150 тысяч рублей). Таким образом, чтобы запустить проект со студией сначала нужно оплатить только 1/20 цены будущего приложения.

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

  • Будем ли мы браться за эту работу (а Neti не раз отказывалась от проекта, если он связан со слишком большим количеством неопределенностей);
  • Согласен ли заказчик на те условия, темпы и планы, которые мы предлагаем.

Это очень удобно, ведь если заказчика все устраивает, мы продолжаем работать. Если же нет, то уже подготовленное профессионалами ТЗ можно использовать, чтобы объявить конкурс и найти своего “идеального исполнителя”.

Когда все-таки стоит обращаться к фрилансеру?

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

Чтобы помочь вам не попасть в неприятную ситуацию, мы подготовили 5 полезных советов, которые помогут наладить работу с фрилансером и получить нужное вам мобильное приложение. Работать с фрилансерами можно и нужно, если вы:

  1. Можете проверить, есть ли у исполнителя релевантный опыт — Для этого запросите портфолио и примеры работ, уточните, на каких языках и фреймворках ведет разработку специалист. Спросите, почему он выбирает эти технологии и методы. В разговоре постарайтесь понять, насколько свободно человек общается на тему разработки и может ли он доходчиво объяснить свои решения
  2. Следите за ходом выполнения работ — Если вы работаете с фрилансером, вам придется взять на себя часть задач руководителя проекта, выстроить план и этапы разработки. Полезно будет назначить даты звонков и встреч, периодически инспектировать текущий ход работ, имеющиеся материалы (прототип, дизайн, программный код и т.д.)
  3. Привяжете оплату к этапам сдачи проекта — Ведь это лучший способ мотивировать человека двигаться дальше, а не пропадать с вечными “скоро будет готово”. Тщательно распланируйте стоимости этапов работы и никогда не платите всю сумму вперед.
  4. Защитите конфиденциальные данные — Это очень важный момент, ведь разработчик может получить доступ ко всем данным вашего приложения. Чтобы не допустить утечек можно заключить с подрядчиком NDA (это возможно, если человек ИП или самозанятый), а также предоставив для тестирования разработки синтетические, либо обезличенные данные.
  5. Обсудите вопросы поддержки приложения — Хорошо, если человек, разработавший приложение, будет за ним следить. Может быть стоит договориться о ежемесячной компенсации за поддержку, либо попросить другого специалиста проверить программный код приложения перед окончательной приемкой, чтобы убедиться, что в этом кто-то сможет разобраться впоследствии.
  6. Подготовите свои аккаунты github, firebase и других платформ, которые будут использоваться в процессе разработке. Это позволит вам гарантировать доступ к исходному коду, даже если отношения с разработчиком испортятся, а также даст дополнительные инструменты, чтобы следить за ходом выполнения работ.