Surf
Обсудить проект

Метрики качества ПО и целевые показатели проекта: за чем следить и как ими управлять

Метрики ПО

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

Метрики разработки успешного ПО

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

Метрики оценки эффективности разработки

Lead time показывает, сколько времени проходит от постановки задачи до её завершения и вывода изменений в продакшен. Чем быстрее команда переводит задачи из статуса «в работе» в статус «готово», тем эффективнее и гибче выстроен процесс разработки. Это позволяет оперативно реагировать на меняющиеся требования проекта.

При этом важно поддерживать баланс между скоростью и качеством, не ухудшая пользовательский опыт ради низкого lead time. Улучшить эту метрику в программировании помогают Agile и Scrum-методологии разработки, а также внедрение CI/CD (непрерывной интеграции и доставки) для автоматизации развёртывания приложения.

Deployment frequency — частота релизов отражает, как часто обновления кода переходят в продакшен. Высокое значение этого целевого показателя говорит, что компания умеет оперативно реагировать на изменения рынка и требования бизнеса, а также исправлять бреши в безопасности и недоработки в коде. В идеале, команды с высокой частотой релизов могут выпускать обновления несколько раз в неделю. Чтобы повысить частоту релизов, полезно:

  • Разделять крупные задачи на небольшие инкрементальные таски.
  • Использовать feature toggles для скрытия не до конца имплементированных фич.
  • Внедрять автоматические тесты для быстрой проверки новых релизов.

Code coverage — процент кода, покрытого тестами на предмет ошибок и багов. Высокий показатель снижает вероятность появления ошибок у пользователей. Повысить эту метрику проекта можно с помощью внедрения методологии TDD (Test-Driven Development). Перед созданием новой функциональности программы сначала пишется тест, который проверяет корректность кода и совмещения ручного и автоматического тестирования.

аудит кода приложения-1

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

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

Bug Fix Rate — скорость исправления багов. Метрика показывает, насколько оперативно команда устраняет ошибки в ПО. Слишком высокий показатель может затянуть сроки разработки или сорвать релиз. Для сокращения bug fix rate важно:

  • Внедрить систему приоритизации ошибок, классифицируя их по уровням важности.
  • Автоматизировать мониторинг с использованием Sentry, New Relic, Datadog и других инструментов, чтобы быстрее выявлять и отслеживать баги.
  • Проводить регулярные post-mortem сессии для анализа причин ошибок и обсуждения улучшений.

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

Crash-Free Users (%), или отказоустойчивость — метрика проекта, отражающая процент пользователей, которые не столкнулись со сбоями приложения. Чем выше этот показатель, тем лучше стабильность и надёжность продукта. А это напрямую влияет на пользовательский опыт.

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

обновление приложения Бургер Кинга

Эту метрику качества ПО можно улучшить с помощью рефакторинга кода. Так, когда мы приступили к редизайну приложения Бургер Кинга, показатели отказоустойчивости приложения на устройствах iOS и Android составляли около 98%.

Это означало, что примерно два пользователя из ста сталкивались с ошибкой в работе приложения. Такой показатель был неприемлем для продукта с 250 тысячами ежедневных пользователей. Сервисы аналитики помогли выявить ошибки, в том числе ошибку в формате времени и добавления адреса доставки. Результат работы: обновлённое внешнее приложение с новыми механиками и повышение стабильности приложения до 99,29% на Android и 99,99% на iOS.

Mean Time Between Failures (MTBF) — показывает среднее время между инцидентами отказов программы. Чем выше эта метрика качества продукта, тем надёжнее работает приложение. Для повышения MTBF есть несколько стратегий:

  • Использовать отказоустойчивую архитектуру с микросервисами и системами резервирования. Сюда же относится внедрение балансировки нагрузки — равномерного распределения трафика по ресурсам программы.
  • Проводить регулярное нагрузочное тестирование (load testing). Это помогает выявлять «узкие» места в системе и оценить производительность в различных сценариях использования.
  • Интегрировать практики DevOps и наблюдаемости (observability). Это даёт более глубокое понимание работы системы в реальном времени, позволяет оперативно исправлять обнаруженные проблемы и улучшать процессы развёртывания и мониторинга.

Mean Time to Repair (MTTR) — метрика отражает среднее время восстановления системы после сбоя. Напрямую демонстрирует способности команды быстро выявлять и устранять проблемы.

Для снижения MTTR важно автоматизировать процессы восстановления, например, автомасштабирование и self-healing (код, который способен сам выявлять и устранять ошибки). Регулярные тренинги по устранению инцидентов и чёткая стратегия инцидент-менеджмента помогут команде минимизировать негативные последствия деградации сервиса и сократить время простоя. Небольшие и частые релизы также приведут к быстрой идентификации и решению проблем.

За 6 месяцев создадим приложение

Разработаем кроссплатформенное приложение для Android и iOS с отказоустойчивостью до 99,99.

Узнать больше

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

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

Финансовые и бизнес-метрики

Cost Per Install (CPI) — стоимость привлечения одного пользователя через рекламные кампании. Для снижения CPI важно:

  • Оптимизировать рекламные кампании с помощью A/B тестирования.
  • Развивать органические каналы привлечения новых пользователей, такие как SEO и ASO (App Store Optimization).

Customer Acquisition Cost (CAC) — показатель затрат на привлечение одного клиента. Уменьшить CAC помогают:

  • Оптимизация маркетинговой стратегии и таргетинга.
  • Запуск реферальных программ для пользователей.

Customer Lifetime Value (LTV) — ожидаемая выручка от одного клиента за всё время взаимодействия с продуктом. Повысить LTV можно с помощью:

  • Улучшения качества продукта и клиентского сервиса.
  • Внедрения программы лояльности.
  • Персонализации взаимодействий с клиентами.

Monthly Recurring Revenue (MRR) — ежемесячный регулярный доход, который особенно важен для подписных моделей бизнеса. Увеличение MRR достигается:

  • Введением новых тарифных планов и дополнительных услуг.
  • Работой над удержанием клиентов (retention-кампании, бонусы за продление подписки).
  • Грамотным повышением цен с учётом ценности для пользователей.

Conversion Rate (%) — процент пользователей, совершивших целевое действие (регистрация, покупка, подписка). Для повышения конверсии важно:

  • Оптимизировать пользовательский путь с помощью сокращения количества шагов до целевого действия.
  • Проводить A/B тестирование интерфейса и предложений.
  • Использовать триггеры вовлечения, такие как геймификация, push-уведомления и скидки на первый заказ.
Редизайн приложения LOVE REPUBLIC

Например, когда мы работали над обновлением мобильного приложения для LOVE REPUBLIC, учли разные пользовательские пути. Например, проследили добавление товара из избранного или каталога и разные варианты доставки и способы оплаты. На основе исследования усовершенствовали каталог, чтобы пользователи могли проще и быстрее завершать заказы. В результате редизайна приложения конверсия в покупку увеличилась в 2 раза, а доля покупок через приложение достигла 30%.

Метрики пользовательского опыта (UX/UI)

Retention Rate (%) — коэффициент удержания отражает долю пользователей, продолжающих пользоваться приложением через определённое время после установки. Для повышения этой метрики проекта важно:

  • Создавать персонализированный контент на основе интересов пользователя.
  • Подталкивать вернуться в приложение через push-уведомления и другие каналы. Главное, не переборщить с количеством таких подталкиваний.

Net Promoter Score (NPS) — показатель лояльности пользователей, отражающий их готовность рекомендовать продукт. Улучшить NPS помогают:

  • Сбор обратной связи, вовлечение пользователей в работу над продуктом.
  • Быстрое реагирование на запросы клиентов. Поддержка за пару минут напрямую влияет на лояльность.

Churn Rate (%) — процент пользователей, переставших использовать приложение. Чтобы снизить отток пользователей, стоит:

  • Анализировать обратную связь и устранять выявленные проблемы.
  • Развивать программы лояльности и персонализированные предложения.
  • Работать над улучшением дизайна и пользовательского опыта.

Average Session Duration — показывает, сколько времени пользователь проводит в приложении за одно посещение. Увеличить среднюю продолжительность можно с помощью:

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

Screens per Session — среднее количество экранов приложения, просмотренных пользователем. Для повышения этого целевого показателя важно:

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

Bounce Rate (%) — процент пользователей, покидающих приложение сразу после входа. Улучшение первых экранов приложения, ускорение их загрузки и оптимизация производительности влияют на эту метрику и снижают отток пользователей.

Обновление приложения банка «Зенит»

Мы знаем случаи, когда нарушение порядка элементов в карточке принесло 28 млн руб. убытка магазину одежды за месяц. Но при этом знаем примеры, когда оптимизация пользовательского флоу и добавление полезных функциональностей повышали активность пользователей. Например, наше обновление приложения для банка «ЗЕНИТ» не только подняло программу в авторитетном рейтинге мобильных банков, но и увеличило активность пользователей в приложении на 20%.

Проведём аудит дизайна приложения за 5 рабочих дней

Дадим рекомендации по развитию и улучшению ключевых метрик.

Подробнее

Как выбрать метрики для проекта

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

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

  • Определите цели. Это может быть рост аудитории, увеличение выручки или повышение лояльности. От понимания задач бизнеса зависит выбор ключевых метрик проекта, которые предстоит отслеживать для принятия стратегических решений.
  • Отталкивайтесь от ниши бизнеса. Например, в игровой индустрии ключевую роль играют Retention Rate и вовлечённость платящих пользователей, а финансовые сервисы ориентируются на долгосрочную прибыль и удержание клиентов. Всё это требует отслеживания метрик качества программного обеспечения.
  • Выберите инструменты мониторинга. Использование Google Analytics, Firebase, AppsFlyer и других платформ помогает вести качественный мониторинг поведения пользователей, анализировать метрики KPI и быстро корректировать стратегию продвижения продукта.
  • Регулярно пересматривайте метрики. Список ключевых показателей не должен оставаться неизменным. Оценивайте, насколько текущие показатели важны для бизнеса, добавляйте новые или исключайте нерелевантные показатели.

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

[ обратная связь ]

Расскажите о проекте и мы предложим подходящие решения

напишите нам в Telegram
добавить файл

Отправляя запрос, вы соглашаетесь с политикой конфиденциальности