Оглавление

    Стоимость разработки программного обеспечения: что на неё влияет и как снизить

    Почему стоимость разработки ПО в одном случае ближе к цене подержанной иномарки, а в другом — к новому спорткару, даже если между программами совсем не так много отличий в плане функциональности и поддерживаемых платформ? Как и в известном кейсе строительства аэропорта Денвера, превысившего изначальный бюджет в два раза, за неоправданным ростом стоимости обычно стоят такие факторы:

    • Низкий уровень проработки технических требований.
    • Нереалистичные сроки, когда вместо полугода разработка занимает пару лет.
    • Отсутствие поэтапных проверок работы и чёткой методики разработки.
    • Неналаженная коммуникация в команде — как между техническими специалистами, так и между разработчиками и руководством.

    Точная оценка стоимости разработки программного обеспечения (ПО) — не только залог того, что компания уложится в бюджет. Это также означает, что на рынок выйдет максимально готовый продукт, который быстрее начнёт приносить прибыль. В этой статье расскажем, как избежать типичных ошибок, какие факторы влияют на стоимость разработки ПО, и как сэкономить, не навредив качеству продукта. Материал подойдёт фаундерам компаний, проектным менеджерам и техническим директорам, которые занимаются разработкой мобильных и веб-продуктов.

    Какие есть виды ПО и как они различаются по стоимости

    Видов ПО существует много. Например, это системное ПО вроде операционных систем и сред программирования; инструментальное, например, трансляторы или компиляторы для разработчиков; прикладное ПО — компьютерные игры или антивирусные программы. Но мы говорим не об этом, а о цифровых продуктах, которыми всё больше людей в мире пользуются каждый день. К 2023 году количество загрузок мобильных приложений достигло 257 миллиардов, а один человек использует около девяти приложений в день.

    Мобильные и веб-продукты выпускаются регулярно, но при этом 62% пользователей предпочитают не скачивать приложение, чтобы завершить покупку. А оставшиеся 38% удаляют его сразу после первой покупки. Это говорит о том, что в мире не так уж много качественных приложений, в которые хочется возвращаться. А значит, стоимость разработки ПО остаётся завышенной, так как не окупается.

    «Работа на удержание пользователя — одна из основных задач ведения бизнеса, поэтому нужно смотреть конкретнее на причины удаления. От них зависят дальнейшие действия.
    Например, люди удаляют приложения из-за плохого качества продукта. Чтобы улучшить его, нужно ужесточать контроль за качеством сборок перед выкладкой в стор; добавить больше аналитики и метрик; ставить жёсткие условия по отказоустойчивости.
    Также пользователи удаляют приложения из-за сложного UX. Чтобы исправить это, нужно составить карту пользователя, определить проблемные места и сценарии; оценить качество аналогичных сценариев у конкурентов.
    Ещё удаляют из-за того, что приложение нужно на один раз. Посмотрите на этих пользователей и определите, чем они отличаются от целевой аудитории вашего продукта. Если продукт проходит мимо конкретной категории людей, то его стоит доработать так, чтобы эта группа видела в нём ценность; либо таких людей можно проигнорировать. Оцените, сколько выручки получит бизнес от поддержки этих пользователей. Например, бизнес не будет тратить средства на поддержку совсем устаревших версий ОС — пользователей там немного и они не окупят потраченные ресурсы.
    Самое главное — помните, что люди не удаляют те приложения, которыми они пользуются на постоянной основе: маркетплейсы, банки, социальные сети. Создавайте продукт необходимым для ежедневного использования.»

    Алексей Рябков, руководитель Android-разработки Surf

    Цифровые продукты можно разделить на четыре вида в зависимости от того, на каких платформах они доступны. Именно о них и поговорим.

    Нативные мобильные приложения

    В чём суть. Нативные приложения создаются специально для одной мобильной платформы (чаще всего iOS или Android). Они пишутся на «родном» языке программирования платформы: Swift для iOS, Kotlin или Java для Android. Эти языки различаются в принципах работы, но каждый из них помогает создавать продукты, которые интуитивно понятны пользователю и демонстрируют максимальную производительность.

    Плюсы и минусы ПО. Нативные приложения меньше ограничены в масштабировании и при грамотной разработке могут выполнять задачи бизнеса десятки лет. Они наиболее эффективно задействуют аппаратные ресурсы устройства, такие как графический процессор и датчики. Это важно для игр, приложений или сервисов со сложной графикой или логикой работы. Стоимость разработки программного обеспечения при нативном подходе будет достаточно высокой, так как нужно создавать отдельный код для разных типов устройств — например, iOS или Android. Если компания хочет выходить на другие платформы, этот фактор стоит сразу учитывать при планировании бюджета.

    Примеры ПО. Множество популярных приложений для iOS и Android созданы с помощью нативных технологий, включая Instagram, Google Maps, Spotify.

    Кроссплатформенные приложения

    В чём суть. Кроссплатформенные приложения создаются с помощью таких фреймворков, как React Native, Flutter или Xamarin. Программы для мобильных платформ, веба и десктопов не создаются отдельно, а используют единую кодовую базу с минимальными изменениями. Сроки и стоимость разработки программного обеспечения на кроссплатформе могут быть значительно меньше, чем при использовании нативных технологий. Такое решение подойдёт для компании с ограниченным бюджетом или когда продукт надо быстро вывести на рынок.

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

    Примеры ПО. Whirlpool при создании приложения для пользователей в Бразилии сократила затраты на разработку на 50%, используя Flutter. Технология позволила переиспользовать 92% кода приложения Compra Centra между платформами и ускорить разработку на 35%.

    Наша команда при работе над приложением для сети аптек «Ригла» использовала Flutter, чтобы создать 6 приложений iOS и Android (для трёх брендов компании) из единой кодовой базы. Так, мы сэкономили около 40% от изначального бюджета заказчика.

    Закажите разработку мобильного приложения на Flutter
    Получите высокую производительность и современный дизайн, сэкономив ресурсы
    Подробнее

    Десктопные приложения

    В чём суть. Десктопные приложения созданы для работы под управлением операционных систем Windows, macOS или Linux. Такие программы в полной мере используют возможности платформы, предлагая более широкие возможности пользователям.

    Плюсы и минусы такого ПО. Преимуществами десктопных приложений являются высокая производительность и возможность реализации сложной функциональности, например, работа с большими объёмами данных, редактирование видео или 3D-моделирование. Главные недостатки: сложность разработки и ограниченный охват аудитории (из-за привязки к конкретной платформе и требований к «железу»). Стоимость разработки программного обеспечения на заказ для десктопа высока, особенно если приложение создаётся для нескольких платформ.

    Примеры ПО. Microsoft Word, Adobe Photoshop, Slack — к десктопным приложениям относятся все те, что созданы специально под одну или несколько операционных систем: Windows, macOS и Linux.

    Веб-приложения

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

    Плюсы и минусы такого ПО. Главное достоинство веб-приложений — минимальные требования к платформе пользователя и простота обновления. Разработчики могут сэкономить на дистрибуции и поддержке, а пользователи всегда используют последнюю версию приложения. Минусы: работа веб-приложения целиком зависит от стабильности интернет-соединения, а функциональность ограничена возможностями браузера. Они также не предоставляют такого уровня интерактивности и производительности, как нативные или кроссплатформенные решения.

    Примеры ПО. Среди популярных приложений, которые работают прямо в браузере: Google Docs, Trello, Canva.

    Что ещё влияет на стоимость ПО: этапы разработки

    Поговорим о том, какие задачи и как влияют на стоимость разработки программного обеспечения.

    1. Бизнес-анализ: помогает определить, «выстрелит» ли продукт

    В чём суть. Детальный бизнес-анализ — первый и один из самых важных этапов создания программы. Благодаря ему компания сможет точнее оценить, насколько востребован продукт, и за счёт каких функциональностей он сможет быть конкурентоспособным. Ошибки или недооценка здесь могут привести к существенному увеличению стоимости разработки в дальнейшем.

    Этап состоит из следующих шагов:

    • Исследование конкурентов и потребностей целевой аудитории.
    • Составление технического задания из специфических требований к продукту на основе анализа технологий и функциональностей.
    • Создание спецификаций, которые включают функциональные и нефункциональные требования к продукту.
    • Определение потенциальных рисков, связанных с реализацией проекта, и разработка стратегий их минимизации.

    Как ускоряет разработку и сокращает расходы. Например, при создании приложения для сервиса «Моя смена», наша команда провела всесторонний бизнес-анализ, включающий аудит дизайна существующего приложения, исследование пользовательского пути и оценку четырёх решений конкурентов. Это позволило выявить эффективные и проблемные решения в их интерфейсах. На основе полученных данных мы разработали функциональный дизайн приложения с более чем 30 экранами и улучшенным UI/UX, сократив и упростив пользовательский путь. Клиент отметил положительные изменения в интерфейсе и принял наш дизайн-концепт с первого раза без критических замечаний.

    2. UX/UI дизайн: «обёртка», которая создаёт бренд компании

    В чём суть. Работа, проделанная на этапе дизайна, определяет, насколько удобно будет взаимодействие с программой пользователям.

    • Проработка пользовательского опыта (UX) включает исследование целевой аудитории, создание удобной логики и структуры навигации между разделами и экранами приложения.
    • Разработка интерфейса (UI) формирует внешний вид программы, от цветовой палитры до уникальных графических элементов. Инвестиции в качественный UX/UI дизайн на раннем этапе помогает избежать доработок в будущем и добиться высокого показателя удержания пользователей.

    Как ускоряет разработку и сокращает расходы. Этап UX/UI дизайна сокращает стоимость разработки до двух раз. Грамотно продуманный UX/UI и путь пользователя в приложении поможет не перерабатывать дизайн с нуля после релиза приложения, когда пользователи начнут жаловаться в отзывах.

    Здесь важно найти баланс: больше экранов и элементов → сложнее дизайн → больше времени и ресурсов на его создание. Дизайн с использованием стандартных шаблонов, конечно, дешевле, но он не будет выделять компанию на фоне конкурентов. Кастомный дизайн с уникальными анимациями стоит дороже, но создаёт дополнительную ценность для пользователей, улучшая их впечатления от продукта и помогая возвращаться в приложение.

    Пример. При редизайне приложения LOVE REPUBLIC мы изначально обсудили с заказчиком концепцию приложения: продумали путь пользователя, его ожидания от магазина и цифрового приложения. Поняли, что покупательницы хотят не просто удобное приложение — это должен быть стильный журнал и в то же время магазин в кармане. Покупательницы хотели делать заказ за пару минут и заглядывать в приложение за новыми подборками образов.

    Мы спроектировали главный экран как глянцевую обложку журнала, отражающую стиль бренда. Учли каждую деталь от уровня взаимодействия до уровня вёрстки: размер элементов, удобство их кликабельности и видимости; аккуратность вёрстки, цвет, визуальные акценты, удобство пути пользователя.

    Затем внедрили кликабельные видеобаннеры и сториз, как будто покупательница заходит в социальную сеть и листает новости компании. Внутри каталога собрали капсульные образы, которые можно сразу добавить в корзину. Для контент-менеджеров и маркетологов добавили возможность менять визуальные компоненты приложения через бэкенд, чтобы адаптировать контент к текущим бизнес-целям. В результате конверсия в покупку выросла в 2 раза, а общая доля покупок через приложение достигла 30%.

    3. Разработка: подбираем инструменты с умом

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

    Как сокращает стоимость разработки ПО. Использование современных, но хорошо зарекомендовавших себя технологий (к примеру, React Native и Flutter, если говорить о кроссплатформах), помогает ускорить процесс разработки и оптимизировать стоимость программного обеспечения. Так, при создании финтех-приложения SellPlus выбор Flutter позволил нам сократить сроки разработки до 4 месяцев, так как приложения для iOS и Android используют единую кодовую базу. Уже после первого релиза проект получил положительные оценки и завоевал «бронзу» в номинации «Лучшее приложение финансовой / страховой компании» Tagline Awards 2024.

    Разработайте несколько приложений под ключ за 6 месяцев
    Получите 2 приложения по цене одного
    Узнать больше

    4. Тестирование: платим сейчас, экономим потом

    В чём суть. Тестирование приложения направлено на всестороннюю оценку приложения и помогает обеспечить его стабильность, безопасность и удобство использования. Процесс включает в себя следующие подтипы тестирования:

    • Функциональное — проверка работы всех функций.
    • Нефункциональное — оценка производительности, безопасности и совместимости, удобства использования.
    • Регрессионное — проверка, насколько новые изменения «ломают» имеющуюся функциональность.
    • Интеграционное — оценка взаимодействия компонентов.
    • Юнит-тестирование — проверка отдельных частей кода.
    • Тестирование установки и удаления.

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

    При обновлении мобильного приложения для Бургер Кинга мы не только разработали и добавили новые функциональности (такие как чаевые и отзывы), но и наладили регулярное тестирование и рефакторинг. Процесс поддержки кода приложения включает:

    • Обновление и проверку актуальности библиотек, чтобы не допустить сбоев.
    • Юнит-тесты — проверка каждого изменённого участка кода до релиза в сторы.
    • Автотесты каждой сборки приложения для экономии ресурсов на выявление ошибок.

    Результатом тестирования стало повышение стабильности приложения до 99,9%, что обеспечило практически полное отсутствие сбоев. Приложение получило золото в номинациях «Приложение бренда» и «Торговля и услуги» в Рейтинге Рунета 2024 и 4 награды на IX премии «Золотое приложение».

    5. Запуск и поддержка: игра вдолгую

    В чём суть. После релиза работа над продуктом продолжается. Можно выделить три основные зоны сопровождения приложения:

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

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

    Как ускоряет выпуск продукта и сокращает расходы. Сопровождение приложения уменьшает технический долг и снижает риски массовых сбоев и дорогостоящих исправлений. Регулярное обновление и поддержка последних версий платформ и технологий также упрощает интеграцию новой функциональности.

    Некоторые из наших проектов мы продолжаем поддерживать уже несколько лет, отслеживая работу приложения и его показатели, например, обновленные приложения для LOVE REPUBLIC и Бургер Кинга. Качественная поддержка означает быстрое исправление ошибок и багов, постоянную работу над улучшением продукта. Это поможет удерживать имеющихся клиентов и привлекать новых через положительные отзывы в сторах.

    Неочевидные расходы: сложные фичи и опыт команды

    Стоимость разработки программного обеспечения определяют в первую очередь следующие особенности проекта.

    Сложность механик и интеграций

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

    Однако внедрение второстепенных функций зачастую оправдано. Так, при разработке нового приложения Бургер Кинга мы внедрили механику опросов и сервис «Нетмонет» для чаевых. Это повысило стоимость разработки программного обеспечения, но позволило гиганту фастфуд-сегмента качественно собирать обратную связь по онлайн-заказам, повышая лояльность клиентов и мотивацию курьеров. После релиза нового приложения конверсия перехода в корзину повысилась на 3,6% у старых пользователей и на 2,8% у новых.

    Квалификация команды и модель сотрудничества

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

    Выбор модели сотрудничества также влияет на стоимость разработки. Фрилансеры зачастую дешевле штатных сотрудников, однако их вовлечённость и уровень качества могут быть ниже.

    Местоположение разработчиков

    География команды разработчиков сильно влияет на стоимость разработки ПО. Так, средняя цена часа написания программы на заказ может отличаться в 3–4 раза между США и странами Восточной Европы и Азии. Сотрудничество с командами из разных регионов позволяет сбалансировать расходы. Например, ключевые задачи можно доверить более дорогостоящим местным специалистам, с которыми возможны очные встречи, а менее критичные аспекты проекта отдать аутсорсинговым командам в регионах с более доступными ценами на разработку.

    Использование передовых технологий

    Включение в проект технологических новинок и последних трендов может как увеличить, так и оптимизировать стоимость разработки ПО. Облачные платформы (такие как AWS или Azure) помогают снизить затраты на инфраструктуру, обеспечивая гибкость и масштабируемость. Так, чтобы адаптироваться к стремительному росту числа пользователей с 10 до 300 миллионов во время пандемии, в Zoom использовали гибридную инфраструктуру, объединяющую собственные дата-центры и ресурсы облачных провайдеров, таких как AWS и Oracle Cloud. Дата-центры обеспечивали экономную базовую мощность, а облако позволяло быстро масштабироваться в часы пиковой нагрузки.

    PWA (прогрессивные веб-приложения) также являются популярным выбором среди стартапов, так как позволяют с ограниченным бюджетом быстро вывести приложение на рынок. При этом они используются и крупными брендами, чтобы улучшить доступность своих сервисов. Например, Uber предлагает PWA как альтернативу нативному приложению: размер PWA составляет всего 50 кБ, что позволяет его скачать через сеть 2G менее чем за три секунды.

    Крупные компании зачастую инвестируют в передовые технологии, такие как искусственный интеллект и машинное обучение. При этом наибольшую трансформацию ИИ сулит в четырёх сферах: взаимодействие с клиентами, маркетинг и продажи, разработка ПО и Research & Development (до 75% от общего вклада генеративного ИИ в экономику). Хотя эти решения требуют значительных ресурсов для создания и внедрения, они обеспечивают конкурентноепреимущество и долгосрочный потенциал развития цифровых продуктов.

    Например, образовательная платформа Quizlet использует ИИ для создания персональных планов занятий, анализируя успеваемость пользователей, определяя их сильные и слабые стороны и генерируя карточки, тесты и викторины. А DJ AI от Spotify формирует плейлисты, адаптированные к предпочтениям и настроению пользователя, сопровождая их голосовыми комментариями о выбранных треках или исполнителях — почти персональный радиоведущий.

    В наших проектах мы всегда внедряем новые технологические решения, если надёжность и эффективность оправдывают их использование. Так, при разработке мобильного приложения для банка ЗЕНИТ мы задействовали Remote Config для эффективной синхронизации работы нашей команды разработчиков с командой бэкенда. Как это работает: мы разрабатываем новую функциональность, банк настраивает бэкенд для неё, и затем мы совместно проводим тестирование, чтобы убедиться в корректности работы. После этого новая механика становится доступной всем пользователям. Инструмент даёт возможность вносить изменения или добавлять новые механики без необходимости обновлять всё приложение и дожидаться его загрузки в сторах.

    Стоимость разработки ПО: не технологиями едиными

    Стоимость разработки программного обеспечения определяется множеством факторов, включая тип приложения, сложность и функциональность, используемые технологии, квалификацию команды и её географическое расположение. Перед разработкой ПО продумайте следующие аспекты:

    • Поставьте реалистичные сроки. Выберите дату релиза, которая не только устраивает руководство и отвечает потребностям бизнеса, но и позволяет сделать максимально качественное программное обеспечение с учётом выбранных технологий и функциональностей.
    • Определитесь с размером команды и моделью сотрудничества. Так, при кроссплатформенной разработке можно обойтись минимальным числом разработчиков при максимальном покрытии платформ, а использование определённых интеграций или технологий потребует найма эксперта в этой области. Если создание приложения — разовая история для компании, сотрудничество с командой на аутсорсе будет более выгодным, чем набор нескольких разработчиков в штат.
    • Составьте детальное ТЗ с чёткими требованиями. Опишите все пользовательские сценарии, функциональности приложения, используемые технологии и интеграции, целевые метрики и показатели, которые в дальнейшем помогут оценить качество продукта.

    Если хотите узнать, сколько стоит сделать программу для вашей компании — свяжитесь с нами. У нас более 13 лет опыта создания ПО для компаний-лидеров в банкинге, ритейле, фудтехе, медиа и других сферах. Всего за неделю мы проведём исследование рынка и предложим решения по проекту приложения, дизайну и техстеку под ваши цели. Такое детальное предпроектное исследование позволит избежать перерасхода бюджета и обеспечит успешный вывод продукта на рынок.