Люди не могут контролировать вещи, которые они не могут измерить. Эти слова принадлежат известному американскому разработчику Тому ДеМарко. Он был прав, так как в настоящее время многие девелоперские компании используют этот принцип в своей работе. Это все о метриках качества программного обеспечения, которые применяются в качестве количественных методов для оценки качества ИТ-услуг или продуктов.
Проще говоря, метрики оценивают функции программного обеспечения, опции, производительность и т. д. Основная цель метрики — правильно применить результаты для планирования бюджета расходов и затрат и планирования графика времени. Кроме того, измерения качества обеспечивают основу для контроля качества, тестирования и отладки. К популярным метрикам относятся следующие методологии:
- анализ алгоритмов
- количество строк кода
- сложность программного обеспечения
- анализ функциональных точек
- багов и ошибок на 1000 строк кода
- уровень тестирования
- классы и интерфейсы
- сплоченность и т. д.
Преимущества показателей качества
Почему так много команд используют метрики для оценки качества своих продуктов или услуг? Вот почему метрики так эффективны и востребованы:
— Производительность — это то, что в первую очередь зависит от времени, которое технические специалисты тратят на выполнение своих задач. Для мониторинга и повышения производительности управленческий персонал использует специальные метрики, которые могут выявлять и определять приоритетность проблем, как возникающих, так и существующих.
— Еще одна причина — необходимость правильного тайм-менеджмента. С эффективной метрикой вы сможете отслеживать результаты работы и улучшать весь рабочий процесс.
- Главные исполнительные директора вместе с менеджерами используют метрики для оценки того, как их решения влияют на рабочий процесс.
Почему метрики важны?
Во-первых, вы должны составить список всех оценок, которые вы делаете внутри компании, иначе нет смысла говорить, что ваша команда разработчиков понимает, как работают метрики и влияют на конечные результаты.
Грубая ошибка большинства команд заключается в том, что они ставят на первое место SDLC вместо измерения качества.
Очень часто руководители считают измерение и оценку рабочего процесса, прогресса сотрудников просто очередной скучной задачей в своей работе. Однако не преуменьшайте важность метрик. Чтобы сделать процесс измерения интересным и эффективным, любая метрика должна быть четкой и эффективной с точки зрения затрат и времени.
Какие показатели подобрать?
Каждая команда уникальна и имеет свои потребности. Ниже приведены наиболее известные методики измерения качества:
#1 — Agile-метрики
Команды разработчиков используют гибкие показатели для определения способов улучшения всего SDLC. Обычно менеджеры обращают внимание на скорость команды, время выполнения заказа, время цикла, процент открытия и закрытия.
Время выполнения — это время, затрачиваемое на мозговой штурм, генерацию идей, поставку продукта и разработку. Это период от начала проекта до его завершения. Это время часто намеренно сокращают, чтобы ускорить выход на рынок.
Время выполнения включает в себя время цикла. Берется за разработку программного продукта, внедрение его в производство и т.д. Ниже приведена диаграмма, демонстрирующая разницу между циклом и временем выполнения заказа.
Производительность команды измеряется скоростью (которая используется для планирования спринтов или итераций). Основная цель скорости — оценить время, затраченное на выполнение задач, и разработать следующие проекты в соответствии с тем, насколько быстро было выполнено предыдущее задание.
# 2 — Производственная метрика
Объем проделанной работы оценивается производственным показателем. Обычно эта метрика используется для измерения скорости работы и определяется следующими критериями:
- Активные дни — время для написания кода, планирования и других мелких дел. Это измерение позволяет выявить дополнительные расходы.
- Объем задач — это общий объем кода, который разработчик может создать за год. Область задач помогает владельцам продукта рассчитать количество сотрудников, необходимых для выполнения конкретного проекта.
- Эффективность/Производительность — объем качественного кода, написанного разработчиками.
- Code churn — количество строк кода.
- Время между сбоем и восстановлением — сбой — это то, чего не может избежать любая разработка программного обеспечения, поэтому важно измерять среднее время между такими сбоями и восстановлением.
- Частота сбоев приложений — это соотношение между количеством сбоев приложения и количеством его использования.
# 3 — Ответы безопасности
Эта метрика используется для понимания того, насколько программное обеспечение отвечает требованиям безопасности. Это означает, что разработчики оценивают уровень безопасности: время, необходимое для выявления потенциальных или существующих опасностей (вирусы, бреши и т. д.), исправления и разработки средства защиты.
# 4 — Измерения, ориентированные на размер
Оценки, ориентированные на размер, анализируют качество программного обеспечения с использованием квантификатора KLOC. KLOC означает кило (тысячи) строк кода, которые определяют проблемы, ошибки, ошибки на тысячу строк.
# 5 — Функционально-ориентированные методы
Функциональная точка здесь является основным квантором. Это мера, которая демонстрирует, сколько функциональности, в основном бизнес-функциональности, дает продукт. Эта методология учитывает вводимые пользователем данные, отчеты об ошибках и сообщения, запросы пользователей и т. д.
№ 6 — Метрики контроля качества
Обеспечение качества и тестирование являются неотъемлемой частью любого SDLC. Существуют сотни метрик QA, включая базовые (тестовые случаи, написанные и выполненные). Расчетные показатели обычно выполняются ведущим инженером-испытателем для изучения хода проекта. Отчеты о рассчитанных показателях помогают улучшить весь SDLC.
Ниже приведены общие этапы тестирования, обычно выполняемые командой инженеров-испытателей:
- Определите основные проблемы для тестирования, например, проверьте систему отслеживания.
- Определите метрики для тестирования и количество тест-кейсов, которые будут написаны в день.
- Поручите задачу тестировщику.
- Оцените эффективность используемых метрик.
- Подумайте, где и как реализовать результаты.
№ 7 — Удовлетворенность клиентов
Он оценивает уровень удовлетворенности клиентов услугами или продуктом, который может варьироваться от очень удовлетворенного до очень неудовлетворенного (рассчитывается в процентах). Эта информация получена из опросов пользователей.
Имейте в виду, что наиболее точные результаты можно получить с первым выпуском продукта. Как только ваш продукт выпущен, вы можете оценить уровень его качества. Команда может оценить KLOC, количество дефектов и улучшения, которые необходимо внести в следующие версии продукта.
Команда DICEUS квалифицирована в использовании различных показателей качества программного обеспечения. Обратите внимание, что метрики могут помочь вам определить изменения, которые могут положительно повлиять на процесс разработки программного обеспечения.