Наверное, ни у кого нет сомнений, что продуктивность нужно время от времени измерять? Так что преамбулу опускаем, переходим сразу к делу:)
Сейчас я работаю с компанией, занимающейся разработкой программного обеспечения, поэтому порассуждаю о схеме оценки продуктивности для них.
Но сначала пара вводных.
Во-первых: нужно учитывать как количественные, так и качественные показатели работы команды.
Во-вторых, продуктивность можно измерить на разных уровнях: индивидуальном, командном и на уровне всей компании. А теперь, собственно, к данным и формулам.
1. Ключевые данные для измерения продуктивности
- Количество завершенных задач (Tickets Completed): Количество завершенных задач или пользовательских историй (tickets) за определенный период.
- Время на выполнение задач (Time to Complete Tasks): Среднее время, необходимое для завершения одной задачи или проекта.
- Качество выпускаемых релизов (Quality of Releases): Число дефектов, выявленных после релиза, или процент задач, выполненных без ошибок.
- Часов на проект (Effort in Hours): Время, затраченное командой на выполнение задач или проекта.
- Скорость разработки (Velocity): Для Agile-команд это количество story points, которые команда завершает за один спринт.
- Процент вовлеченности сотрудников (Employee Engagement): Оценка вовлеченности и удовлетворенности сотрудников.
- Текучесть кадров (Turnover Rate): Процент сотрудников, покинувших компанию за определенный период.
- Производительность по клиентам (Client Satisfaction): Оценка удовлетворенности клиентов (например, NPS, отзывы клиентов).
- Использование ресурсов (Resource Utilization): Время, которое сотрудники тратят на продуктивные задачи (в отличие от административных задач).
2. Формулы для расчета продуктивности
a.
Продуктивность на уровне задач - Task Productivity (Продуктивность задач)
Узнаем, сколько задач команда или сотрудник выполняет в единицу времени.
b.
Velocity для Agile-команд - Velocity (Скорость команды)<
Замеряем, сколько работы (в story points) команда может завершить за каждый спринт, что помогает планировать будущие спринты и оценивать производительность.
c.
Качество кода (Quality of Code) - Коэффициент ошибок после релиза (Post-Release Defects) Оцениваем качество выпускаемого программного обеспечения.
d.
Производительность на уровне проектов - Project Productivity (Продуктивность проектов) Смотрим, насколько эффективно используются ресурсы для выполнения проектов.
e.
Продуктивность команды в процентах (Team Productivity Percentage) - Team Productivity Насколько эффективно команда выполняет запланированные задачи по сравнению с ожиданиями.
3. Индивидуальная продуктивность
Сравниваем с другими сотрудниками и со средним значением по команде.
4. Формула общего уровня продуктивности компании
Показатель комбинирует не только скорость выполнения работы, но и ее качество, а также удовлетворенность сотрудников, что влияет на долгосрочную продуктивность.
5. Качественные показатели
Помимо количественных показателей, важно учитывать качественные:
- Уровень взаимодействия внутри команды (на основе обратной связи).
- Степень удовлетворенности клиентов и их отзывы.
- Способность команды адаптироваться к изменениям требований или нештатным ситуациям.
А дальше сразу возникает вопрос, как можно получить объективный результат, если задачи у всех разные по сложности и длительности? И по ценности для компании они тоже разные... хотя это уже больше про эффективность, но я люблю методику измерения наших усилий на основе стоимости выручки. Отлично показывает, на те ли задачи время тратим:)
Но давайте по порядку. Задачи действительно могут сильно отличаться по сложности и длительности, и простой расчет продуктивности через деление задач на часы может дать искаженную картину. Что делать:
1. Использовать Story Points или Complexity Points
- Что это такое: Story points (или complexity points) — это единицы измерения, которые отражают сложность, объем работы и неопределенность задачи, а не просто затраченное время.
- Как работают: Команда оценивает каждую задачу, присваивая ей определенное количество story points на основе сложности и объема работы. Задачи с большими объемами работы или сложностью получают больше story points, а простые задачи — меньше.
- Пример: Мелкая задача может получить 1 story point, а сложная, требующая серьезного проектирования и обсуждения, — 8 или даже 13 story points.
- Формула:
Таким образом, мы получаем более точное представление о продуктивности, так как учитываем сложность задач.
2. Timeboxing и оценки задач
- Что это такое: Timeboxing — это метод управления временем, при котором задаче выделяется фиксированный промежуток времени для выполнения. Если задача выходит за рамки timebox, это сигнал к пересмотру объема задачи или методов работы.
- Как работает: Перед началом задачи команда оценивает, сколько времени она может на неё потратить, и корректирует процесс выполнения в зависимости от этого.
- Пример: Если на задачу отведено 8 часов, но она требует больше времени, это либо значит, что задачи неправильно оценены, либо возникает необходимость разбить её на несколько частей.
- Формула:
3. Делить задачи на этапы
- Что это такое: Некоторые задачи лучше разбивать на несколько этапов (subtasks) с отдельной оценкой сложности для каждого этапа. Это помогает более точно оценить усилия, затраченные на крупные задачи.
- Как работает: Вместо того, чтобы оценивать сложные задачи целиком, каждый этап оценивается по отдельности. Таким образом, можно избежать занижения или завышения оценок продуктивности.
- Пример: Задача разработки новой функции может быть разделена на этапы: проектирование, написание кода, тестирование и интеграция. Каждый этап оценивается по своему уровню сложности и времени.
4. Velocity и оценка на основе исторических данных
- Что это такое: Velocity — это показатель, который показывает среднее количество story points или задач, которые команда может завершить за спринт или другой фиксированный период времени.
- Как работает: Вместо того чтобы опираться на фиксированные часы, velocity дает возможность измерять продуктивность на основе накопленных данных за предыдущие периоды.
- Пример: Если команда в среднем завершает 40 story points за спринт, это и будет ее текущая продуктивность, которая может использоваться для планирования будущих задач и оценки темпов роста.
- Формула:
5. Продуктивность на основе оценки стоимости и выручки (Value-Based Productivity)
- Что это такое: Продуктивность можно измерять не только через выполненные задачи, но и через вклад этих задач в бизнес-цели, например, увеличение выручки или уменьшение затрат.
- Как работает: Каждая задача получает оценку на основе её бизнес-ценности. Чем выше ценность задачи, тем больший вклад она вносит в общую продуктивность команды.
- Пример: Если задача ведет к улучшению продукта, который приносит больше клиентов, её вклад в продуктивность выше, чем у задачи по исправлению мелких багов.
- Формула:
6. Использовать метрики качества
- Что это такое: Продуктивность можно измерять с учетом качества выполненных задач — например, уменьшение количества багов или ошибок после релиза.
- Как работает: Вместо того чтобы сосредоточиться только на количестве выполненной работы, учитывается, насколько качественно она была выполнена.
- Пример: Если команда завершила много задач, но после релиза появилось много ошибок, это снизит общую продуктивность.
- Формула:
7. Комбинированный подход
Для полной объективности продуктивность лучше измерять, используя сразу несколько метрик:
- Velocity — для оценки завершенных story points.
- Timeboxing — для контроля времени выполнения задач.
- Качество выполнения — для учёта отсутствия ошибок.
- Ценность задач— для учета их вклада в бизнес.
В общем, так:
Чтобы измерять продуктивность объективно в условиях разных по сложности задач, нужно использовать более сложные и адаптивные методы - вот эти вот story points, velocity, оценку стоимости задачи и метрики качества. Тогда и демотивации избежим, и увидим, где и что у нас проваливается, и начнем учитывать реальную сложность и ценность задач для бизнеса. Может, их даже станет меньше при более высокой продуктивности. Чего вам и желаю:)
Ваша Чемеринская