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

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

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

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

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

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

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

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

    • Общается с клиентом и уточняет требования по проекту
    • Готовит и согласовывает прототипы приложения
    • Готовит и согласовывает техническое задание
      • которое содержит полное описание требований по проекту
      • со всеми нюансами и особенностями работы мобильного приложения

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

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

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

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

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

    На какие этапы делится разработка мобильного приложения (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, для устранения замечания и реализации пожеланий от клиента.