День 2222. #УрокиРазработки
Уроки 50 Лет Разработки ПО
Качество. Начало
Качественное ПО важно для всех, кто создает или использует программные системы. Но что такое качество?
Разные наблюдатели всегда будут иметь разные представления о том, какие черты данного продукта или услуги определяют качество или его отсутствие. Качество имеет множество аспектов и понятие качества зависит от ситуации. В контексте ПО понятие качества описывает, насколько хорошо продукт выполняет всё, что от него требуется, и дать более строгое определение, вероятно, не получится. И все же каждая проектная группа должна изучить, что ее клиенты понимают под качеством, как его оценить и достичь, а затем в ясной форме передать эти знания всем участникам проекта. В идеальном мире каждый проект должен предоставлять продукт, содержащий все функции, которые когда-либо потребуются любому пользователю, не имеющий дефектов и идеально удобный, произве¬денный в рекордно короткие сроки и с минимальными затратами. Но это фантазия; ожидания в отношении качества должны быть реалистичными. Лица, принимающие решения по каждому проекту, должны определить, какие аспекты наиболее важны для успеха проекта и на какие компромиссы они могут пойти, преследуя свои бизнес-цели.
Планирование качества
Команды разработчиков и руководители иногда решают пойти на компромисс в отношении качества, чтобы уложиться в срок, или включить более богатый, хотя и несовершенный, набор функций, делающих их продукт более привлекательным для клиентов. Поэтому модель из урока 31 содержит качество как явный параметр проекта. Люди, принимающие решения о выпуске, могут смириться с существованием неких известных дефектов, если, по их мнению, эти дефекты не будут оказывать большого влияния на клиентов или бизнес. Однако пользователи могут не согласиться с этим. ПО необязательно должно иметь множество проблем, чтобы произвести впечатление низкокачественного. Если любимая функция поль¬зователя будет иметь дефект, то пользователь, скорее всего, сочтёт весь продукт проблемным и расскажет об этом всем, кого знает.
Команды разработчиков выиграют от создания плана управления качеством в начале проекта. В плане должны быть определены реалистичные ожидания в отношении качества продукта, включая классификацию серьезности дефектов (серьёзные, умеренные, незначительные, косметические). Это поможет создать у всех участников проекта согласованное представление о понятии качества. Определение общей терминологии и ожиданий в отношении различных видов тестирования дополнительно поможет сблизить заинтересованные стороны, позволяя достичь общей цели — создания высококачественного решения.
Несколько взглядов на качество
Качество ПО - это больше, чем простое соответствие заданным требованиям, и больше, чем отсутствие дефектов. Необходимо учитывать многочисленные характеристики: функциональные возможности, эстетику, производительность, надёжность, удобство использования, стоимость, своевременность доставки и т.д. Поскольку невозможно создать продукт, идеальный по всем параметрам, часто приходится идти на компромиссы в отношении качества. Атрибуты качества должны быть точно определены и расставлены по приоритетам, чтобы те, кто принимает решения, могли сделать правильный выбор.
Кроме того, заинтересованные стороны могут по-разному воспринимать качество. Разработчик может считать, что высококачественный код должен быть написан элегантно и выполняться эффективно и правильно. Специалист по сопровождению оценит более простой и понятный код. Они сосредоточены на внутреннем качестве продукта. Пользователю же интереснее внешнее качество.
Окончание следует…
Источник: Карл Вигерс “Жемчужины Разработки”. СПб.: Питер, 2024. Глава 6.
>>Click here to continue<<