Вверх
15 мин
780

Разработка мобильных приложений на заказ недорого: реальность или иллюзия

image

Почему так дорого?


Благодаря фрилансу складывается впечатление, что можно создать любое мобильное приложение «под ключ» в пределах 100 тысяч руб. В некоторых случаях можно действительно рассчитывать на такую сумму: если выделенный бюджет крайне ограничен, что предполагает согласие на массу недостатков в качестве работы, скрытые и явные баги (ошибки), неоригинальность или минимальный функционал приложения. При комплексном подходе к приложению такая цена невозможна. Давайте разберемся, откуда появляются суммы в сотни тысяч и миллионы рублей, и чем они обоснованы.


Время

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


Время требуется на каждый этап работы над проектом: исследование, проектирование, разработка дизайна приложения, frontend-разработка (клиентская часть), backend-разработка (серверная часть), тестирование и ввод в эксплуатацию. Эти этапы обязательно требуют детальной проработки при создании успешного приложения.


Час работы специалиста в IT-аутсорсинге может отличаться кардинально: от 300 руб./час до 10000 руб./час. Тому, кто не связан с миром IT, разобраться в таком разбросе сложно. Реальная ставка web-программиста в России на сегодня – 1600-3500 руб./час в зависимости от его квалификации.


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


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


Возможна иная ситуация. Когда предлагается ставка, к примеру, в 1000 руб./час, вы получаете программиста, который обязан накручивать часы. В эту ставку включаются расходы на больничные, отпуска, социальные налоги, НДФЛ и другие налоги, поэтому при такой ставке денег на зарплату останется мало. Управление командой разработчиков и контроль ее действий собственным менеджером далеко не всегда спасает ситуацию. В итоге – плохой продукт, потраченные деньги, головная боль, многочисленные доработки или новая разработка с нуля.


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


Сложная структура приложения


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


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


По степени сложности можно примерно представлять трудоемкость:


  1. Простые приложения (малый набор функций, быстрая разработка, может отсутствовать серверная часть) – 300-700 часов.
  2. Приложения средней сложности – 700-1200 часов.
  3. Сложные приложения (сложная архитектура, вопросы безопасности, множество интеграций и т.п.) – более 1200 часов.


Одна или несколько платформ?



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


Смартфоны так похожи друг на друга, что кажется, как будто можно разработать одно единственное приложение для Android и iOS. Но это далеко не так. Одинаковый внешний вид приложений на разных платформах достигается через тернии разных языков программирования, SDK и инструментов программирования.


Дизайн – не только о красоте


Мы обрисовали в основном моменты, связанные скорее с разработкой, и сложилось впечатление, что для создания крутого приложения нужны лишь программисты. На самом деле, работа всегда начинается с продуктовой аналитики и UX/UI-дизайна. Сомневаемся, что программист сможет комплексно проработать эти вопросы. Здесь речь идет о том, как связать в приложении потребности бизнеса и пользователей и как сделать это максимально просто и понятно для пользователя.


Ни один пользователь не полезет в дебри кода, чтобы оценить, будет ли он им пользоваться. Главное для него – насколько быстро и понятно приложение решает его проблему. И вопрос не столько в быстроте программного обеспечения, а в проработке Customer Journey Map, User Flow, Usability, User Experience и разработке интерфейса приложения. Если вы никогда не слышали об этом, то предлагаем прочитать экспертную статью нашего UX/UI-дизайнера Максима Скворцова. В ней он развернуто отвечает на вопрос, почему необходимо глубоко прорабатывать вопросы проектирования и дизайна и как создать действительно успешное приложение.


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


Один в поле не воин


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


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


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


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


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


1. Возможность протестировать. При любой разработке – веб-разработке, разработке для iOS или Android – IT-компании часто предлагают возможность протестировать возможности выделенной команды разработчиков приложений на небольшом объеме бесплатных часов, что не скажешь о фрилансе.


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


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


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


5. Затраты времени. С IT-компанией вы можете экономить время и сосредоточиться на своем бизнесе, а не на проекте. Каждый член команды четко знает свою роль в проекте, любой промежуточный результат работы подвергается внутренней перепроверке перед отправкой заказчику. С фрилансером придется взять на себя роль менеджера проекта.


6. Безопасность. IT-компания имеет статус зарегистрированного юридического лица. Это налагает на нее более жесткие рамки ответственности и сильно снижает риск столкнуться с мошенничеством. Случайный человек в интернете легко может предоставить чужое портфолио и впоследствии превратить ваши планы по «мобилизации» в хаос.


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


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