Время требуется на каждый этап работы над проектом: исследование, проектирование,
разработка дизайна приложения, frontend-разработка (клиентская часть), backend-разработка (серверная часть), тестирование и ввод в эксплуатацию. Эти этапы обязательно требуют детальной проработки при создании успешного приложения.
Час работы специалиста в IT-аутсорсинге может отличаться кардинально: от 300 руб./час до 10000 руб./час. Тому, кто не связан с миром IT, разобраться в таком разбросе сложно. Реальная ставка web-программиста в России на сегодня – 1600-3500 руб./час в зависимости от его квалификации.
Если «специалист» предлагает ставку ниже, то скорее всего он начал работать недавно и не представляет рыночной стоимости работ. Небольшой опыт его работы позволяет ему лишь «демпинговать», заигрывая с высокой конкуренцией на рынке IT-услуг. На очередном реальном проекте «студент» сможет заработать опыт благодаря ошибкам, поэтому даже официальный договор без четкого технического задания ему не так страшен в случае «завала», ведь завтра придет новый клиент, «клюнувший» на дешевизну.
Отказаться от «дешевого» специалиста будет сложно – вряд ли кто-то другой возьмется переделывать множество багов. Даже если рейт будет вполовину меньше, вследствие багов, на поиск которых вы будете тратить и свое время, релиз будет много раз откладываться, а количество оплачиваемых вами часов вырастет в 2-3 раза. В итоге общая сумма расходов всё равно сравняется с вариантом найма опытных профессионалов, работа с которыми не превращается в головную боль.
Возможна иная ситуация. Когда предлагается ставка, к примеру, в 1000 руб./час, вы получаете программиста, который обязан накручивать часы. В эту ставку включаются расходы на больничные, отпуска, социальные налоги, НДФЛ и другие налоги, поэтому при такой ставке денег на зарплату останется мало. Управление командой разработчиков и контроль ее действий собственным менеджером далеко не всегда спасает ситуацию. В итоге – плохой продукт, потраченные деньги, головная боль, многочисленные доработки или новая разработка с нуля.
Теоретически отличное приложение в базовом варианте можно создать задаром, но над действительно успешными продуктами всегда работает команда разработчиков, знающих себе цену.
Сложная структура приложения От чего зависит количество времени? Здесь может быть множество факторов, начиная от перечня устройств и платформ, которые будут поддерживать работу приложения, и заканчивая списком его функций.
Сложная структура приложения увеличивает трудоемкость. Серверная часть требуется, если приложение будет, например, синхронизировать данные с сервером или управляться админ-панелью через веб-интерфейс. К усложнению структуры приложения также приводят сторонние API, возможность работы в офлайне, анимация в интерфейсе, вопросы хранения данных, нестандартные элементы управления, наличие нескольких ролей пользователей.
Какие компоненты требуют больше всего времени:
- Большие объемы данных, множество экранов и действий в приложении;
- Серверная часть;
- Административная панель;
- Использование аппаратных средств гаджета: NFC, барометр, Bluetooth, акселерометр, гироскоп и т.п.;
- Подключение к внешним устройствам;
- Интеграция со сторонними системами и сервисами;
- AR/VR-разработка и применение таких прорывных технологий, как ИИ, блокчейн, нейросети и др.
Таким образом, по степени сложности можно примерно представлять трудоемкость:
- Простые приложения (малый набор функций, быстрая разработка, может отсутствовать серверная часть) – 300-700 часов.
- Приложения средней сложности – 700-1200 часов.
- Сложные приложения (сложная архитектура, вопросы безопасности, множество интеграций и т.п.) – более 1200 часов.
Одна или несколько платформ? Вас интересует разработка приложений для Android или iOS? А может быть вам нужно веб-приложение? Есть несколько моментов, которые необходимо иметь в виду. При Android-разработке, в отличие от iOS, имеют множество устройств с различными техническими характеристиками и версиями операционных систем. К удорожанию проекта приводит адаптация для планшетов и поддержка старых версий платформ и устройств, ограниченных производительностью, функциональностью и отсутствием обновлений.
Смартфоны так похожи друг на друга, что кажется, как будто можно разработать одно единственное приложение для Android и iOS. Но это далеко не так. Одинаковый внешний вид приложений на разных платформах достигается через тернии разных языков программирования, SDK и инструментов программирования.
Впрочем, в некоторых случаях можно разработать одно кроссплатформенное приложение для двух платформ. По нашему опыту, такое решение позволяет
снизить стоимость разработки приложений для двух площадок на 25-30% и ускорить time-to-market.
Дизайн – не только о красоте Мы обрисовали в основном моменты, связанные скорее с разработкой, и сложилось впечатление, что для создания крутого приложения нужны лишь программисты. На самом деле, работа всегда начинается с продуктовой аналитики и UX/UI-дизайна. Сомневаемся, что программист сможет комплексно проработать эти вопросы. Здесь речь идет о том, как связать в приложении потребности бизнеса и пользователей и как сделать это максимально просто и понятно для пользователя.