8 (800) 550-38-19

Непредвиденные расходы при разработке приложения

Аналитика

Разработка

14.06.2022

Непредвиденные расходы при разработке приложения

О незапланированных расходах и причинах их возникновения рассказывает Наби Ибатуллин, руководитель направления мобильной разработки в Neti Mobile.

Почему возникают непредвиденные расходы

Я выделяю три причины появления таких трат:

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

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

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

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

На каком этапе можно понять полную стоимость разработки

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

конус неопрделенности

На начальном этапе уровень неопределенности высокий, соответственно, и диапазон стоимости больше — вплоть до 10-кратного разбега. Чем лучше проработаны требования, прототип, дизайн, тем меньше диапазон итоговой стоимости работ.

Обычно итоговая стоимость меняется не более чем на 20% от изначально озвученной цены. Есть и исключение – если во время разработки клиент добавляет новые функции. В таком случае предугадать финальную стоимость невозможно.

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

Как избежать ненужных трат

Ошибка — внедрять все и сразу. Чтобы избежать лишних трат, нужно расставить приоритеты: какие функции действительно нужны, а какие могут не пригодится.

Например, клиент хочет получать статистику использования софта. Модуль статистики стоит дорого, и на начальном этапе неясно, какие метрики исследовать – количество посещений, популярные разделы приложения или что-то другое. Такой модуль полезен для владельца приложения, но не на этапе запуска программы.

Для внедрения функции нужны анализ и четкое понимание. Для этого мы используем разные методики оценки приоритетов, в том числе RICE.

RICE

RICE — это метод приоритезации идей и оценки функций продукта. Аббревиатура включает 4 фактора:
Reach — охват: сколько пользователей будут использовать функцию.
Impact — влияние: оценивается по шкале от 1 до 3.
Confidence — уверенность в оценке охвата, влияния и трудозатрат: измеряется в процентах.
Effort — трудозатраты в часах.

Все значения являются предполагаемыми. А фактор Confidence показывает, насколько эксперт уверен в точности своих предположений.

таблица

В этом случае видим, что самая высокая оценка у требований №1 и №3. Значит, будем внедрять их.

У нас был заказчик, который хотел реализовать в одной из первых версий приложения оплату через Apple Pay / Google Pay. Нам удалось убедить клиента, что на начальном этапе неизвестно, будут ли пользователи оплачивать покупки внутри приложения. Проще и дешевле реализовать оплату по ссылке через сайт. Систему мобильных платежей можно добавить и позже.

Еще пример. Мы создавали приложение-планировщик графика работы. Изначально заказчик просил создать временные слоты для записи – с 9:00 до 12:00 и с 16:00 до 18:00. Позже выяснилось, что нужно разделить рабочие дни специалистов на четные и нечетные, что повлияло на сложность и время разработки. Соответственно, изменилась стоимость работы.

Часто встречающиеся расходы


1. Интеграция с SMS-сервисом. Для функции отправки SMS нужна интеграция с платным сервисом — это оплата подписки или количества отправленных SMS. Плата за хостинг. Если есть серверная часть, нужен виртуальный хостинг или выделенный сервер.
2. Покупка аккаунтов. Аккаунты Google и Apple Developer оплачиваются ежегодно. Оплата техподдержки. Чтобы сервис работал стабильно, нужен аудит. Контроль поможет избежать сбоя в приложении, если обновятся библиотеки или слетит сертификат на хостинге.
3. Сторонние сервисы. Бывает, что для взаимодействия с приложением нужны платные сервисы. Например, карты с географическими данными по координатам.
4. Добавление функций. Новые функции добавляются в ходе разработки, цена работ увеличивается.

Заключение

Стоимость разработки приложения не всегда известна заранее. Но если вы обговорите функционал с исполнителем и четко обозначите пожелания – высокие непредвиденные расходы вам не грозят. В таком случае достаточно заложить бюджет на 20% больше плана на случай форс-мажора.


Запишитесь на бесплатную консультацию

Мы проанализируем ваш проект и дадим индивидуальные рекомендации

Нажимая кнопку, вы соглашаетесь с нашей политикой конфиденциальности

В подарок отправим методичку

puzzle

Просто о сложном: этапы разработки мобильных приложений