Анализ требований к автоматизированным информационным системам

Выявление требований

Лекция посвящена ключевому этапу создания информационных систем — выявлению требований. В ней подробно рассматриваются основные источники требований, которые не ограничиваются только пожеланиями заказчика, но включают анализ предметной области и использование лучших отраслевых практик. Основная часть лекции содержит обзор и практические рекомендации по применению различных стратегий сбора информации: от классических интервью и анкетирования до наблюдения, анализа документов и совместных семинаров (JAD, мозговой штурм). Особое внимание уделяется прототипированию как наиболее эффективному способу верификации понимания требований между заказчиком и исполнителем.

Основные мысли

1. Многообразие источников: Требования к системе черпаются не только от заказчика (бизнес-требования и требования пользователей), но и из описания предметной области (артефакты, документы), а также из «лучших практик» успешных компаний.
2. Интервью — ключевая стратегия: Интервью с экспертами остается основным методом сбора требований. Успех интервью зависит от тщательной подготовки, правильного ведения беседы (открытые вопросы, отсутствие критики) и грамотного завершения с подведением итогов.
3. Комбинирование методов: Не существует идеального метода. Анкетирование — дешево, но ненадежно; наблюдение — дает глубокое понимание, но может влиять на поведение сотрудников; анализ документов — полезен для первичного ознакомления, но может не содержать неформализованных знаний.
4. Сила коллективной работы: Совместные семинары (мозговой штурм, JAD-сессии) позволяют за короткое время сгенерировать множество идей, достичь консенсуса и исключить ошибки за счет живого общения всех заинтересованных сторон, хотя и являются затратным мероприятием.
5. Прототипирование как «зеркало» понимания: Создание прототипа — мощнейший инструмент выявления требований. Он подключает образное мышление и позволяет заказчику наглядно увидеть, как разработчик понял его потребности, что значительно эффективнее вербального или документарного описания.
Показывать лекцию целиком
Краткое изложение

Источники требований

Основным источником требований к информационной системе, безусловно, являются соображения, высказанные представителями Заказчика. В соответствии с иерархической моделью требований данная информация структурируется как минимум на 2 уровня:

  • бизнес-требования и
  • требования пользователей.
  • Проблема состоит в том, что требования формулируются к создаваемой, еще не существующей системе, т.е. по сути решается начальная подзадача задачи проектирования АИС, а представители Заказчика далеко не всегда бывают компетентны в данном вопросе. Поэтому, наряду с требованиями, высказанными Заказчиком, целесообразно собирать и требования от других совладельцев системы: сотрудников аналитической группы исполнителя, внешних экспертов и т.д.

    Результирующий, часто достаточно сырой материал рассматривается, как документ "Требования совладельцев"Терминология RUP . На требования совладельцев обычно не накладывается никаких специальных ограничений.

    Продолжая рассуждения, начатые в предыдущей лекции, модель создаваемой информационной системы в определенной мере должна отражать модель ОС.

    Поэтому другим важным источником информации, помимо выявления требований, являются артефакты, описывающие предметную область. Это могут быть документы с описанием бизнес-процессов предприятия, выполненные консалтинговым агентством, либо просто документы (должностные инструкции, распоряжения, своды бизнес-правил), принятые на предприятии. Одной из немногих методологий, в которой специально выделяется рабочий поток делового моделирования, является Rational Unified Process.

    Еще одна альтернатива, используемая при выявлении требований - так называемые "лучшие практики", широко используемые в настоящее время в бизнес-консалтинге и при внедрении корпоративных информационных систем. Лучшие практики представляют собой описания моделей деятельности успешных компаний отрасли, используемые длительное время в сотнях и тысячах компаний по всему миру.

    Подытоживая сказанное, отметим, что основными источниками, образующими "вход" процесса выявления требований, являются требования, высказанные совладельцами, как таковые или (и) артефакты, описывающие объект исследования. Однако, это - достаточно упрощенный взгляд: чтобы данные поступили "на вход", аналитики требований должны проделать немалую работу, связанную с подбором респондентов и информационных материалов, организацией интервью и т.д.

    Стратегии выявления требований

    Интервью

    Ключевой стратегией выявления требований было и остается интервью с экспертами.

    В ставшей уже классической, но ничуть не утерявшей актуальность монографии Д.Марко [6.1] в процессе проведения интервью предлагается выделить три подчиненных процесса: подготовку, проведение интервью (опроса) и завершение. Ниже приводится краткий обзор рекомендаций Д.Марко с акцентом на выявление требований (в монографии даны рекомендации по интервьюированию с целью формирования модели объекта исследования).

    1. Подготовка

    Подготовка позволяет спланировать процесс опроса и выработать стратегию управления этим процессом. Важность подготовительного этапа вырастает, если респондент является "дефицитным" полезным ресурсом, например - президентом крупной компании.

    При подготовке Д.Марко рекомендует следующие шаги:

  • выберите нужного собеседника;
  • договоритесь о встрече;
  • установите предварительную программу встречи;
  • изучите сопутствующую информацию;
  • согласуйте свои действия с группой проектирования В нашем случае - группой аналитиков требований .
  • При выборе собеседника для целей сбора требований определяющими являются две вещи:

  • Он действительно является экспертом по данному вопросу;
  • Его мнение действительно является ценным при формировании целевого набора требований На практике возможны ситуации, когда требование, сформулированное одним из представителей Заказчика, не подтверждается другим представителем, имеющим большие властные полномочия. Надо отчетливо понимать, что каждое требование в конечном итоге транслируется, с одной стороны, в компоненту информационной системы, а с другой - может быть выражено в определенном количестве денежных знаков, которые Заказчик должен будет выплатить Исполнителю по приемке работы. Поэтому право формулировать требования и область компетенции того или иного эксперта должны быть формально оговорены внутренним документом Заказчика, с которым следует ознакомится до начала проведения интервью..
  • Важно заранее оговорить цель встречи и ограничить беседу в пределах часа или менее. Практика показывает, что активное общение в процессе интервью, как правило, ограничивается часом. Если этого времени недостаточно, можно спланировать несколько встреч.

    Полезными приемами являются формирование программы беседы и ознакомление с ней респондента, подробное планирование беседы вплоть до записи подготовленных вопросов. Подготовленное таким образом интервью называют структурированным [6.2]. В дополнение к так построенному интервью автор [6.2] предлагает проводить неструктурированное интервью, "представляющее собой неформальную встречу, которой не свойственны заготовленные впрок вопросы или заранее поставленные цели". Цель такого интервью - пробудить респондента к креативу в области, в которой интервьюер недостаточно хорошо ориентируется.

    2. Проведение опроса

    Ниже приведена цитата из [6.1], с некоторыми сокращениями и исключением материала, не относящегося к АТ.

    В проведении опроса самое важное - правильно организовать и поддерживать поток информации от эксперта к вам. Рекомендуется потратить время на обдумывание верного начала опроса, при сборе информации по возможности использовать записи, заканчивать разговор плавно. Обсудим подробнее каждый из этих пунктов.

    Начиная разговор, не забудьте представиться и сформулировать цель встречи. Это поможет избежать недоразумений и даст беседе правильное направление. Кроме того, обговорите возможность ведения записей.

    Затем сформулируйте первый вопрос. Помните, что первый вопрос часто задает тон всему разговору, поэтому хорошо продумайте его.

    Собирайте информацию, делая записи обо всем (о специальных терминах, взаимосвязях между частями системы и т.п.) и ограничивая время беседы. Запишите SADT-функции и данные, попытайтесь набросать диаграмму. Поддерживайте поток информации, задавая вопросы, которые уточняют и подтверждают ответы.

    Прежде всего, не возражайте.

    Никогда не задавайте наводящих вопросов или вопросов с короткими ответами "да" или "нет". Вместо этого записывайте то, что вам говорят, и просите подвести итог или дать пояснения.

    Вы получите от опроса больше, если вы дадите эксперту возможность говорить то, что он хочет сказать, а не то, что вы хотите услышать.

    SADT (Structured Analysis and Design Technique) - технология структурного анализа и проектирования [29]. Была предложена в конце 1960-х Дугласом Россом, как средство моделирования произвольных искусственных систем. На практике широко используется в бизнес-аналитике в качестве графической нотации моделирования бизнес-процессов на предприятиях. Легла в основу стандарта группы IDEF - IDEF0. Характеризуется высокой степенью формализации и простотой языка: основных "строительных блоков" в графических диаграммах – всего два: стрелка (объект, связь) и блок (функция).

    3. Завершение

    Следите за возникновением следующих ситуаций [6.1]:

  • вы уже получили достаточно информации;
  • вы получаете большой объем неподходящей информации;
  • обилие информации вас подавляет;
  • эксперт начинает уставать;
  • у вас с экспертом часто возникают конфликты.
  • Любая из этих причин - достаточное основание для завершения беседы.

    Когда вы считаете нужным закончить опрос, завершайте беседу плавно. Кратко подытожьте основные пункты и сделайте обзор полученных сведений, которые могут быть опущены или неверно истолкованы. Договоритесь о времени следующей встречи, если она нужна, и получите рекомендации для ближайших опросов. Поставьте эксперта в известность, когда и как вы собираетесь использовать полученную информацию и когда вы пришлете ему материал на рецензирование.

    Всегда оформляйте материалы опроса сразу же после встречи с экспертом. В этом случае немедленно возникает обратная связь, и вы минимизируете возможность потери важной информации.

    Что нужно помнить при опросе

    Следующие рекомендации помогают поддерживать непрерывность потока и достоверность информации, поступающей от эксперта [6.1]:

  • делайте паузы, пока эксперт думает. Дайте эксперту возможность решать, что сказать дальше. Никогда не перебивайте, подсказывая ответ или задавая другой вопрос;
  • старайтесь не задавать наводящих вопросов, вопросов-подсказок, вопросов, содержащих ответ, потому что это не позволяет эксперту делиться своими знаниями. Старайтесь не задавать контрольных вопросов, так как это прерывает поток информации;
  • делайте записи, чтобы сосредоточиться на предмете разговора и чтобы подготовиться к следующему вопросу, но не становитесь стенографом, иначе вы можете потерять контроль над опросом.
  • Анкетирование

    Анкетирование - самый малозатратный для аналитика способ извлечения информации, он же - и наименее эффективный. Обычно применяется как дополнение к другим стратегиям выявления требований.

    Недостатки анкетирования очевидны: респонденты часто бывают неспособны, либо слабо мотивированы в том, чтобы хорошо и информативно заполнить анкету. Велика вероятность получить неполную или вовсе ложную информацию. Преимущество - в том, что подготовка и анализ анкет требуют небольшой ресурс.

    Л.Мацяшек [6.2] рекомендует формулировать в анкетах вопросы с замкнутым циклом ответов в одной из следующих трех форм.

    Многоальтернативные вопросы. Эта форма анкеты известна всем, кто когда либо проходил тестирование; может расширяться комментариями респондента в свободной форме.

    Рейтинговые вопросы. Представляют предопределенный набор ответов на сформулированные вопросы. Используются такие значения, как "абсолютно согласен", "согласен", "отношусь нейтрально", "не согласен", "абсолютно не согласен", "не знаю".

    Вопросы с ранжированием. Предусматривает ранжирование (упорядочивание) ответов путем присваивания им порядковых номеров, процентных значений и т.п.

    Наблюдение

    Наблюдение за работой моделируемой организационной системы - полезная стратегия получения информации (хотя, строго говоря, по результатам наблюдения можно получить модель ОС, а не модель АТ).

    Различают пассивное и активное наблюдение. При активном наблюдении аналитик работает, как участник команды, что позволяет улучшить понимание процессов.

    Через наблюдение, а возможно, и участие аналитики получают информацию о происходящих день за днем операциях из первых рук. Во время наблюдения за работой системы часто возникают вопросы, которые никогда бы не появились, если бы аналитик только читал документы или разговаривал с экспертами.

    Недостатком этой стратегии является то, что наблюдатель, как и всякий "измерительный прибор", вносит помехи в результаты измерений: сотрудники организации, находясь "под колпаком" могут начать вести себя принципиально по-другому, чем обычно.

    Самостоятельное описание требований

    Документы - хороший источник информации, потому что они чаще всего доступны и их можно "опрашивать" в удобном для себя темпе. Чтение документов - прекрасный способ получить первоначальное представление о системе и сформулировать вопросы к экспертам.

    Если опытный аналитик уже исследовал большое число систем такого же типа, что и на предприятии внедрения, он обладает фундаментальными знаниями в соответствующей предметной области, относительно определенного класса систем. Авторы методологии SADT рекомендуют проводить самоопрос с тем, чтобы получить максимальную пользу от своих знаний.

    По результатам анализа документов и собственных знаний аналитик может составить описание требований и предложить его представителям Заказчика в качестве информации к размышлению, либо - основы для формирования технического задания.

    Недостаток этой стратегии - опасность пропуска знаний, специфичных для объекта исследования (в случае самоопроса), либо - неформализованных знаний, эмпирических правил и процедур, широко используемых на практике, но не вошедших в документы.

    Совместные семинары

    Помимо классического интервью "тет а тет", существует значительное количество методик, предполагающих широкое участие представителей Заказчика и Исполнителя.

    Правила мозгового штурма предполагают полную раскрепощенность и свободу мнений, даже самых вычурных и на первый взгляд "бредовых". Первое правило мозгового штурма - "полный запрет на любую критику". Всякое высказанное мнение представляет ценность, а полное отсутствие запретов позволяет полноценным образом подключить творческую фантазию.

    Затем, на втором этапе, все высказанные мнения тщательным образом обсуждаются, заведомо неприемлемые варианты отсеиваются, формируются коллективные предложения.

    Правила JAD-метода, считающегося одним из современных способов извлечения требований, были впервые сформулированы в конце 1970-х годов компанией IBM. Участники JAD-совещания:

    Ведущий - специалист в области межличностных коммуникаций. Должен ориентироваться в предметной области, но не обязательно хорошо ориентироваться в проблемах IT.

    Секретарь - стенографист встречи. Фиксирует ее результаты на компьютере. Возможно применение CASE-средств.

    Заказчики - пользователи или руководители, основные участники, формирующие, обсуждающие требования и принимающие решения.

    Разработчики - аналитики и другие участники проектной команды. Работают в большей части в пассивном режиме с целью наилучшего понимания проблемной области.

    JAD (Joint Application Development or Design) - cовместная разработка (или проектирование) приложений. Согласно PMBOK, JAD – это семинар с участием модератора, использующийся в области разработки программного обеспечения. Метод направлен на предоставление пользователям возможности встретиться с командой разработчиков для улучшения процесса разработки программного продукта. Основная задача модератора – организовать поток информации от заказчика к клиенту, направленный на выявление требовании к программному обеспечению. Роль разработчика в процессе совещания в основном сводится к пассивному слушанию с целью наилучшего понимания проблемной области.

    Совместные семинары, сохраняя все преимущества режима интервью, привносят дополнительные бонусы: работа в группе более продуктивна, группы быстрее обучаются, более склонны к квалифицированным заключениям, позволяют исключить многие ошибки.

    Эта стратегия, очевидно, одна из самых затратных, однако она окупается за счет меньшего количества ошибок и отказе от формализации в пользу живого общения, выработке общего языка и пр. Некоторые методологии (например, XP) зиждутся на постоянном тесном контакте между Заказчиком и Исполнителем и, если такой возможности нет - XP-проект просто не сможет состояться.

    "Разъясняющие встречи" [6.3] или "запланированный мозговой штурм" - термин, пришедший из общей практики менеджмента и базирующийся на идеях сотрудничества заинтересованных лиц для совместного анализа путей решения проблем, определения и предупреждения рисков и т.п.

    Как и проведение интервью, организация семинара требует соблюдения правил, с которыми можно познакомиться в [6.2,6.4].

    Прототипирование

    Прототипирование - ключевая стратегия выявления требований в большинстве современных методологий (подробнее см. в лекции 10). Программный прототип - "зеркало", в котором видно отражение того, как понял Исполнитель требования Заказчика. Процесс выявления требований путем прототипирования тем более интенсивен, чем это зеркало кривее. Документальный способ выявления требований всегда уступает живому общению. Анализ того, что сделано в виде интерфейсов пользователя дает еще больший эффект. Подключается правополушарный канал восприятия, который, как известно, работает у большинства людей на порядок эффективнее, чем вербальный.

    Метод RAD - один из наиболее известных способов быстро создавать прототипы Хотя задачи RAD на этом не ограничиваются .

    RAD базируется на следующих базовых принципах:

    RAD (Rapid Application Development) – быстрая разработка приложений. Согласно словарю IT-терминологии Гарднер, http://blogs.gartner.com/it-glossary, RAD – это подход, ориентированный на небольшие группы (обычно двух до шести человек, но не более чем 10), позволяющий, на основе использования метода JAD и технологии итеративного прототипирования, строить интерактивные системы низкой и средней сложности в сроки от 60 до 120 дней.

  • Эволюционное прототипирование;
  • CASE-средства, как основной инструмент, включая возможности прямого и обратного проектирования и автоматической генерации кода;
  • Высококвалифицированные специалисты, хорошо владеющие развитыми инструментальными средствами;
  • Интерактивный JAD-метод, в котором общение совмещается с разработкой в режиме online;
  • Жесткие временные рамки, как противоядие от "расползания границ" проекта: если команда не укладывается в срок - функционал сужается.
  • Лекция делится на две основные части: источники требований и стратегии их выявления.

    Источники требований:
    Основным источником являются представители заказчика, которые формулируют бизнес-требования и требования пользователей. Однако из-за их возможной некомпетентности в вопросах проектирования, необходимо привлекать и других «совладельцев» системы — аналитиков, экспертов. Полученный сырой материал оформляется как документ «Требования совладельцев». Вторым важным источником выступает сама предметная область, описанная в документах, регламентах и моделях бизнес-процессов. Третьим источником являются «лучшие практики» — готовые модели деятельности успешных компаний.

    Стратегии выявления требований:
    В лекции подробно разбираются следующие стратегии:
    • Интервью: Рассматривается как трехэтапный процесс (подготовка, проведение, завершение). Даются практические советы: выбирать нужного эксперта, готовить структурированные вопросы, не перебивать, не задавать наводящих вопросов, сразу оформлять результаты.
    • Анкетирование: Характеризуется как малозатратный, но малоэффективный метод. Рекомендуется использовать закрытые вопросы (многоальтернативные, рейтинговые, с ранжированием).
    • Наблюдение: Позволяет получить информацию из первых рук. Бывает пассивным и активным (с участием аналитика). Недостаток — влияние наблюдателя на поведение сотрудников.
    • Самостоятельное описание: Основано на анализе документов и собственном опыте аналитика. Позволяет быстро получить первичное представление, но есть риск упустить специфические или неформализованные знания.
    • Совместные семинары: Включают мозговой штурм (с полной свободой мнений на первом этапе) и JAD-метод (структурированная встреча с ведущим, секретарем, заказчиками и пассивно слушающими разработчиками). Это затратный, но очень эффективный способ.
    • Прототипирование: Называется ключевой стратегией. Прототип выступает «зеркалом», отражающим понимание требований разработчиком. Метод RAD (быстрая разработка приложений) приводится как пример подхода, основанного на итеративном прототипировании и JAD.

    Выводы

    1. Процесс выявления требований не является пассивным получением списка пожеланий от заказчика. Это активная исследовательская работа, требующая от аналитика комбинирования информации из разных источников.
    2. Эффективное выявление требований строится на синергии различных стратегий. Аналитик должен уметь выбирать и сочетать методы (интервью, наблюдение, анализ документов) в зависимости от ситуации и доступности ресурсов.
    3. Живое общение и совместная работа (интервью, семинары, прототипирование) дают более качественный результат, чем формальные методы (анкетирование) или работа только с документами, так как позволяют выявить скрытые знания и достичь общего понимания.
    4. Прототипирование является наиболее мощным инструментом верификации, так как оно переводит абстрактные требования в конкретную, видимую форму, доступную для оценки всеми участниками проекта.

    Вопросы для самопроверки

    1. Перечислите три основных источника требований к информационной системе, описанных в лекции. В чем заключается проблема требований, исходящих только от заказчика?
    2. Какие три этапа выделяет Д. Марко в процессе проведения интервью? Кратко охарактеризуйте каждый из них.
    3. Почему во время интервью не рекомендуется задавать наводящие вопросы или вопросы, предполагающие ответ «да»/«нет»?
    4. В чем заключаются основные преимущества и недостатки такой стратегии выявления требований, как анкетирование?
    Вернуться к учебному плану