Качественные требования к ПО | часть 3

Photo by Axel Holen on Unsplash

Свойства качественных требований

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

  • Атомарность (atomicity). Требование является атомарным, если его не можно разбить на отдельные требования, и оно описывает только одну функцию.
  • Последовательность (consistency). Требование не должно противоречить самому себе (да-да, и так бывает) или другим требованиям.
  • Недвусмысленность (clearness). Требование не должно содержать жаргона, неочевидных аббревиатур, расплывчатых формулировок. (Кстати, для улучшение этой характеристики есть хорошая практика – вести словарь проекта. Тогда понятий «клиент», «пользователь», «кастомер», «юзер» – пропадут, и появиться одно, однозначное – «студент», (если сервис предназначен для них) и все будут понимать друг друга с первого раза и 100% однозначно)
  • Выполнимость (feasibility). Требование должно быть реализуемым в рамках бюджета и срока разработки проекта. (Построить самолет для 150 человек за 2 недели – не возможно)
  • Обязательность (obligatoriness). Если требование не обязательное – его просто нужно выкинуть. НО если требование нужное, но не критичное – ему просто присваивают меньший приоритет.
  • Актуальность (up-to-date). Если требование не актуально (например описанный функционал убрали с проекта) – его нужно удалить.
  • Прослеживаемость (traceability). Бывает вертикальной – показывает связь с требованиями других уровней, или горизонтальной – показывает связь с тест-планом, тест-кейсами. Для обеспечения этой характеристики часто применяются специальные инструменты (requirements management tool) но даже без них у требования должны быть как минимум: уникальный номер, оглавление, валидные ссылки на другие требования / тест-кейсы.
  • Модифицируемость (modifiability). Исправление / внесение правок в требования должно быть простой операцией. Если с этим возникают проблемы – значит требование изначально не соответствует описанным характеристикам, и это нужно исправлять.
  • Важность (importance). Показывает на сколько требование важно для успеха проекта.
  • Стабильность (stability). Описывает вероятность правок в будущем. (Лично – никогда не встречал. Интересно, кто в команде может адекватно оценить будущее, астрологи??)
  • Срочность (priority). Показывает на сколько срочно должно быть реализовано требование (самое важное – делаем в первую очередь)
  • Проверяемость (verifiability). Показывает, что можно создать тест-кейс, который однозначно покажет, что требование реализовано верно.
  • в работе с требованиями, в случае если вы придете на проект, где они уже были написаны и протестированы ранее

7 years in IT. SDET, QA Lead. Love My Family, JavaScript and Quality Products

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store