Метрики и KPI для web-проектов - миф или необходимость?

Jan 17, 2013 15:22

http://dev.1c-bitrix.ru/community/webdev/user/14686/blog/metriki-i-kpi-dlya-webproektov-mif-ili-neobkhodimost/

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

Пример неразберихи при ответе на вопрос «Как дела?»
Давайте проделаем мысленный эксперимент

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

Этот проект обслуживает группа лиц и них следующие роли:

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

Менеджер со стороны заказчика - взаимодействует с разработчиками и непосредственно рулит всем интернет-проектом. Он же и генератор идей и заявок на развитие функционала.

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

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

Несколько ролей могут быть совмещены внутри одного человека. Разработчики могут быть наняты в штат, либо вся разработка будет заказываться на стороне.

Теперь спросим каждого из них: как дела?

Заказчик: мы продали за месяц 200+ пылесосов, вон в 1С посмотрел отчёты и вроде всё хорошо.

Менеджер: мы продали 200+ пылесосов, есть возвраты. Давайте будем делать новый раздел с видеороликами. На выходных пару раз тупил сайт, но программист сказал, что это было на 5 минут и сейчас всё хорошо.

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

Разработчик: я не успеваю с блоком видеороликов, были косяки в паре компонент, но я вечерком посидел и всё пофиксил. Вроде всё. И да: я хочу в отпуск на следующую неделю.

Разные роли требуют разной информации о том, что происходит с проектом.

На этом эксперимент и закончим, но мы к нему будем возвращаться.

Базовые термины
Со своей стороны я успел побывать в роли: верстальщика, разработчика, ведущего разработчика. Сейчас - начальник отдела. И постоянно приходится задаваться вопросом или спрашивать других людей, как дела. А после получения ответа - думать и иногда смотреть несколько с другой стороны. На самом деле, у меня другая мантра:

  • Что вчера успели сделать из запланированного
  • Что вчера не успели сделать из запланированного и почему
  • Что будем делать сегодня
Самое забавное, что с ростом портфеля проектов у меня начал сбоить внутренний голос на который я привык полагаться. Слишком много ответов начинаешь получать на всех уровнях. Начиная от просьб и вводных заказчика и заканчивая разными техническими вещами, в которые порой требуется вникнуть и некоторое время держать на контроле.

Например: пользуются ли новой формой заявки, какое среднее время обмена 1С с сайтом. Да, обычно общаться с ведущими разработчиками, но часто приходится быть в курсе всех нюансов задачи.

Со временем информации становится очень много и в ней легко утонуть.

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

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

Дадим формальное определение терминам:

Временной ряд - это последовательность значений в определенный момент времениили за определенный промежуток времени.
Метрика (metric) - это величина, которая характеризует некоторый процесс.

KPI ( key performance indicator) - ключевой показатель эффективности. Это метрика, которая показывает, как далеко от цели находится анализируемый процесс.

Тренд (Trend) - основная тенденция изменения временного ряда.

Пример:
Метрикой будем считать объём продаж за какой либо период
KPI у нас будет % от выполнения бюджета.
Тренд это изменение значения метрики за текущий период относительно предыдущего.

Для понимания того что происходит нам важно не само абсолютное значение метрики, а динамика её изменения.

Соответственно давайте зададим себе вопрос: а нужно ли нам прямо сейчас выделять эти самые метрики и начинать отслеживать их?

Если колеблетесь, то лучше не стоит т.к. сил это потребует много. Для себя я решил, что заниматься этим стоит.

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

Вопрос о том нужно ли их все отслеживать пока оставим за скобками.

Наборы метрик

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

Главный модуль
Количество зарегистрированных пользователей
Для сайтов, которым важен размер активной аудитории. Главный модуль,  CUSER
Целевая аудитория: разработчики, менеджеры

Социальная сеть и блоги
Количество постов
Для UGC-сайтов, Модуль блогов или соцсетей.
Целевая аудитория: разработчики, менеджеры

Количество комментариев
Для UGC-сайтов, Модуль блогов или соцсетей.
Целевая аудитория: разработчики, менеджеры

Веб-формы
Количество заполнений вебформы
Любой сайт, где есть формы обратной связи. Позволяет понять пользуются ей или нет.
Целевая аудитория: разработчики, менеджеры

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

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

Среднее количество товаров в корзине
Любой сайт, с модулем интернет-магазин. Показывает как именно покупают номенклатурные позиции.
Целевая аудитория: разработчики, менеджеры

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

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

Монитор производительности
Среднее время генерации страницы на сервере
Показатель эффективности разработки сайта
Целевая аудитория: разработчики

Среднее время генерации страницы на клиенте
Показатель эффективности разработки фронт-энда сайта. Сильно зависит от интернет-соединения у пользователя.
Целевая аудитория: разработчики

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

Подписка, рассылки
Количество подписчиков на рассылку
Для сайтов у которых работает модуль «почтовые рассылки» один из важных критериев.
Целевая аудитория: разработчики, менеджеры

Техподдержка
Суммарное количество открытых тикетов
Показатель загруженности техподдержки
Целевая аудитория: разработчики, менеджеры

Суммарное количество просроченных тикетов
Сколько тикетов просрочено на текущий момент
Целевая аудитория: разработчики, менеджеры

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

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

Количество открытых тикетов по произвольному статусу
Показатель загруженности техподдержки по произвольному статусу обращения
Целевая аудитория: разработчики, менеджеры

Форум
Количество постов
Показатель роста активности пользователей на форуме
Целевая аудитория: менеджеры

Количество тем
Показатель роста активности пользователей на форуме
Целевая аудитория: менеджеры

Количество принявших участие в обсуждении
Показатель роста активности пользователей на форуме
Целевая аудитория: менеджеры

Администратору
Количество 200
Количество корректно обработанных запросов
Целевая аудитория: админы, разработчики

Количество 301
Количество постоянных редиректов
Целевая аудитория: админы, разработчики

Количество 302
Количество временных редиректов
Целевая аудитория: админы, разработчики

Количество 400
Количество плохих запросов
Целевая аудитория: админы, разработчики

Количество 404
Количество запросов по несуществующим URL
Целевая аудитория: админы, разработчики

Количество 405
Количество запросов для которых метод не поддерживается
Целевая аудитория: админы, разработчики

Количество 408
Количество запросов для которых истекло время ожидания.
Целевая аудитория: админы, разработчики

Количество 500
Количество запросов которые закончились ошибкой.
Целевая аудитория: админы, разработчики

Количество 503
Количество запросов которые закончились ошибкой.
Целевая аудитория: админы, разработчики

Размер сайта на диске
Объём сайта на диске
Целевая аудитория: админы, разработчики

Размер БД
Объём БД сайта на диске
Целевая аудитория: админы, разработчики

Аптайм за квант времени в минутах
Время работы сайта.
Целевая аудитория: админы, разработчики

Количество ошибок PHP
Количество ошибок PHP
Целевая аудитория: админы, разработчики

Количество ошибок MySQL
Количество ошибок PHP
Целевая аудитория: админы, разработчики

Количество исключительных ситуаций
Количество ошибок PHP
Целевая аудитория: админы, разработчики

Может подсократим список для тестового примера?

web-проект

Previous post Next post
Up