Разработка мобильных приложений – как клиенту построить диалог с разработчиком, чтобы получить объективную оценку?

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

Как показывает практика, большинство компаний в такой ситуации выполняет следующие действия:

1) руководство компании / отдел маркетинга / специалист, которому поручена данная задача, изучает мобильные приложения по данной тематике, выбирая наиболее приближенные к тому, что необходимо разработать, с точки зрения дизайна и функционала;

2) готовится краткое текстовое описание функционала мобильного приложения;

3) подготовленная информация рассылается компаниям, которые специализируются на мобильной разработке, с просьбой дать «вилку» по стоимости и срокам реализации такого проекта, после чего выбираются несколько компаний, оценка которых «понравилась», и с ними начинается более детальный диалог: проводятся личные встречи или скайп-созвоны, уточняются детали и т.д. до выбора одной компании-разработчика, с которой в результате заключается договор на выполнение данных работ.

Но почему возникает ситуация, когда на основании одного и того же описания разные компании дают оценки, отличающиеся в несколько раз? Условно, одна компания дает оценку 700-800 тыс.руб. и срок разработки 6-7 месяцев, вторая – 1,5-1,8 млн руб. и срок разработки 8-10 месяцев, а третья – 2,5-3 млн руб. и срок разработки – 9-12 месяцев? И кому в такой ситуации довериться: если той компании, которая дала максимально низкую ценовую оценку – не возникнут ли «подводные камни» при разработке и не увеличится ли цена в 3-4 раза относительно той, которая была заявлена изначально? А если той компании, которая дала максимальную ценовую оценку – не получится ли в итоге, что переплатили просто так?

Далее нам предстоит ответить на 2 вопроса: на основании каких факторов IT-компании дают свою оценку и каким образом можно так выстроить диалог с компанией, чтобы сделать эту оценку максимально объективной (ключевое слово – максимально: мобильные приложения – сложный наукоемкий продукт, и полностью гарантировать отсутствие сложных моментов в ходе дальнейшей работы не получится).

Какие факторы оказывают влияние на формирование оценки стоимости разработки мобильного приложения

Здесь надо понимать, что эти факторы могут носить как объективный характер (они одинаковы для всех компаний с точки зрения формирования оценки), так и субъективный (какие-то компании могут их учитывать или не учитывать или оценивать по-разному, что и оказывает влияние на разницу в стоимости и сроках на стадии предварительной оценки).

1. Количество экранов мобильного приложения

На стадии предварительной оценки оно оценивается примерно: 3-5, 8-10, 15-20. Логично, что чем больше экранов мобильного приложения предстоит сверстать – тем больше объем работы у frontend-специалиста.

2. Наличие специфического функционала

Различного рода конструкторы, конфигураторы, построение таблиц и графиков на основании каких-либо данных – всё это требует достаточно высокого уровня знаний и профессионализма и затрат рабочего времени.

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

4. Автономность работы приложения – запросы пользователей обрабатывает сама система или есть оператор со стороны заказчика приложения, который принимает эти запросы и обрабатывает их? Оба алгоритма работы имеют свою специфику и оказывают влияние на итоговую стоимость.

5. Операционные системы, на которых должно работать приложение – написать мобильное приложение только для iOS проще, чем для Android, iOS и Windows: отличается объем в плане верстки по причине разницы в разрешении экранов мобильных устройств, отличаются языки программирования, используемые при разработке.

6. Языки программирования тоже значительно влияют на стоимость разработки: есть нативные (ориентированные на написание кода для конкретной операционной системы) языки, например SWIFT для Ios, Javaдля Android, а есть языки программирования, которые позволяют написать мобильное приложение одновременно и для Android, и для iOS– ReactNative, Flutter, Ionic, Xamarin, FhoneGap (кросс-платформенные фреймворки). Использование кросс-платформенных фреймворков, с одной стороны, может уменьшить стоимость разработки, если будут использоваться стандартные элементы из их библиотек, или на стороне приложения присутствует относительно несложная бизнес-логика; с другой стороны, если планируется дальнейшая кастомизация мобильного приложения или использование внутренних функций, которые различаются на телефонах с iOSи Android, то использование данных технологий, наоборот, приведет к удорожанию разработки.

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

- приложение не будет помнить сохраненные не на сервере данные, например, может каждые 24 часа запрашивать заново пароль;

- без доступа к Интернету такое приложение не даст возможности пользователю посмотреть какие-либо данные (полноценное мобильное приложение в отсутствие Интернета оставляет пользователю возможность смотреть данные, сохраненные в клиентской части приложения – например, историю заказов);

- при возникновении проблем с web-сайтом эти проблемы автоматически будут распространяться и на работу приложения.

8. Наличие у компании опыта разработки такого вида приложений

Субъективный фактор: если у компании уже есть такой опыт, то она сможет оптимизировать бизнес-процесс и за счет этого уменьшить свои трудозатраты и, как следствие – сроки и стоимость.

9. Наличие свободных производственных мощностей

Тоже субъективный фактор: если у компании в данный момент отдел мобильной разработки загружен менее чем на 75% - скорее всего она будет готова уступить в стоимости, чтобы получить загрузку для своих исполнителей.

10. Маркетинговая или имиджевая составляющая

Мобильное приложение – достаточно сложный для разработки продукт, и компания для того, чтобы запустить направление мобильной разработки, должна проделать достаточно серьезную работу: нанять и при необходимости обучить соответствующих специалистов, разработать тестовые приложения, потратить время и рекламные средства на то, чтобы начать позиционировать себя как компанию, которая занимается разработкой мобильных приложений (это не разработка веб-сайтов или интернет-маркетинг, с которыми в этом плане всё несколько проще). Поэтому ниже определенной цены за разработку мобильного приложения IT-компания не может себе позволить осуществлять продажи данного продукта. Опять же, эта составляющая субъективна и зависит от конкретной компании.

 

Как получить объективную оценку стоимости разработки мобильного приложения и избежать значительного увеличения ее стоимости уже на стадии работы?

1. Заказать отдельно написание технического задания и разработку дизайн-макета приложения

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

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

Чем более детальным будет такое обсуждение, чем больше вопросов будет задано по каждому абзацу техзадания и каждому экрану чернового макета – тем ниже вероятность того, что уже в ходе разработки выяснится, что в итоге что-то не учли, и приходится пересматривать сроки и обсуждать увеличение стоимости проекта.

3. Попросить предоставить Вам примеры или презентации уже разработанных компаниями мобильных приложений

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

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