3 ключевых показателя успеха при разработке программного обеспечения

ПК

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

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

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

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

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

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

Удовлетворенность клиентов.

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

Удовлетворенность клиентов можно понять путем заполнения опросов. Широко используемым и уважаемым показателем удовлетворенности клиентов является Net Promoter Score (NPS) — показатель лояльности и удовлетворенности клиентов, который определяется путем опроса клиентов о том, насколько вероятно, что они будут рекомендовать ваш продукт или услугу другим людям по шкале от 0 до 10. NPS рассчитывается как значение в диапазоне от -100, что означает, что ни один клиент не будет рекомендовать продукт другим, до +100, что означает, что все клиенты будут рекомендовать.

Читайте также:  Настройка процессора carel easy

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

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

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

Тестовое покрытие.

Тестовое покрытие — это своего рода мета-метрика, определяющая, насколько хорошо приложение протестировано на соответствие техническим требованиям.

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

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

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

Читайте также:  Nvidia geforce gt 1030 kfa2

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

Контроль качества и диагностирование дефектов.

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

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

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

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

Читайте также:  Звуковой процессор с оптическим входом

Заключение.

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