Выявление требований - Requirements elicitation
В разработка требований, выявление требований это практика исследования и выявления требований к системе от пользователей, клиентов и других заинтересованных сторон.[1] Эту практику также иногда называют "сбор требований".
Термин «выявление» используется в книгах и исследованиях, чтобы подчеркнуть тот факт, что хорошие требования не могут быть получены просто от клиента, как было бы обозначено сбором требований к названию. Выявление требований нетривиально, потому что вы никогда не можете быть уверены, что получите все требования от пользователя и клиента, просто спросив их, что система должна делать или не делать (для безопасности и надежности). Практика выявления требований включает интервью, анкетирование, наблюдение пользователей, семинары, мозговой штурм, сценарии использования, ролевые игры и прототипирование.
Прежде чем требования будут проанализированы, смоделированы или определены, они должны быть собраны в процессе выявления. Выявление требований - это часть процесса разработки требований, за которым обычно следует анализ и спецификация требований.
Обычно используемые процессы сбора информации - это встречи или интервью с заинтересованными сторонами.[2] Например, первая важная встреча может быть между инженерами-программистами и клиентами, на которых они обсуждают свою точку зрения на требования.
Проблемы
Процесс выявления требований может показаться простым: спросите клиента, пользователей и других, каковы цели для системы или продукта, что должно быть выполнено, как система или продукт вписывается в потребности бизнеса и, наконец, как система или продукт должен использоваться изо дня в день. Однако могут возникнуть проблемы, усложняющие процесс.
В 1992 году Кристель и Канг определили проблемы, указывающие на трудности при выявлении требований:[3]
- 'Проблемы масштаба '. Границы системы нечетко определены или клиенты / пользователи указывают ненужные технические детали, которые могут запутать, а не прояснить общие цели системы.
- Проблемы понимания. Заказчики / пользователи не полностью уверены в том, что им необходимо, плохо понимают возможности и ограничения своей вычислительной среды, не имеют полного представления о проблемной области, испытывают проблемы с сообщением о потребностях системному инженеру, пропускают информацию это считается «очевидный, »Укажите требования, которые противоречат потребностям других клиентов / пользователей, или укажите требования, которые являются неоднозначными или непроверяемыми.
- Проблемы волатильности. Требования меняются со временем. Скорость изменения иногда называют уровнем волатильности требований.
Качество требований можно улучшить с помощью следующих подходов:[4]
- Визуализация. Использование инструментов, которые способствуют лучшему пониманию желаемого конечного продукта, таких как визуализация и моделирование.
- Единый язык. Использование простых, последовательных определений требований, описанных на естественном языке, и использование бизнес-терминологии, преобладающей на предприятии.
- Руководящие указания. Соблюдение организационных принципов, описывающих методы сбора и типы требований, которые необходимо собрать. Эти руководящие принципы затем последовательно используются во всех проектах.
- Последовательное использование шаблонов. Создание согласованного набора моделей и шаблонов для документирования требований.
- Документирование зависимостей. Документирование зависимостей и взаимосвязей между требованиями.
- Анализ изменений. Проведение анализа первопричин изменений требований и внесение корректирующих действий.
Руководящие указания
В 1997 году Соммервилл и Сойер предложили набор руководящих указаний по выявлению требований, чтобы решить проблемы, подобные тем, которые были определены Кристелом и Кангом:[5]
- Оценить коммерческую и техническую осуществимость предлагаемой системы
- Определите людей, которые помогут определить требования и понять их организационные предубеждения
- Определите техническую среду (например, вычислительную архитектуру, операционную систему, телекоммуникационные потребности), в которой будет размещена система или продукт.
- Определите «ограничения домена» (т. Е. Характеристики бизнес-среды, специфичные для домена приложения), которые ограничивают функциональность или производительность системы или продукта, который будет создан.
- Определите один или несколько методов выявления требований (например, интервью, фокус группы, Встречи команд)
- Приглашать к участию множество людей, чтобы требования определялись с разных точек зрения; обязательно укажите обоснование каждого зарегистрированного требования
- Выявление неоднозначных требований в качестве кандидатов на прототипирование
- Создавайте сценарии использования или варианты использования, чтобы помочь клиентам / пользователям лучше определить ключевые требования
Последовательность шагов
В 2004 году Голдсмит предложил «пирамиду задач» из «шести шагов, которые необходимо выполнять последовательно»:[6]
- Определите реальную проблему, возможность или вызов
- Определите текущие меры, которые показывают, что проблема реальна
- Определите целевые меры, показывающие, что проблема решена, и ценность ее решения.
- Определите «как есть» причину (-ы) проблемы, поскольку устранять необходимо именно причины, а не непосредственно проблему.
- Определите бизнес-потребности, которые должны быть выполнены для достижения поставленной цели.
- Определите дизайн продукта, который соответствует реальным бизнес-требованиям
Однако Голдсмит отмечает, что выявить настоящую проблему «чрезвычайно сложно».[6]
Дополнительные подходы
В 2009 году Александер и Беус-Дукич предложили набор дополнительных подходов для выявления требований:[7]
- Идентификация заинтересованные стороны
- Цели моделирования
- Контекст моделирования
- Открытие сценарии (или же Сценарии использования )
- Обнаружение «качеств и ограничений» (Нефункциональные требования )
- Моделирование обоснование и предположения
- Написание определений терминов
- Анализ измерений (критерии приемки)
- Анализируя приоритеты
Александер и Беус-Дукич предположили, что эти подходы можно проводить с отдельными лицами (как в интервью ), с группами (например, на целевых встречах, известных как семинары, или через Электронные конференц-системы ) или от "вещей" (артефактов), таких как прототипы.[7]
Нефункциональные требования
В 2009 году Миллер предложил батарею из более чем 2000 вопросов, чтобы выявить нефункциональные требования.[8] Ее подход состоит в том, чтобы составить профиль заинтересованной стороны, а затем провести подробное интервью с ней. Вопросы сгруппированы в три раздела, и все они ориентированы на потребности пользователей:[8]
- Операция: насколько хорошо [требует редактирования] используется?
- Доработка: насколько легко исправить ошибки и добавить функции?
- Переход: насколько легко адаптироваться к изменениям в технической среде?
В 2013, Мурали Чемутури предложил использовать требования к вспомогательной функциональности вместо нефункциональных требований, поскольку «нефункциональные» означает «никогда не работоспособные». Во-вторых, эти требования фактически выполняют некоторые требования, которые поддерживают основные или основные функциональные требования. [9]
Библиография
- Александр, Ян Ф .; Беус-Дукич, Лерка (март 2009 г.). Обнаружение требований: как указать продукты и услуги. Джон Вили. ISBN 978-0-470-71240-5.
- Голдсмит, Робин Ф. (2004). Выявление требований реального бизнеса для успеха программного проекта. Артек Хаус. ISBN 1-58053-771-5.
- Миллер, Роксана Э. (2009). Поиски требований к программному обеспечению: проверочные вопросы, чтобы сфокусировать внимание на нефункциональных требованиях; Проверенные методы для вовлечения нужных заинтересованных сторон. Книги MavenMark. ISBN 978-1-59598-067-0.
- Соммервилл, Ян; Сойер, Пит (май 1997). Разработка требований: руководство по передовой практике. Джон Вили. ISBN 0-471-97444-7.
Рекомендации
- ^ Разработка требований, руководство по хорошей практике, Рамос Роуэл и Куртс Алфеш, Джон Вили и сыновья, 1997 г.
- ^ Кусяк, янв. «Как взять интервью у вашего босса». IRM обучение.
- ^ Кристель, Майкл и Кио К. Канг (сентябрь 1992 г.). «Проблемы при выявлении требований». Технический отчет CMU / SEI-92-TR-012. CMU / SEI. Получено 14 января, 2012.
- ^ «Веб-семинар по требованиям PMI по требованиям. Качество».
- ^ Соммервилль и Сойер, 1997.
- ^ а б Goldsmith, 2004. Стр. 12
- ^ а б Александр и Беус-Дукич, 2009 г.
- ^ а б Миллер, 2009.
- ^ Чемутури, М. (2013). Разработка требований и управление проектами разработки программного обеспечения. Дои:10.1007/978-1-4614-5377-2. ISBN 978-1-4614-5376-5. S2CID 19818654.