Возможность быстрого моделирования требований

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


Содержание

  1. Ловкие требования моделирование в миниатюре
  2. Где требования пришел?
  3. Лучшие практики
  4. Типы требований
  5. Потенциальные артефакты требования
  6. Методы выявления требований
  7. Общие требования проблемы моделирования
  8. ловкий требованиям управления изменениями


1. Требования быстрого моделирования в двух словах

Рисунок 1 отражает ловкий Model Driven Development (AMDD) жизненного цикла, на которой изображен как ловкий моделирование (АМ) применяется ловкий разработки программного обеспечения команды. Критические аспекты, которые мы обеспокоены сейчас являются начальными требованиями к моделированию, итерации моделирования и модели штурм. Основная идея в том, что у вас в обрез моделирования в начале проекта, чтобы понять требования к системе на высоком уровне, то вы собираете детали, как вам нужно, чтобы на только-In-Time (JIT) основе.

AMDD жизненного цикла

1

1.1. Начальные требования моделирования

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

  1. Использование модели. Как следует из названия модели использования позволяют исследовать, каким образом пользователи будут работать с вашей системой. Это может быть коллекция существенно случаев использования на Rational Unified Process (RUP) проекта коллекцию особенности для функций Driven Development (FDD) проекта, или коллекцию пользовательских историй для экстремального программирования (XP) проекта.
  2. Первоначальная модель предметной области. Модели предметной области определяет фундаментальные хозяйствующего субъекта типов и отношений между тогдашним. Домен модели могут быть изображены в виде набора классов Ответственность Сотрудника (КПР) карт, Slim класса UML диаграммы, или даже тонкая модель данных. Этот домен модель будет содержать достаточно информации: основные субъекты области, их основные атрибуты и отношения между этими лицами. Ваша модель антиплазмин должны быть полными, он просто должен охватывать достаточно информации, чтобы вы комфортно с первичных понятий области.
  3. Пользовательский интерфейс модели. Для пользовательского интерфейса интенсивных проектов, которые вы должны рассмотреть вопрос о разработке некоторых экране эскизы или даже прототип интерфейса пользователя.

Какой уровень детализации вы на самом деле нужно? Мой опыт показывает, что вам нужно требований артефакты, которые едва достаточно для того чтобы дать вам это понимание и не более того. Например, Рисунок 2 отражает простая точка-формы варианта использования. Этот вариант использования может очень хорошо были написаны на карточках, часть флип-бумажной карте, или на доске. Он содержит достаточно информации, чтобы вы поняли, что вариант использования делает, и на самом деле он может содержать слишком много информации для этой точки в жизненном цикле, потому что только название варианта использования может быть достаточно для заинтересованных сторон, чтобы понять основы что вы имеете на виду. Рисунок 3, с другой стороны, отражает полностью документированы формальных вариантов использования. Это отличный пример того, хорошо документированы использования, но она идет в гораздо более подробно, чем вы, возможно, необходимо прямо сейчас. Если вам действительно нужно таком уровне детализации, и на практике редко можно сделать, вы можете захватить его, если вы на самом деле нужно от модели штурма его на время. Чем дольше проекта ваша команда идет без обратной связи конкретных рабочих программного обеспечения, тем больше вероятность того, что вы моделирования вещи, которые не отражают то, что ваши заинтересованные стороны действительно необходимо.

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

Рисунок 2. – Точка-формы использования.

Название: Записаться на семинар

Базовый курс действий:

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

Рисунок 3. Подробные случае использования.

Название: Записаться на семинар

Идентификатор: UC 17

Описание:

Зарегистрируйтесь существующих студента в семинаре, на которые она имеет право.

Предпосылки:

Студенческие зарегистрирован в университете.

Постусловия:

Студент будет зачислен в Конечно, она хочет, если она имеет право и номера.

Базовый курс действий:

  1. Прецедент начинается, когда студент желает поступить в семинаре.
  2. Студент входы ее имя и число студентов в системе через UI23 безопасности Логин экрана.
  3. Система проверяет студент имеет право записаться на семинары в университете в соответствии с бизнес-правила определения права BR129 зарегистрироваться. [Alt курс]
  4. Система выводит UI32 семинар экран выбора, что указывает на список доступных семинаров.
  5. Студент показывает на семинар, в котором она хочет поступить. [Alt Курс B: студент решит не записаться]
  6. Система проверяет студент имеет право записаться на семинар в соответствии с правилом BR130 бизнес Определить Студенческая Право поступать в семинаре. [Alt курс C]
  7. Система проверяет семинар вписывается в существующий график студента в соответствии с бизнес-правила BR143 Проверка Студенческая Расписание семинаров.
  8. Система рассчитывает плату за семинар основан на плату опубликованы в течение каталога, соответствующие сборы студентов, и налоги. Применить бизнес-правил BR 180 Рассчитать сборы студентов и BR45 расчета налогов для семинара.
  9. Система выводит платы через UI33 Показать семинар сборы экрана.
  10. Система спрашивает студента, если она все еще хочет записаться на семинар.
  11. Студент показывает она хочет поступить в семинаре.
  12. Система регистрирует студента в семинаре.
  13. Система информирует студентов обучалось успешного через UI88 семинар регистрации Резюме экрана.
  14. Система счетов студентов на семинар, в соответствии с бизнес-правила BR100 Билл Студенческие для семинара.
  15. Система спрашивает студента, если она хочет печатных заявление регистрации.
  16. Студент показывает она хочет печатных заявление.
  17. Система печатает регистрации заявления UI89 регистрации короткого доклада.
  18. Вариант использования заканчивается, когда студент принимает печатных заявление.

Альтернативный курс А: студент не право зарегистрироваться в семинарах.

А.3. Регистратор определяет студент не имеет права поступать в семинарах.

А.4. Регистратор сообщает студентам, он не имеет права поступить.

А.5. Вариант использования концах.

Альтернативные Курс B: студент решает не поступать в Работает Семинара

B.5. Студент просматривает список семинаров и не видит, в котором он хочет поступить.

B.6. Вариант использования концах.

Альтернативный курс C: студент не Предпосылки

С.6. Регистратор определяет студент не имеет права поступать в семинаре он выбрал.

С.7. Регистратор сообщает студентам, он не имеет предпосылок.

С.8. Регистратор сообщает студент предпосылки ему нужно.

С.9. Использовать делу продолжается на шаге 4 в базовый курс действий.

1.2. Итерация Моделирование

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

1.3. Модель Штурм

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

Чтобы узнать подробности этого требования, разработчикам (или разработчиками на проектные группы, которые принимают подхода к программированию пара), просят своих заинтересованных сторон (S), чтобы объяснить, что они означают. Часто это делается путем эскизы на бумаге или доске с заинтересованными сторонами. Эти модели штурма сессий, как правило, экспромтом событий и обычно длятся от пяти до десяти минут (это с редкой для моделирования шторм более тридцати минут, потому что требования куски настолько малы). Люди собираются вместе, собираются вокруг общих инструмент моделирования (например, классная доска), изучить вопрос, пока их удовлетворен тем, что они понимают его, а затем они продолжат (часто кодирования). Extreme программистов (XPers) назвал бы требованиям моделирование штурма сессий “клиентов Q & сессий”.

2

В пример определения того, что экран будет выглядеть, вместе с заинтересованными сторонами (ы) вы эскиза, что хотите экране выглядеть, изображение несколько примеров пока не пришли к общему пониманию того, что должно быть построено. Эскизы такие как этого являются включая модели, потому что вы используете простые инструменты и методы моделирования, что позволило ловкий моделирование (АМ) практики ловкий Участие заинтересованных сторон. Лучшие люди для моделирования требований заинтересованных сторон, потому что они те, кто экспертом в этой области, а не вы.

Подробный пример того, как идти о моделировании требования, читать статьи ловкий Требования модельном примере.

1.4. Принятие Test Driven Development (ATDD)

Разработка через тестирование (TDD) (Beck 2003; Astels 2003), является эволюционный подход к развитию, который, что требует значительных дисциплины и умения (и хороший инструмент).Первый шаг заключается в быстро добавить тест, в основном достаточно кода на провал. Далее вы запускаете тесты, часто полный набор тестов, хотя ради скорости вы можете решить для запуска только часть, чтобы убедиться, что новый тест, на деле неудачу. Затем обновите функциональный код, чтобы сделать его пройти новые испытания. Четвертым шагом является запуск тестов снова. Если они не смогут вам необходимо обновить вашу функциональный код и повторите тест. Как только тесты проходят следующим шагом будет начать все сначала (возможно, вам в первую очередь необходимо, чтобы реорганизовать любое дублирование из вашего дизайна по мере необходимости). Как показано на рисунке 4 представлена​​, есть два уровня TDD:

  1. Принятие TDD (ATDD). С ATDD вы пишете одно приемочные испытания, или поведенческие спецификации в зависимости от ваших предпочтительных терминов, а затем просто достаточно функциональности производства / код для выполнения этого теста. Цель ATDD это указать подробные, исполняемые требования для вашего решения на как раз вовремя (JIT) основе. ATDD также называется Behavior Driven Development (BDD).
  2. Разработчик TDD. С разработчиком TDD вы пишете одно разработчик тестов, иногда неточно называют модульного теста, а затем просто достаточно рабочий код для выполнения этого теста. Целью разработчиков TDD это указать подробные, исполняемый дизайн для вашего решения на основе JIT. Разработчик TDD часто называют просто TDD.

Рисунок 4. Как ATDD и разработчик TDD сочетаются друг с другом.

3

С ATDD вы не обязаны также принять подход разработчиков к реализации TDD производства кода, хотя подавляющее большинство команд сделав ATDD также сделать разработчику TDD. Как вы видите на Рисунке 4, когда вы объединяете ATDD и разработчик TDD создание единого приемочные испытания в свою очередь, требует, чтобы вы итерацию несколько раз в течение написать тест, написать рабочий код, получить его рабочего цикла на уровне разработчика TDD. Очевидно, чтобы сделать TDD работает, вам нужно иметь один или несколько каркасов для тестирования доступны для вас. Для принятия TDD люди будут использовать такие инструменты, как Fitnesse или RSpec и для разработчиков TDD разработчики Agile Software часто используют XUnit семьи с открытым исходным кодом, такие как JUnit или VBUnit. Коммерческие инструменты тестирования также жизнеспособных вариантов. Без таких инструментов TDD практически невозможно.

5

Есть несколько важных преимуществ ATDD. Во-первых, тесты не только проверить свои работы на подтверждающем уровне они установлены также исполняемых спецификаций, о которых написано в только в срок (JIT) образом. Изменяя порядок, в котором вы работаете тесты по сути делать двойную работу. Во-вторых, прослеживаемость от детальные требования к тест автоматического потому приемочные испытания являются ваши детальные требования (что существенно снижает ваши усилия отслеживания технического обслуживания, если вам нужно, чтобы сделать такую ​​вещь). В-третьих, это работает для всех типов требований – хотя большая часть обсуждение ATDD в гибкой сообщества сосредоточена на написание тестов для пользовательских историй, в том, что это работает для использования, сценарии использования, бизнес-правила, и многие другие виды артефактов моделирования требований.

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

2. Откуда приходят требования?

Ваш заинтересованных сторон проекта прямых или косвенных пользователей, менеджеров, топ-менеджеры, сотрудники операций, поддержки (Help Desk) сотрудников, тестировщиков, разработчики, работающие на другие системы, которые объединяют или взаимодействовать с вашим, и обслуживание специалисты только официальный источник требований (Да, разработчики могут предложить требованиям, но заинтересованные стороны должны принять предложения). На самом деле это ответственность участников проекта, чтобы обеспечить, уточнить, определить и приоритеты требований. Кроме того, права участников проекта, что разработчикам инвестировать время, чтобы определить и понять эти требования. Это понятие имеет решающее значение для вашего успеха как ловкий Modeler это роли участников проекта, чтобы обеспечить требования, это роли разработчиков, чтобы понять и реализовать их.

Означает ли это, что вы сидите в ступор ждем ваших заинтересованных сторон проекта рассказать вам, что они хотят? Нет, конечно, нет. Вы можете задавать вопросы, чтобы исследовать то, что они уже сказал вам, возможно, анализ деятельности, что помогает им определить подробнее, что они хотят, и, возможно, даже пересмотреть и изменить свое первоначальное требование (ы). Вы можете предложить новые требования к ним, ключевые слова, которое предлагают, что они должны рассмотреть и принять или (возможно, с изменениями и дополнениями) или отклонить как официальные требования. Для выявления потенциальных требований вы можете также, часто с помощью вашего проекта заинтересованные стороны, работать в рамках существующих документов, таких, как корпоративное руководство политикой, существующими традиционными системами, или публично доступных ресурсов, таких как информация о Сети, книги, статьи из журналов, или продуктов и услуг ваших конкурентов. Еще раз, это ваш участников проекта, которые являются основным источником требований, это их решение, а не ваша. Я не могу быть более решительным об этом.

Где ваши заинтересованные стороны проекта получить идеи? Они часто имеют любимых мозолей о существующей среде, “Мне очень жаль, что мы могли бы сделать это.”, Увидеть то, что их конкуренты могут делать, что они не могут, может потребоваться, чтобы избежать проблем, которые они претерпели в прошлом с других систем, или, возможно, просто видение новой функции. Некоторые заинтересованные стороны, в частности, оперативного персонала и старших ИТ-управления, возможно, требования, основанные на необходимости интеграции с существующими или быстро, чтобы быть существующими системами или требования мотивированы стратегии ИТ, такие как сокращение числа вычислительных платформ в вашей организации. Дело будет сделано в том, что ваши заинтересованные стороны проекта должна быть разработка требований, основанных на широком диапазоне материалов, то, что вы можете гарантировать, что происходит, задавая вопросы.

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

3. Рекомендации

Есть несколько “лучшие практики”, которые должны помочь вам стать более ловким из моделировании требования:

  • Заинтересованные стороны активно участвовать
  • включительно моделей Принять
  • Возьмите в ширину подход
  • Модель бурю подробности Just In Time (JIT)
  • Предпочитают выполненных спецификаций на статической документации
  • Ваша цель заключается в реализации требований, не документ их
  • Создать независимый от платформы требования к точке
  • Меньше, тем лучше
  • Вопрос прослеживаемость
  • Объясните методы
  • Принять заинтересованных терминологии
  • Держите это весело
  • Получить поддержку управления
  • Включите заинтересованных сторон в разработчиков
  • Лечить требованиями, такими как приоритетные стека


4. Типы требований

Я та твердо верит в разделяет требования на две категории:

  1. Поведенческая. Поведенческих требования описывает, как пользователь будет взаимодействовать с системой (вопросы пользовательский интерфейс), как кто-то будет использовать системы (использование), или как система выполняет бизнес-функции (бизнес-правила). Это часто называют функциональным требованиям.
  2. Неповеденческая. Номера-поведенческие требования описывает технические особенности системы, особенности обычно относящиеся к доступности, безопасности, производительности, совместимости, надежности и надежности. Non-поведенческие требования часто называют “нефункциональные” требования в связи с плохой наименования Решение, принятое IEEE (насколько я могу судить нефункциональные следует, что она не работает).

Это важно понять, что различие между поведенческих и НЕ поведенческих требований является нечеткое выполнение требований описанием ожидаемых скорость доступа к данным явно технический характер, но будет также отражено в ответ время пользовательский интерфейс, который влияет на удобство использования и потенциала использование. Контроль доступа вопросы, такие как: кто имеет право доступа конкретной информации, явно поведенческие требования, хотя они, как правило, считается проблема безопасности, которая попадает в не-поведенческих категорий. Ослабьте немного и Дон Т позволить себе зацикливаться на таких вопросах, как этот. Критической вещь должна определить и понять данное требование, если вы неправильно классифицировать требование, кто действительно заботится?

5. Потенциальные артефактами требований

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

Таблица 1. Кандидат артефакты для моделирования требований.

Таблица 1. Кандидат артефакты для моделирования требований.

Артефакт Тип Простой инструмент Описание
Приемочные испытания Или FITNesse Описание наблюдаемой особенностью системы, которая представляет интерес для одного или нескольких заинтересованных сторон проекта.
Определение бизнес-правил Или Индекс карты Описание наблюдаемой особенностью системы, которая представляет интерес для одного или нескольких заинтересованных сторон проекта.
Изменить регистр Или Индекс карты Изменение случаях используются для описания новых потенциальных требований к системе или модификации существующих требований.
CRC модели Или Индекс карты Изменение случаях используются для описания новых потенциальных требований к системе или модификации существующих требований.
Определение ограничения Или Индекс карты Ограничением является ограничение на степень свободы вы имеете в получение раствора. Ограничения являются эффективным мировым требованиям вашего проекта.
Диаграмма потоков данных (DFD) Или доска рисования Потока данных диаграммы (DFD) показывает перемещение данных внутри системы между процессами, сущностей и хранилищ данных. При моделировании требований DFD могут быть использованы для моделирования контексте вашей системы, определения основных внешних сущностей, который взаимодействует с системой.
Эфирные прототип пользовательского интерфейса Или Должности, он отмечает и бумага для флипчарта Существенным пользовательский интерфейс (UI) прототип низкой точности модели или прототипа, пользовательского интерфейса для вашей системы – представляет собой общее идеи, лежащие в UI, но не точные детали.
Эфирные случае использования Поведение Бкмага Вариант использования представляет собой последовательность действий, которые обеспечивают измеримое значение для актера. Существенным прецедентов является упрощенным, абстрактным, обобщенным вариантом использования, который фиксирует намерения пользователя в технологии и внедрение независимым образом.
Признак Либо, обычно, Поведенческая Индекс карты Особенностью является “маленький, полезный результат в глазах клиента”. Особенностью является крошечный строительный блок для планирования, отчетности и отслеживания. Это понятно, измеримых и выполнимо (наряду с несколькими другими функциями) в течение двух недель приращения
Техническое требование Неповеденческое Индекс карты Техническое требование относится к нефункциональные аспект вашей системы, такие как связанные с производительностью вопрос, вопрос надежности, или техническая проблема окружающей среды.
Сценарий использования Поведенческое Индекс карты Сценарий использования описывает один путь логики через один или несколько вариантов использования или пользовательских историй.Использование сценария может представлять основной курс действий, счастливый путь, через один вариант использования, сочетание частей счастливому пути заменены шаги из одного или нескольких альтернативных путей через одного случая использования, или путь охватывающих несколько случаев использования или пользовательских историй.
Диаграмма варианта использования Поведенческое Эскиз доски Прецедентов схеме представлена ​​коллекция прецедентов, актеров, их объединений, и, возможно, коробку границы системы. При моделировании требований диаграммы прецедентов могут быть использованы для моделирования контексте вашей системы, определения основных внешних сущностей, который взаимодействует с системой.
История пользователя Или Индекс карты Пользовательская история является напоминанием для разговора с вашим заинтересованных сторон проекта. Пользовательские истории захвата требований высокого уровня, в том числе поведенческих требований, бизнес-правил, ограничений и технических требований.

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

Основной процесс часто мотивирует артефакт выбор. На главной странице я показывают, что М. используется в сочетании с другим программным обеспечением процесса, такие как экстремального программирования (XP) или унифицированный процесс (UP), чья сфера является полный жизненный цикл. Очень часто основной процесс будет предпочитают некоторые первичные требования артефакт (ы), в случае истории XP пользователь и для UP случаев использования, вопрос, который необходимо учитывать при моделировании требований. Смотрите статьи М., XP и AM и УП для дальнейших подробностей.

6. Методы выявления требований

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

Таблица 2. Требования методов сбора информации.

Техника Описание Сила (ы) Слабость (ES) Пребывания Agile
Активное участие заинтересованных сторон Расширяет On-Site клиентов также есть заинтересованные стороны (клиента) активно сотрудничает с моделированием их требованиям.
  • Высоко совместной технику
  • Людей с знаний предметной области определяют требования
  • Информация предоставляется команде своевременно
  • Решения принимаются своевременно
  • Многие заинтересованные стороны должны изучить навыки моделирования
  • Заинтересованные часто не доступны 100% времени
  • Арии вашем грязном белье для заинтересованных сторон
  • Это не становится более гибким, чем это
Электронные Интервью Берете интервью у человека по телефону, с помощью видео-конференц-связи, или по электронной почте.
  • Поддержка сред с рассредоточенными заинтересованных сторон
  • Обеспечивает постоянную запись беседы
  • Ограниченные технику взаимодействия
  • Ограниченная информация может быть передана электронным
  • Рискованный, когда подходит ваша единственным средством связи
  • Идеально подходит для поддержки других методов, а не в качестве основного средства сбора информации
  • Лицом к лицу интервью должны быть предпочтительнее, чем электронные
Лицом к лицу интервью Вы встречаетесь с кем-то, чтобы обсудить их требования. Хотя интервью иногда импровизированные событий, она является более общим запланировать определенное время и место, чтобы встретиться и обеспечить по крайней мере неофициальные повестки дня собеседник агентства. Кроме того, общие предоставить копию заметки интервью интервьюируемый, а также некоторые дополнительные вопросы, для рассмотрения позже. Одна из опасностей интервью является то, что вам скажут, как человек идеально хочет работать, не так, как они на самом деле работают. Вы должны умерить интервью с фактическими наблюдениями.
  • Совместные технику
  • Вы можете вызвать много информации быстро из одного человека
  • Люди скажут вам вещи по секрету, что они не будут публично
  • Интервью должны быть запланированы заранее
  • Навыки интервьюирования, трудные для понимания
  • Будьте готовы к последующей
  • Проведения опроса на доске, так что вы можете рисовать, как вы говорите, превращая интервью в модель штурма сессии
  • Активно слушать, что они говорят
Фокус-группы Вы приглашаете группу фактических и / или потенциальных конечных пользователей обзор действующей системы, если она существует, и мозговой штурм требования к новой.
  • Совместные технику
  • Значительное количество информации можно получить быстрее
  • Хорошо работает с рассредоточенными заинтересованных сторон
  • Хорошо работает, когда реальные пользователи еще не существует
  • Должны быть запланированы заранее
  • Много неважной информации будут передаваться
  • Трудно определить правильные люди
  • Фокус-группы могут быть направлены одним волевым отдельных
  • Держите его в комнате с доски или бумага для флипчарта, чтобы люди могли рисуется как они говорят
Применение совместного проектирования (JAD) JAD является содействие и высоко структурированной встреча, которая имеет конкретные роли посредника, участник, писец, и наблюдателя. JADS определили правила поведения в том числе, когда говорить, и как правило, используют U-образный стол. Это обычная практика для распространения четкой повестки дня и информационный пакет которой каждый, как ожидается, прочитайте перед JAD. Официальный протокола заседания записываются и распространяются через JAD, в том числе список действий назначаются при JAD что посредник несет ответственность за обеспечение самом деле, выполняются.
  • Посредник может держать группа сосредоточила
  • Значительное количество информации можно получить быстрее
  • Хорошо работает с рассредоточенными заинтересованных сторон
  • Ограниченные технику взаимодействия
  • Упрощение требует большого мастерства
  • JADS должны быть запланированы заранее
  • Ослабить правила о том, когда люди могут говорить
  • Держите его в комнате с доски или бумага для флипчарта, чтобы люди могли рисуется как они говорят
Анализ старым кодом Вы работаете через код, а иногда и источники данных, существующего приложения, чтобы определить, что он делает.
  • Определяет, что было на самом деле реализованы
  • Ограниченные технику взаимодействия
  • Фактические требования обычно отличаются от того, что у Вас уже есть
  • Это может быть очень трудно извлечь из требований унаследованного кода, даже с хорошими инструментами
  • Должно быть смягчена с более интерактивной методики, такие как интервью и активном участии заинтересованных сторон.
Наблюдение Вы сидите и наблюдайте конечным пользователям делать свою повседневную работу, чтобы видеть то, что происходит в действительности, а часто идеалистический взгляд которых они говорят вам в интервью или JADS. Вы должны делать заметки, а затем задавать вопросы после наблюдения сессии выяснить, почему конечные пользователи делали то, что они делали в то время.
  • Помогает определить, что люди на самом деле
  • Обеспечивает значительное понимание разработчиков относительно их среди заинтересованных сторон
  • Ограниченные технику взаимодействия
  • Трудно лишь наблюдать, вы также хотите, чтобы взаимодействовать
  • Кажется, что это пустая трата времени, потому что вы “просто сидел там”
  • Может быть трудным получить разрешение
  • Наблюдение лучше всего делать пассивно
On-Site клиентов В XP заказчика роль заполняется одним или более людей, которые легко доступны для этого домена информации, связанной с командой и сделать требования решения, связанные своевременно.
  • Совместные технику
  • Информация предоставляется команде своевременно
  • Решения принимаются своевременно
  • Арии вашем грязном белье для заинтересованных сторон
  • Заинтересованные стороны должны быть образованными в их роли
  • Получите ваши заинтересованные стороны, участвующие с разработки развивается в направлении активного участия заинтересованных сторон подхода
Чтение Существует часто богатство письменной информации, доступных для вас, из которых можно различить потенциальные потребности или даже просто, чтобы понять ваши заинтересованные стороны лучше. Внутренне вы, возможно, существующие (хотя и устаревший) Система документирования и видение документов, написанных вашей Офис управления проектами (PMO), чтобы оправдать вашего проекта. Внешне может быть веб-сайтов описывающие подобные системы, возможно сайтов ваших конкурентов, или даже книги текст, описывающий область, в которой вы сейчас работаете.
  • Возможность научиться основам домена до взаимодействия с заинтересованными сторонами
  • Ограниченные технику взаимодействия
  • Практика обычно отличается от того, что записано
  • Есть пределы тому, сколько вы можете читать, и понимать, и один присест

7. Общие требования моделирования

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

  • Ограниченный доступ к участникам проекта
  • Географически распределенные заинтересованных сторон проекта
  • Проект заинтересованные стороны не знают, чего хотят
  • Заинтересованные стороны передумают
  • конфликтующими приоритетами
  • Слишком много заинтересованных сторон проекта хотят участвовать
  • Заинтересованные стороны назначают технологические решения
  • Заинтересованные стороны не в состоянии видеть дальше текущей ситуации
  • Заинтересованные стороны боятся быть увиденными
  • Заинтересованные стороны не понимают моделирование артефактов
  • Разработчики не понимают предметной области
  • Заинтересованные стороны чрезмерно сосредоточены на одном типе требования
  • Заинтересованными сторонами проекта требуют значительных формальностей в отношении требований
  • Разработчики не понимают требования

8. Изменение Agile управление требованиями

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

Так как требования часто меняются, необходимо обтекаемой, гибкий подход к управлению изменениями требований. Agilists хотим развивать программное обеспечение, которое является одновременно высокого качества и высокой стоимости, и самый простой способ разработки высокой стоимости программного обеспечения для реализации приоритетных самым высоким требованиям в первую очередь. Agilists стремятся по-настоящему управлять изменениями, не чтобы предотвратить его, давая им возможность максимально заинтересованных ROI. Имя программное обеспечение команда разработчиков стек приоритетность требований которая должна быть реализована XPers будет буквально стек пользователя истории, написанные на карточках. Команда занимает высокие требования приоритет вершине стека которых они считают, что они могут реализовать в рамках текущей итерации. Scrum предполагает, что вы заморозить требования к текущей итерации, чтобы обеспечить уровень стабильности для разработчиков. Если вы сделаете это, то любые изменения в требования ты в настоящее время осуществляет следует рассматривать только как один новое требование.

Рисунок 5 обзоры ловкий подход к управлению рабочими элементами потенциально надо быть достигнуто путем команды (вы не можете на самом деле имеют достаточно времени или ресурсов для выполнения всех пунктов). Этот подход отражает Открыть Unified Process (OpenUP) ‘S подход к работе управления, которая является расширением Scrum подход к методологии управления требованиями. Где Scrum рассматривает требования как приоритетные стека называется продукт отставания, OpenUP занимает еще один шаг вперед, чтобы признать, что не только вы реализуете требования частью вашей повседневной работе, но вы также не-требование, связанное работы, такие как пройти обучение, пойти на отдых , обзор продуктов других команд, и так далее. Новые рабочие элементы, в том числе дефектов, выявленных в рамках вашей деятельности пользовательского тестирования, являются приоритетными вашем заинтересованных сторон проекта и добавлен в стек в соответствующем месте. Ваш заинтересованных сторон проекта вправе определять новые требования, изменят свое мнение о существующих требований, и даже reprioritize требования, как они считают нужным. Тем не менее, заинтересованные стороны должны также нести ответственность за принятие решений и предоставления информации в установленные сроки.

Рисунок 5. Agile требований процесс управления изменениями.

6

Разработчики несут ответственность за оценку усилий, необходимых для реализации требований, которые они будут работать. Хотя вы, возможно, опасаются, что разработчики не должны необходимыми навыками оценки, и это часто справедливо во-первых, тот факт, что она doesn’t займет много времени для людей, чтобы получить довольно хорошую оценку, если они знают, что Theyre собирается должны жить до тех оценок. Для получения дополнительной информации ознакомьтесь ловкий Изменение управления требованиями.

9. Рекомендуемые ресурсы

  • Активное участие заинтересованных сторон
  • Анализ
  • Требования Best Practices
  • Требования Управление изменениями
  • Software Development и бизнес-анализа (Требования сети, членство обязательно)
  • Рекомендации по ловкий / Lean Документация
  • “Изменение предупреждения” анти-паттерна
  • Сравнивая различные подходы к моделированию в разработке программного обеспечения
  • Подробное техническое задание: Худший практике?
  • Фазы развития рассматриваются: Почему требования, анализ и дизайн больше не имеют смысла
  • Документ поздно: проворный Лучшая практика
  • Доказательства того, что ловкий Software Development весы
  • Экспертизы “Большой Требования К фронту (BRUF)” Подход
  • Первоначальный высокого уровня архитектурного предвидение
  • Начального уровня Требования к средней выработки концепции
  • Итерация Моделирование
  • “Модель немного вперед” План
  • “Одна истина Прежде всего остального” анти-паттерна
  • Приоритетные требования: проворный Лучшая практика
  • Переосмысление, как Вы рассматриваете Управление требованиями
  • UML-профиль для моделирования данных
  • Неизменного правила изменениями программного обеспечения

Ресурс: Agile Requirements Modeling

Comments are closed.

Post Navigation