Идея о разработке собственного мобильного приложения сегодня посещает чуть ли не каждого человека. Ведь наступило время, когда веб-сайты – это уже без разговора «must have», и теперь, всем нужны мобильные приложения, да и возможности приложений значительно шире чем у сайтов, следовательно, и идеи можно реализовать совсем другие.
Необходимой аудитории с телефонами и планшетами уже предостаточно, чтобы каждая идея нашла среди них своё место, причём она растёт ежедневно как снежный ком.
Но с приложениями все не так просто, как с сайтами, и мобильное приложение – это далеко не обычная маленькая иконка в мобильном устройстве, как кажется на первый взгляд.
Чтобы понять, сколько будет стоить разработать мобильное приложение, необходимо начать с формирования требований
Ни один профессионал не сможет оценить проект, озвученный лишь на словах или описанный в двух чертах. И во всей ИТ-сфере это – факт, если идёт речь об индивидуальной разработке программного обеспечения.
Требования на разработку – это небольшое и понятное описание идеи проекта
Если самостоятельное их составление вызывает трудности, то необходимо найти компанию, которая в этом поможет, но далеко не все компании делают это бесплатно, поскольку для этого нужна тщательная проработка идеи клиента и разъяснение всех аспектов и нюансов функциональных возможностей мобильных приложений. После чего далеко не факт, что клиент выберет именно эту компанию подрядчиком, если вообще решится на разработку после понимания бюджета.
Для примера. Вот реальные требования, присланные одним из наших клиентов:
«Необходимо мобильное приложения для небольшой сети наших ресторанов на платформах iOS и Android + чтобы приложение работало на планшетах.
Для клиентов нашего ресторана должна быть возможность заказать столик в ресторане через 30 минут либо на время. Также он должен видеть какие столики свободны, а какие заняты и сколько человек может вместить выбранный столик. Он также должен иметь возможность предварительно оформить заказ, то есть должно быть электронное меню (актуальный ассортимент меню есть у нас на сайте). Также должна быть возможность внести произвольную предоплату, оплатить полностью оформленный заказ, либо внести ранее установленный депозит.
На карте должны отображаться наши заведения с адресами, временем работы и номерами телефонов, с возможностью проложить маршрут к ним от существующего месторасположения пользователя, желательно с учётом пробок. Наши клиенты должны получать уведомления об акциях, скидках и предстоящих мероприятиях в виде Push-уведомлений. Ещё у клиентов должны храниться истории их заказов с подробным описанием (напитки, блюда, столик, количество персон, день и время посещения, а также стоимость включая оставленные чаевые). Также у клиента должна быть возможность заказывать напитки и блюда из электронного меню, когда он находится непосредственно в ресторане, и чтобы он мог расплатиться с помощью привязанной карты к приложению после завершения трапезы, то есть покушал, встал и ушёл, а со счета автоматически спишется с него необходимая сумма (по аналогии, как сейчас это устроено в Uber такси с поездкой).
Для внутреннего использования, то есть для администраторов и официантов должна быть возможность управлять и контролировать весь вышеописанный процесс: подтверждать бронирование столиков и предварительные заказы, видеть кто оплатил и сколько, видеть, когда посетитель ресторана что-то заказал по электронному меню (в этот момент официанту который обслуживает данный столик, должно прийти уведомление с вибро и звуковым сигналом).
В последующих версиях хотелось бы сделать статусы заказов в разрезе по каждому блюду (принят, готовится, на выносе, подан). Планируется Бонусная система, например, если клиент в течении месяца посещает более трёх раз наши рестораны, то ему будет предоставляться скидка или подарок (на автомате). Также в эту систему хочется добавить популярную функцию «чек-ин», чтобы пользователь зачекинился в нашем ресторане и допустим запостил в соц сети фото себя или блюда, и мы ему за это предоставляли подарок. Дополнительно внедрить механизм, который предлагал бы нашим клиентам сочетание блюд для заказа, исходя из допустим сезона, погоды и его предпочтений, которые будут собираться на основании его ранних заказов и анализироваться, что он больше любит и какие продукты предпочитает. Ну и более наладить процесс автоматизации с кухней и бухгалтерией.»
Далее идет согласование требований
На основании подобных требований (которые весьма объемны, из-за масштаба проекта) специалист компании разработчика должен обязательно сформировать уточняющие вопросы и дать развёрнутый фидбек по самой идее проекта: что можно ещё добавить, что можно упростить, что рационально перенести в следующие версии и на чем можно сэкономить, не ужимая основную идею проекта.
Но сказать наверняка, «выстрелит» идея или нет, никто Вам не сможет, для этого есть подходящая поговорка «знал бы прикуп, жил бы в Сочи», а если Вам кто-то будет навязывать своё мнение по этому поводу, то задайте им ответный вопрос: «если Вы все так хорошо знаете, то где Ваши личные «выстрелившие» проекты?»
Просчет стоимости и срока.
Далее, после сформированных и первично утверждённых требований, наступает этап просчёта ориентировочной стоимости и срока разработки, обычно это занимает 2-3 дня, по крайней мере у нас в компании APPsStudio это так, поскольку данный процесс весьма объёмный и в нем в среднем принимает участие от 2 до 4 технических специалистов, в зависимости от масштаба проекта.
Если на выходе компания Вам не предоставит как минимум объём необходимых часов для реализации проекта, то нужно задуматься о её подходе к оценке, ведь технические специалисты оценивают реализацию своих частей (блоков, модулей, функционала) именно в часовом эквиваленте.
Только с реализацией проектирования и дизайна у всех по-разному, кто-то даже ориентир не может дать, поскольку данный этап у них реализуется на часовой основе: сколько проработали, за столько и заплати.
Мы же даём фиксированную оценку (fix price) данного этапа, наш опыт позволяет опираться на требования и предстоящий объём работ, за исключением ситуаций, когда сам заказчик ещё не знает, что именно ему нужно и он хочет проработать как минимум 3-5 разных вариантов дизайна.
У компаний с большим успешным опытом реализации разнообразных проектов ориентировочная стоимость от финальной не должна разниться более чем на 5-10%, это также важный момент при выборе компании разработчика. Если финальная оценка отличается в 1,5 раза, то однозначно стоит задуматься. А не увеличится в итоге срок разработки на столько же, либо что ещё хуже, в процессе получу ли я обещанный проект со всем функционалом, либо снова нужно будет увеличивать бюджет?
Так каков же бюджет разработки?
Стоимость разработки мобильного приложения под ключ в среднем на одну из перечисленных платформ (iOS/Android/Windows Phone/Windows 10 Mobile) начинается от 5,000$ (от 2-х месяцев). Если это совсем простое приложение, вроде визитки с контактами и, к примеру, информацией о предстоящем мероприятии, то стоимость может начинаться от 2,000$ (от 3-х недель), а если это серьёзное приложение с сложным разнообразным функционалом, то стоимость составит от 10,000$ (от 4-х месяцев) на одну платформу. В отдельной статье мы рассказываем более подробно "Почему так дорого стоит разработать мобильное приложение и из чего складывается его стоимость".
Также нужно понимать, что, помимо мобильных приложений (клиентских частей), есть ещё серверная часть (back-end), которую также необходимо разрабатывать. Обычно её стоимость составляет равную стоимости одной клиентской части (под одну платформу), а бывает и больше. В двух из трёх случаев серверная часть необходима.
Как видно, общая стоимость во многом зависит от выбранных платформ, нужна ли адаптация под планшеты (это ещё примерно +10-15% к стоимости одной платформы), и от количества функционала, иногда одна функция может стоить как 10 других, допустим сложный алгоритм просчёта бонусной системы и всех её аспектов, либо алгоритм вычисления и сопоставления кратчайшего пути от таксиста к пассажиру, по пути подбирая попутчиков со схожими маршрутами и т.д.
Также, на стоимость значительно влияют сторонние интеграции, например, такие как, платежные системы, CRM системы, социальные сети (с каждой соц. сетью необходима отдельная интеграция), ресурсы и сайты, а также подключение разнообразного оборудования. Мелочей, которые не влияют на конечную стоимость в разработке приложений, практические не существует. Поэтому мы специально написали статью "Как и на чем можно сэкономить при разработке мобильного приложения".
Если нужно приложение срочно, что тогда делать?
Когда проект необходим как можно быстрее, то срок разработки можно уменьшить вплоть до 2-3 раз от первоначальной оценки, привлекая дополнительных технических специалистов к реализации и разбивая задачи между ними на параллельную работу над функциональными модулями.
Но нужно при этом понимать, что и бюджет будет прямо пропорционально увеличиваться, поскольку никто не захочет на один проект отдавать всех свободных специалистов и может даже дополнительно брать в аренду либо добирать новых, которые еще на деле не проверены.
А вдруг в каком-то другом ранее разработанном проекте вылетит критический баг, либо существующий клиент попросит о доработке, либо нужно будет оценить новый проект, либо кто-то уйдет из разрабатываемого проекта в данный момент... Да и работать в режиме нон-стоп с большим объёмом одновременно выполняемых задач (которые, кстати, тоже нужно очень грамотно распланировать) и огромной ответственностью мало кто любит, при этом в таком случае команде обязательно нужно будет выплачивать бонусы и давать разные плюшки, ведь нервы нужно чем-то успокаивать :)
И стоит учесть, далеко не каждая компания на это пойдёт, поскольку скорее всего в наличии не будет достаточного количества специалистов, готовых приступить сразу к работе, либо нет подобного опыта работы, что тоже очень важно, ибо может сложиться следующая ситуация: «первый блин комом». Вообще, с этим нужно быть очень осторожным, ведь Вы доверитесь компании, а она в конце может пожать плечами и только извиниться, а Вы многое из-за этого потеряете, раз пошли на такой шаг.
Если Вам действительно нужен будет такой подход, то обязательно разузнайте у компании подрядчика, сколько ранее ей удалось таким способом реализовать проектов? Сколько из них успешно вписалось в поставленные сроки? Как они себе видят реализацию в сжатые сроки? Чем аргументируют свой успех? Какие штрафные санкции предусматривают? И пока Вы на 100% не поверите им, лучше не начинать.
Один раз заплатил за разработку, а потом все время пожинаешь плоды?
К сожалению, это не так. Мало того, что обычно успешные проекты состоят как минимум из нескольких версий, так как сразу все придумать наперед, во-первых, очень трудно, и это нормально, а во-вторых в ходе выпущенного проекта также нужно собирать отзывы от пользователей, которые всегда просят что-то слезно изменить или добавить, а к их советам лучше прислушиваться. Но также, ещё есть обязательные доработки приложений под обновляемые ежегодно версии мобильных операционных систем Android, iOS, Windows Phone & Mobile и выпускаемые новые гаджеты.
Обновления, конечно, незначительные, но все же их нужно проводить, так как чаще всего некоторый функционал на новых версиях и устройствах работает не корректно.
Причины необходимости ежегодных обновлений под новые версии платформ:
Также, есть ещё один заманчивый и желательный список периодически появляющихся доработок: это новые технологии, которые жаждут все продвинутые пользователи видеть в каждом приложение. Например, появление ранее опции Touch ID, которая позволяет с помощью отпечатка пальца входить в приложение без ввода пароля вручную, также это подтверждение с помощью неё операций, будь то финансовых либо интеграционных. И это очень безопасно.
Продолжая пример, причиной желательных обновлений может стать, вывод частичного интерфейса в зону уведомлений, на рабочий стол, на боковые плоскости экрана (Samsung S7 edge), возможность открываться вторым окном на новых моделях iPad, либо используя технологию 3D Touch, а также дополнив основное приложение расширением на умных часах (Smart Watch).
Как видно, список этот можно продолжать ещё долго и чем больше будет внедрено подобных «фич», тем больше пользователей можно «усадить» на своё приложение. Все эти улучшения не только влияют на расширение количества аудитории, но и на увеличение показателей вовлеченности и частоты использования. Ведь это действительно круто – вызвать в два тапа на iWatch такси Uber, доехать до пункта назначения, ни слова о нем не сказав, просто выйти из машины и пойти дальше по своим делам.
Автор: Ярослав Борщов
Дирижёр в APPsStudio Group