
- •Персонал, навыки и другие ресурсы
- •Планирование применительно к основным
- •Глава 9 Требования
- •Ключевые возможности системы
- •Подход к сбору требований
- •Требования к пи
- •Как сделать требования измеримыми и наглядными
- •Глава 10
- •Глава 11
- •Архитектура пи — самый
- •Глава 12
- •Предписывающие решения для общих проблем
- •Глава 13
- •Определения
Глава 9 Требования
В качестве причин неудачной разработки программных продуктов чаще всего называют две, имеющие прямое отношение к требованиям: недостаток ясных, определенных и измеримых требований, а также ограниченный контроль за требованиями во время разработки. Возможно, существует и третья, связанная с требованиями причина неудач проектов, которая еще недостаточно хорошо осознана — недостаток ясных требований в отношении практичности, ПИ, согласованности, комплектации, пользовательских и деловых потребностей и ожиданий.
Помимо сбора информации, специфической для ПИ, практичности, согласованности, интеграции, времени отклика и изучения продукта нет ничего уникального ли существенного для этого рода требований, что не встречалось бы в процессе сбора функциональных требований. При обращении к этим вопросам полезны те же методы, что и при сборе функциональных требований. Основное отличие состоит в расстановке акцентов и точке зрения при определении того, собраны ли действительно необходимые сведения.
Наиболее трудную часть сбора требований составляет работа с людьми для определения их реальных нужд и запросов. Требования необходимо собирать при разработке любого продукта. Причина этого кроется в изменении потребностей пользователей, их деловых нужд, а кроме того, изменяется их восприятие и осознание собственных потребностей. Основная проблема, связанная с разрабатываемым продуктом (независимо от этапа разработки), состоит в сборе и управлении введением новых Требований в процессе разработки.
При сборе требований необходимо принимать во внимание соображения как технического, так и социального порядка. В зависимости от масштабов изменений технические соображения возникают при усовершенствовании ненадежного и неустойчивого ПО в процессе тестирования. Существуют и факторы социально-психологического характера, оказывающие влияние на уставшую и изведенную бригаду разработчиков, которая пытается обеспечить устойчивость "дурно" ведущего себя ПО на близких к завершению разработки и лихорадочных этапах конструирования и тестирования. При этом часто возникают вопросы "Что же делать?" и "Почему сейчас?".
В этой главе рассматриваются следующие вопросы.
Ключевые возможности системы.
Подход к сбору требований.
Требования к ПИ.
Требования по практичности.
Как сделать требования наглядными и измеримыми.
Требования для обсуждаемого проекта.
Акцент в данной главе делается на ключевой информации, касающейся ПИ, практичности, пользователей, бизнес–процессов и источников этой информации; методам, применяемым для сбора подобных требований, уделяется значительно меньше внимания.
Ключевые возможности системы
Практичность и качество ПИ программных продуктов привлекают все большее внимание и приобретают значение как характерная особенность, обеспечивающая конкурентное преимущество. По мере того как перечень функций продуктов увеличивается (он разрастается до таких немыслимых размеров, что становится просто нереализуемым в рамках приемлемого времени и стоимости), пользователи, отвечающие за приобретение продуктов, все чаще обращаются к интерфейсу. Если ПИ продукта производит впечатление простого для изучения и использования, продукт имеет все шансы получить конкурентное преимущество, в особенности если он претендует на снижение затрат при освоении, а с точки зрения продуктивности сулит реальные выгоды.
Теперь, когда читатель получил общее представление о том, какие виды информации необходимы, предстоит понять, где искать требования для ПИ и практичности. Как правило, подобные требования не записываются за исключением случаев представления требований на очень абстрактном уровне. Поэтому ориентированная на пользователей бригада разработчиков продукта формирует требования, пользуясь многими источниками, к которым относятся текущие бизнес–процессы, пользователи и системы (рис. 9.1).
Вопрос: Как вы можете осознать необходимость и достаточность требований, если вы плохо осведомлены о них?
Существующая документация. В качестве источников явных и неявных требований выступают прецеденты (Use Case), функциональные требования, функциональные спецификации и справочники по деловой деятельности. Примеры других источников информации— презентации, проводимые заказчиками, стратегические документы и документы описания бизнес–процессов .
Требования к ПИ приложений обычно представлены на очень высоком уровне и в них недостает специфики. Обычно требования к ПИ продукта включают такие формулировки.
Следует обеспечить GUI-интерфейс.
ПИ должен соответствовать платформе ОС и корпоративному стилю.
Интерфейс должен быть простым в изучении и легким в использовании.
По сравнению с требованиями к функциональным возможностям, требования к ПИ оставляют большой простор для интерпретации и воображения, однако существующие документы могут служить неплохой отправной точкой для понимания потребностей продукта.
Рис. 9.1. Требования в процессе ориентированной на пользователя разработки продукта
Задачи пользователей и деловые процедуры. Задачи конечных пользователей требуют хорошего описания вместе с выяснением распределения частоты их выполнения. Например, использование правила "80/20" помогает сосредоточить внимание на классификации и выявлении приоритетности задач. 20% задач включают те, которые выполняются редко или которые имеют небольшое значение для пользователей, организации или заказчиков; 80% задач составляют задачи, которые выполняются более часто, наиболее подвержены ошибкам, обходятся дороже и\или оказывают наибольшее влияние на деятельность организации, пользователей и заказчиков. Обладая подобной информацией, можно использовать подход, направленный на оптимизацию системы для достижения наилучших результатов, а это позволяет избежать построения некоей усредненной системы, нацеленной на усреднение результаты применительно ко всем категориям задач и пользователей.
Экран
1
Экран
2
Экран
3
Экран
4
Экран
5
Рис. 9.2. Требования с точки зрения бизнеса, пользователей и системы
Помимо выявления стоящих перед пользователем задач, полезно ознакомиться с процедурами, которым следуют пользователи в процессе выполнения работы. С процедурами связаны протоколы работы конечных пользователей, отображающие социальную практику и соглашения, которые влияют на способ выполнения работы. Программные ПИ и системы могут конструироваться таким образом, чтобы соответствовать протоколам так же, как процедурам и задачам. Информацию этого типа получают, используя такие методы вовлечения пользователей, как наблюдение, интервью и фокус–группы .
Более подробно задачи пользователей рассматриваются в главе 10.
Описание пользователей. Наряду с описанием функциональных возможностей необходима детализированная информация о конечных пользователях. Конечные пользователи не составляют безликую массу. Каждый пользователь— это личность с уникальными навыками, взглядами и знаниями. Ориентированная на пользователей бригада по разработке продукта описывает разнообразие навыков, взглядов и знаний для целевой группы пользователей. Описание пользователей должно быть достаточно полным, чтобы проектировщики и разработчики ПИ могли понять потенциальных пользователей, уяснить различия их навыков и отношений. Требования должны также включать аналогичную информацию, касающуюся пользователей страны, для которой разрабатывается продукт. Эту информацию получают посредством опросов, во время наблюдения и с помощью других методов вовлечения пользователей в разработку.
Более подробно модели пользователей рассматриваются в главе 10.
Оценка используемых продуктов. Использование методов реверсивной инженерии позволяет сформулировать требования, основываясь на существующей системе (reverse engineering— одно из направлений дисциплины, известной как реинжиниринг программного обеспечения (software reengineering), занимающейся реконструкцией существующих систем с последующей переработкой и реализацией новых проектных решений. — Прим. ред.). Перечень функций, необходимые данные, время отклика, поток задач, текущая информация и методы построения ПИ выводятся (реконструируются) на основе анализа существующей системы. Потребности организации и пользователей добавляются к требованиям и подвергаются пересмотру с точки зрения их полноты и приоритетов.
Оценка практичности существующей системы помогает понять общее окружение системы. Ключевую информацию по практичности системы и бизнес–процессов получают для введения метрик и критериев успеха. Требования для ПИ и системы в целом помогают установить эталонные значения для продуктивности и уровня удовлетворенности пользователей, которые достигаются при заданных подходах. На общем уровне можно назвать следующие ключевые критерии.
Эффективность работы пользователей в существующей среде.
Удовлетворенность пользователей системой.
Отношение пользователей (нравится или не нравится) к существующей системе.
Что требуется пользователям взамен того, что им доступно.
Для анализа текущей среды подходят формальные и неформальные методы, обеспечивающие качественные и количественные оценки.
Что касается существующей среды, то следует помнить о том, что она включает другое ПО, которое находится в распоряжении пользователей. Прочие программные пакеты, доступные в пользовательской системе, содержат офисные пакеты и другие программы, поддерживающие работу пользователей.
Полезное правило. Следует проанализировать все ПО, которые находятся в употреблении пользователей, а также способы взаимодействия различных пакетов.
Оценка конкурирующих продуктов. Наряду с существующими используемыми продуктами к другим источникам данных по возможностям, ПИ, информационной поддержке и практичности относятся реальные конкурирующие и аналогичные продукты. Конкурирующие и аналогичные продукты рассматривают с использованием методов, применяемых для оценки существующих продуктов.
Полезное правило. После того как требования собраны, оформите их документально и проверьте их на предмет полноты, важности и необходимости по отношению к существующей и другим системам.
Отраслевые оценки. Есть немало источников информации в виде отраслевых публикаций. Иногда в публикуемых методах и деталях довольно трудно разобраться и понять, насколько им можно доверять. Однако эта информация служит еще одним важным источником для проверки важности и практичности тех или иных возможностей. Отраслевые организации и журналы, а также организации и Web-узлы, оказывающие консультационные услуги, обеспечивают огромные объемы информации, которая может оказаться полезной при оценке концепций.
Пользователи и спонсоры. Если вы сомневаетесь, спросите пользователя. Группы пользователей представляют важный источник требований и как нельзя лучше подходят для проверки того, насколько верно были определены частота использования и приоритеты функциональных возможностей и характеристик. Не забывайте поддерживать постоянную вовлеченность спонсоров проекта и вкладчиков в процесс определения требований. Методы совместной разработки идеально подходят для сбора и проверки достоверности требований.
Возможности ПИ. Чтобы удовлетворить потребности пользователей, организаций и заказчиков, требования к программному ПИ должны быть конкретными. Ниже приведены примеры возможностей ПИ, общие для графических и Web-ориентированных интерфейсов, а также интерфейсов портативных устройств.
Поддержка графики (окна, пиктограммы, графические элементы управления и
т.д.)
Меню (строка меню и выпадающие меню, всплывающие меню, каскадные меню, панели инструментов).
Представления (компоновка, схема и т.д.).
Средства навигации (схема web-узла, путеводители типа "хлебных крошек" в т.д). ("Хлебные крошки"— специально встраиваемые в программу отладочные операторы, служащие путеводной нитью для поиска причин аномального поведения программы при отладке— как спасительные хлебные крошки в сказке братьев Гримм, где герои блуждали по лесу. — Прим. ред.)
Клавиши быстрого выбора команд ("горячие клавиши") и ускоряющие клавиши (клавиша, которая соответствует подчеркнутой букве в строке меню ила диалога. — Прим. ред.).
Средства манипулирования (Переместить, Копировать и другие команды).
Специальные операции (Сохранить, Печать, Копировать в буфер, Отменить/Повторить и т.д.).
Минимализм (в отношении продукта и информации).
Настройка (клавиатура, мышь, последовательное раскрытие информации и
т.д.).
Альтернативные устройства ввода и вывода.
Важно знать распределение частоты использования этих возможностей, поскольку многие проектировщики ПИ верят, что некоторые из этих методов применяются нечасто. Реализация» редко используемых методов снижает способность продуктов к обеспечению других, более полезных функций.
Возможности мультимедиа. Требования к программной поддержке графики, визуальных и мультимедиа возможностей должны быть конкретизированы с учетом требуемых функций. Вот примеры визуальных и мультимедиа возможностей.
Статическая графика, используемая в пиктограммах, заголовках и других визуальных условных знаках.
Анимационная графика, которая служит для сообщений, сигналов и других целей.
Слышимая информация, используемая для сообщений, сигналов и прочих целей.
Важно знать распределение частоты использования перечисленных выше возможностей, поскольку многие из этих методов воспринимаются как само собой разумеющееся и не добавляют непосредственной деловой ценности повседневным задаем конечных пользователей.
Возможности информационной поддержки. Требования к программной информационной поддержке должны быть более конкретными с точки фения необходимых функций. Примеры информационных возможностей следующие.
Печатные справочники и рабочая поддержка.
Аудиторные занятия, интерактивные руководства.
Помощь, "мастер–программы", карточки-шпаргалки, приглашения, контекстные окна указателя.
Необходимо знать частоту, с которой используются эти возможности, поскольку многие из них применяются редко из-за недостатков существующих методов. Реализация редко используемых методов снижает способность бригады разработчиков Продукта к реализации других более полезных и эффективных функций.
Ограничения. Для многих предприятий характерно наличие ограничительных мер или обстоятельств, которые не позволяют организации или сотрудникам Достигнуть определенных целей. Чрезвычайно важно знать, на какую степень свободы и гибкости можно рассчитывать, а также быть осведомленным о существующих пределах ограничений. Примером "свободы" может служить требование "устранить все препятствия", примером ограничения — "пять специалистов, занятых в течение шести месяцев".
Тенденции. Знать, в каком направлении развивается отрасль более важно, чем понимать ее текущее состояние, поскольку отрасль движется очень быстро — развивается технология, инсталляционная база, расширяются знания пользователей. Значение социальных процессов также велико, хотя они более трудноуловимы, чем технические. Документация с описанием требований должна рассматривать тенденции изменениям в рамках того временного интервала, на который рассчитано использование ПИ.