- •Глава 14
- •Подготовка к проведению оценки
- •Продолжение обсуждения проекта
- •Глава 15
- •Последующий анализ
- •Быстрый цикл разработки и оптимизация
- •Организационные и технические аспекты
- •Часть 3
- •Глава 16. Высокоуровневое проектирование (семантика и структура).
- •Проектирование поведения рабочего
- •Инсталляция, печать и другие системные функции
- •Глава 17
- •Подходы к спецификации
- •Спецификации в стиле минимализма
- •Глава 18
- •Трудно предсказуемые факторы
Глава 14
Оценка практичности
Основной элемент разработки программного продукта и ПИ — тестирование с участием пользователей. Если продукт удовлетворяет требованиям к практичности и другим критериям, он передается клиентам. Если продукт не соответствует критериям, он дорабатывается в ходе очередной итерации.
В процессе проектирования и реализации ПО клиенты обычно знакомятся с системой посредством презентаций, спецификаций, демонстраций и заблаговременной установки программ. Презентации, спецификации и демонстрации дают общее представление о функциях и стилях ПИ продукта, однако эти способы недостаточны для того, чтобы дать пользователям глубокое понимание особенностей повседневной эксплуатации продукта.
Досрочная установка программ предоставляет клиентам достаточно времени, чтобы получить впечатление и ощущение от использования продукта в рабочей среде. Однако проблемы со сроками начала использования продукта могут оказаться препятствием для удовлетворительной резолюции. Потенциальное решение этой проблемы заключается в заблаговременном и непрерывном тестировании продукта на практичность с использованием различных методов (рис. 14.1).
В данной главе описывается ряд методов оценки практичности. Эти методы направлены на то, чтобы дать возможность проектной бригаде подготовиться к проведению оценок практичности продукта совместно с пользователями, проанализировать результаты этих оценок и надлежащим образом отреагировать на них. Один разработчик при испытаниях практичности на предприятии заказчика как-то сказал: "Что же здесь такого трудного?" Для проектной бригады, серьезно заинтересованной в том, чтобы разрабатывать продукты, приносящие пользователям большое удовлетворение, ответ несложен — если применить нужные навыки и методы.
В данной главе рассматриваются следующие темы.
Цели оценки.
Виды оценок.
Подготовка к проведению оценки.
Проведение оценки.
Оценка данных.
Участие разработчиков.
Кратко о проверке за столом.
Продолжение обсуждения проекта.
Цели оценки
Важно напомнить, что практичность, или общий уровень удовлетворенности пользователей, зависит от многих факторов.
Полезное правило. В зависимости от задач и навыков конечных пользователей, практичность ПО— это функция возможностей, ПИ, производительности, надежности, простоты установки и информационной поддержки продукта.
Перечисленные переменные являются базовыми факторами. Если их адекватно не обеспечить, разработка системы с большой вероятностью рискует оказаться непрактичной, в результате чего пользователи и заказчики будут неудовлетворенны продуктом. Сбор пользовательских откликов по каждому из этих факторов важен для причинного анализа проблем и общей оценки практичности. В зависимости от характера продукта важную роль для общей практичности могут играть и другие факторы.
Оценка практичности выдвигает следующие основные цели.
Прогнозирование пользовательской удовлетворенности.
Анализ подходов, связанных с внешним видом, поведением и пользовательским взаимодействием.
Выявление и разрешение проблем.
Проверка критериев.
Конкурентная оценка.
Оценки предназначены для определения уровня краткосрочной и долгосрочной практичности. С точки зрения проектной бригады, существует множество проектных альтернатив для программного интерфейса, поэтому важно получить ответы пользователей на проектные вопросы и выбрать соответствующие подходы к проектированию. Кроме того, обычно полезно, чтобы пользователи в ответ на полученную проектную информацию направляли действия разработчиков и поддерживали их своими советами. Главная цель итеративной разработки — постепенное усовершенствование продукта. В зависимости от целей разработки и развития продукта возможно применение различных методов оценки.
Виды оценок
Методы оценки практичности— просмотр (Review), сквозной контроль (Walk-Through), лабораторные испытания при участии типичных пользователей (Lab-Based Test), испытания на площадке заказчика при участии реальных заказчиков (In-Your-House Test) и эксплуатационные испытания (Field Test) — многократно описаны в литературе. Оценки проводятся при участии экспертов, пользователей и других заинтересованных сторон.
Неформальный просмотр. Выполнение оценки продукта при отсутствии структурного подхода или заранее определенных критериев, инструкций и методов называется неформальным просмотром. Просмотр выполняется с использованием документации, прототипа или реального продукта. Каждый эксперт определяет видимые проблемы в неформальном стиле. Неформальный просмотр можно рассматривать как интуитивный анализ.
Полезное правило. Следует избегать неформальных просмотров в пользу структурных методов.
Эвристический просмотр. Существуют критерии, инструкции и методы оценки практичности продукта, документально зафиксированные в различных печатных материалах. Инструкции по проведению оценок называются эвристиками или эмпирическими правилами. Многие из них приближаются к проектным принципам и носят субъективный характер. Пример эвристики— минимальная загрузка памяти пользователей.
Эвристический просмотр можно представить как просмотр проектных решений или программного кода, проводимый коллегами. Однако существует немало трудностей, связанных с определением того, что является приемлемым с точки зрения требований, проекта и реализации.
Полезное правило. Установите объективные эвристики, основываясь на целях, принципах и инструкциях, заданных для проекта, а также на распространенных отраслевых эвристиках и процедурах оценки.
Для повышения эффективности эвристических оценок они преобразуются в объективные инструкции. В ходе эвристического просмотра продукт оценивается по средством анализа документации, прототипов или работы реальных конечных пользователей. Оценку с использованием распространенных эвристик или процедур выполняет один или несколько экспертов.
Сквозной контроль. Метод, позволяющий осуществить инспекцию продукта с помощью выполнения в пошаговом режиме сценария работы конечного пользователя, называется сквозным контролем (или прогоном). Сквозной контроль производится одним или несколькими экспертами с использованием документации, прототипов или продукта. Практическая оценка продукта — убедительный метод. Сквозной контроль можно также проводить с конечными пользователями, с которыми устанавливается обратная связь.
Традиционные испытания на практичность. Традиционные и формальные оценки практичности продукта проводятся в лабораторной среде, оснащенной телекамерами, магнитофонами, односторонними зеркалами и другим подобным оборудованием. Однако не менее эффективны неформальные оценки практичности с пользователями и ведущим тестирование специалистом в офисе или конференц-зале.
При выполнении оценок, основанных на сценариях предполагаемого использования, подразумеваемым субъектом испытаний является типичный пользователь. Продолжительность тестирования (т.е. проверка особенностей начального периода обучения и использования) может колебаться от нескольких часов до одного дня. Расширенное тестирование на более поздних этапах жизненного цикла продукта может продолжаться от нескольких дней до нескольких недель и полезно при оценке долговременного использования продукта. Пользователи выполняют задачи и одновременно отвечают на вопросы анкеты. В общем случае, определяющий вопрос, который задается пользователям, звучит так: "Что вы думаете об этом продукте?"
Сравнительные оценки практичности. Многие виды оценок практичности проводятся в автономном режиме. Эти тесты полезны при изучении базовой практичности продукта. Однако такой тип тестирования не всегда дает возможность понять, как продукт выдерживает сравнение с практичностью других продуктов, которые могут применять пользователи или к которым у них имеется доступ.
По этой причине чрезвычайно полезно, сравнительное тестирование. Пользователям вручают сценарий для выполнения задачи с применением каждого из оцениваемых продуктов. По завершении каждого сценария и теста пользователей просят указать наиболее предпочтительный продукт. В общем случае, определяющий вопрос звучит так: "Какую марку вы предпочитаете —А или Б?"
Сравнительные оценки полезны для определения возможностей и методов, которые дают продукту конкурентное отличие и конкурентное преимущество. Для проектной бригады, намеревающейся превзойти конкурентов, сравнительное тестирование помогает установить, какие факторы наиболее важны для пользователей. Этот тип оценки служит серьезным испытанием, позволяющим определить, насколько продукт хорош в сравнении с конкурирующими продуктами, и придает новый смысл обезличенному проектированию ПИ.
Испытания на площадке заказчика. Вследствие того, что возможности лабораторных испытаний, как правило, ограничены, иногда удобно проводить оценку практичности на площадке заказчика. Реальные клиенты играют при этом роль субъектов практического тестирования продукта. Аналогично формальному и неформальному оцениванию практичности, пользователи дают ответы на вопросы анкеты, предоставляемой им при тестировании.
Оценка должна быть запланирована как можно раньше в рамках жизненного цикла разработки продукта. Цель в данном случае состоит в оценке продукта с привлечением широкого и представительного круга конечных пользователей из числа клиентов. Реально оценка проводится в рабочих офисах заказчика в специально выделенной комнате. Очевидно, что более целесообразно проводить оценки в реальных рабочих помещениях заказчика на рабочих местах конечных пользователей.
В общем случае, определяющий вопрос звучит так: "Как выглядит предлагаемый продукт в сравнении с тем, который имеется в вашем распоряжении?"
Эксплуатационные испытания. Проведение испытаний на площадке заказчика очень похоже на эксплуатационные испытания, за исключением того, что вместо бета- или окончательной версии продукта используется имитация или прототип. Эксплуатационные испытания носят более формальный, но менее структурированный характер в том смысле, что от пользователей не требуется выполнение сценариев. Пользователи осуществляют реальную работу с использованием продукта и отвечают на вопросы более высокоуровневой анкеты, касающейся продукта.
Полезное правило. Используйте сценарный подход к оценке продукта с заранее определенными критериями, методами и привлечением пользователей на протяжении всего периода разработки.
Так много методов, так мало времени! Чем раньше начинается оценка проектных решений и чем раньше пользователи привлекаются к оценке, тем лучше. Внимание должно быть сосредоточено на тех областях, в которых чаще всего встречаются проблемы. Однако при проведении оценок наибольшую роль играют следующие факторы.
Заранее определенные и объективные критерии.
Структурные и объективные методы.
Привлечение пользователей к проведению оценок.
Методы, позволяющие определить, что правильно, а что нет.
Структурные методы включают планы тестирования, процедуры, сценарии и правильные ответы, связанные с шагами работы и получаемыми результатами. Аналогично проектным решениям, испытания практичности не дают одних и тех же результатов при повторении тестов — процесс отличается неопределенностью. Однако повторение тестов должно давать результаты, которые лежат в том же диапазоне, что и предыдущие результаты.
Используя сравнительно небольшое количество субъектов тестирования, этот тип тестирования весьма полезен для идентификации основных проблем практичности связанных с обучением пользователей и начальным периодом применения продукта. В зависимости от типа оценки и продолжительности тестирования, количества субъектов тестирования и повторяемости операций в сценариях возможна перепев оценка практичности в расчете на долговременное использование продукта.