Оставить заявку на разработку или консультацию
Телефон
Email (необязательно)
Описание проекта (необязательно)
Прикрепите файлы с описанием проекта (необязательно)
Если у вас есть, то можно прикрепить техническое задание, описание проекта или бриф
Нажимая на кнопку "Отправить" вы соглашаетесь с политикой конфиденциальности

Из чего складывает стоимость, цена и бюджет проекта на разработку мобильного приложения на iOS / Android?

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

Из чего складывается общая стоимость проекта?

Разработка любого программного обеспечения требует времени работы команды IT специалистов на проекте.

Поэтому общая стоимость разработки мобильного приложения можно грубо оценить как произведение:
  • Количества специалистов на проекте
  • Количество функций приложения, которые нужно разработать
  • Время работы специалиста над функцией
  • Часовая ставка
    Принцип простой:
    • чем более сложный продукт нужно разработать
    • чем больше в нем функций и сценариев использования
    • тем больше потребуется команда разработки
    • тем больше будут трудозатраты на разработку
    • и, соответственно, итоговый бюджет проекта

    Основная сложность в расчете стоимости разработки?

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

    Какие специалисты обычно участвуют в разработке мобильных приложений на iOS / Android?

    Аналитик
    • Общается с клиентом и уточняет требования по проекту
    • Готовит и согласовывает прототипы приложения
    • Готовит и согласовывает техническое задание
      • которое содержит полное описание требований по проекту
      • со всеми нюансами и особенностями работы мобильного приложения
    Дизайнер
    • Готовит дизайн-концепты дизайна
    • Отрисовывает дизайн всех экранов приложения
    • Отрисовывает иконку / логотип
    Руководитель проекта
    • Общается с клиентом уже во время разработки проекта
    • Формирует и распределяет задачи в рамках этапов работ по проекту
    • Контролирует сроки и прогресс выполнения поставленных задач
    • Организовывает презентации промежуточных версий мобильного приложения для клиента
    • Обрабатывает обратную связь от клиента
      • пожелания
      • замечания
    • Организует выкладку в App Store / Google Play
      • А также отвечает за общение с модераторами и прохождение модерации
    Разработчик мобильных приложений (1-3 на проект)
    • Отвечает за разработку мобильного приложения
    • Программирует логику
    • Делает интерфейс в соотвествии с дизайном
    • Программирует навигацию между экранами приложения
    • Интегрируется с сервером приложения (с API)
    • Делает обработку PUSH уведомлений
    • Устраняет выявленные ошибки / баги в работе приложения
    Разработчик серверных приложений (1-2 на проект)
    • Пишет серверное приложение (или просто сервер)
    • Формирует базу данных приложения (хранилище всей информации в системе)
    • Программирует серверное API (точка интеграции мобильного приложения)
      • А также пишет документацию API
      • Чтобы мобильных разработчикам было понятно, как подключаться
    • Программирует админку (панель управления) системой
      • Чтобы можно было управлять данными в системе
      • Например, блокировать пользователей, добавлять информационные страницы, управлять справочниками и т.д.
    • Устраняет выявленные ошибки / баги в работе сервера и админки
    Тестировщик
    • Отвечает за функциональное тестирование мобильного приложения и админки
      • Проверяет каждую задачу, завершенную программистами, на соответствие дизайну, техническому заданию и корректность работы в целом
      • Проверяет всё приложение
        • при завершении каждого этапа работ
        • при выкладке каждого обновления в App Store / Google Play
    • Отвечает за тестирование мобильного приложения на разных устройствах и версиях операционных систем (iOS и Android)
    Ведущий разработчик
    • Отвечает за проектирование программной архитектуры системы
      • Проектирование архитектуры мобильного приложения
      • Проектирование базы данных
      • Проектирование API
    • А также отвечает:
      • за решение наиболее сложных технических вопросов на проекте
      • за помощь с устранением наиболее сложных ошибок / багов в работе системы
    • Проверяет и контролирует качество кода на проекте
    Технический директор
    • Курирует техническую часть проекта
    • Контролирует
      • Архитектурные решения
      • Корректность решения сложных технических вопросов
      • Качество реализации проекта в целом

    Что такое "часовая ставка"?

    Часовая ставка - это стоимость за час работы специалиста.

    Как определяется время, необходимое специалисту для работы над проектом?

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

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

    На какие этапы делится разработка мобильного приложения (iOS / Android)?

    1
    Предпроектная работа
    Этап предварительного обсуждение и оценки стоимости и сроков разработки проекта:
    • Общение с клиентом
    • Предварительный сбор требований
    • Подготовка предварительной оценки бюджета и сроков
    • Уточнение требований и обновление оценки
    • Согласование с клиентом
    2
    Аналитика и дизайн
    Обычно начинается после подписания договора. Основная задача - составить понятные и полные требования по разработке проекта:
    • Понять, какие функции и сценарии использования нужно реализовать в приложении
    • А также что НЕ нужно реализовывать
    • Согласовать интерактивный прототип приложения:
      • макеты интерфейса экранов
      • навигация между экранами приложения
    • Написать техническое задание - большой документ, содержащее полное описание всех требований по разработке проекта.
      • Позволяет клиенту быть уверенным в том, что будет сделано всё, что ему необходимо
      • А разработчику позволяет быть уверенным в том, что не придется делать лишнюю работу, которую клиент мог "подразумевать", но ранее не высказать явно
    3
    Мобильная разработка
    Этап разработки мобильного приложения может быть запущен, когда готов дизайн и техническое задание. Включает:
    • Верстка интерфейса приложения
    • Реализация навигации между экранов
    • Программирование логики
    • Интеграция серверного API
    4
    Серверная разработка
    Этап серверной разработки обычно идет параллельно мобильной разработке. Включает:
    • Разработка Базы данных
    • Разработка серверного API
    • Написание документации API
    • Разработка Админки (панели управления системой)
    • Интеграция со сторонними система:
      • Интернет-эквайринг
      • CRM
      • 1C и т.д.
    5
    Публикаця в App Store / Google Play
    Публикация в App Store / Google Play происходит после завершения разработки. Включает:
    • Регистрация в App Store / Google Play
    • Подготовка страниц приложений в App Store / Google Play
    • Подготовка и загрузка скриншотов
    • Выкладка билдов
    • Прохождение модерации
    6
    Поддержка и развитие
    • Устранение багов и ошибок
    • Подготовка страниц приложений в App Store / Google Play
    • Дополнительная разработка новых функций по новым пожеланиям от клиента

    Какой процесс работы команды разработчиков над каждой задачей при разработке мобильного приложения для iOS / Android?

    Каждый специалист в команде работает над каждой задачей в проекте в той или иной мере.

    Поэтому подготовка реалистичной оценки стоимости и сроков разработки мобильного приложения очень сложна и объемна.

    Так как нужно понять, сколько времени потратит КАЖДЫЙ специалист на проекте на работу над КАЖДОЙ функцией мобильного приложения.

    Процесс работы команды по разработке мобильного приложения для iOS и Android

    На примере реализации функции "Авторизация".
    1
    Аналитик
    Выясняет у клиента, что для авторизации в приложении нужно делать авторизацию по номеру телефона и коду из смс (а не по логину и паролю, не по email и паролю, не по email и коду и т.д.).
    2
    Аналитик
    Рисует прототипы двух экранов приложения: экран для ввода номера телефона и экран для ввода кода подтверждения из смс.
    3
    Дизайнер
    Рисует дизайн этих экранов "в цвете".
    4
    Аналитик
    Пишет описание этих экранов в Техническом задании (ТЗ).
    5
    Руководитель проекта
    Ставит задачи на разработку функции авторизации в приложении для серверного и мобильного разработчиков.
    6
    Тех. лид
    Проектирует программную архитектуру для сервера и мобильного приложения.
    7
    Серверный разработчик
    Пишет серверные функции приложения для авторизации (отправка СМС с кодом, проверка кода).
    8
    Мобильный разработчик
    Верстает интерфейс мобильного приложения для двух новых экранов.
    9
    Мобильный разработчик
    Подключает функции серверного приложения, реализует логику работы экранов и навигацию между ними.
    10
    Руководитель проекта
    Контролирует ход работ и ставить задачу на тестирование работы новых экранов.
    11
    Тестировщик
    Проверят реализацию новых экранов в соответствии с ТЗ, находит ошибки и/или несоответствия ТЗ.
    12
    Тех. лид
    Проверяет качество написанного кода (Code Review) и используемых программных решений.
    13
    Мобильный и Серверный разработчики
    Вносят корректировки и отлаживают код после тестирования и проверки качества кода.
    14
    Руководитель проекта
    Проводит сдачу реализованных функций клиенту и обрабатывает обратную связь (пожелания и замечания клиента).
    15
    Руководитель проекта
    Повторяет процесс, начиная с пункта 5, для устранения замечания и реализации пожеланий от клиента.