Модель Штурм: Лучшая практика

Перевод статьи Model Storming: An Agile Best Practice, автор - Scott W. Ambler

Модель Штурм только во времени (JIT) моделирования: вначале нужно идентифицировать проблему, которую вы должны решить, быстро захватить несколько помощников команды, которые могут помочь вам, группа исследует вопрос, а затем все продолжается, как и прежде. Это часто встречается на гибких проектах, Экстремальные Программисты (XP) называют его стоячим дизайн сессии или клиент Сеанс вопросов и ответов, и это явно часто встречается на традиционных проектах. Все модели бури в какой - то момент, и я думаю, что о времени мы начали говорить об этом, чтобы мы могли найти способы, чтобы получить еще лучше на него.

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

Модель анализа шторминга

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

Рисунок 1. эскизы экрана

Дизайн модели 

Проворные разработчики, в том числе XPers, не всегда идут прямо к коду, как только они решили работать на требование (вопреки тому, что хулители гибкой разработки скажет вам). Это потому, что модель Штурм также очень характерно для архитектуры и дизайна. Java - программисты часто работают через сложный код зарисовками быстрый диаграмма последовательности UML (см Рисунок 2 ), XPers создаст класса ответственности Collaborator (CRC) карты на стандартных карточках (см рисунок 3 ) для изучения детальных структурных проблем проектирования и Visual Basic программисты могут выбрать нарисовать блок - схемы для моделирования сложной бизнес - правила (см рисунок 4 ). Независимо от модели (ей), что вам нужно создать, вы до сих пор модель штурму.

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

Рисунок 3. Ручной обращается CRC карт.

Рисунок 4. Блок-схема для поступления в университет.

Важно понимать, что вы не требуют белую доску, чтобы моделировать шторм, вам просто нужно совместно, всеобъемлющий инструмент, который люди могут работать с легкостью. Например, карты CRC на рисунке 3 написаны на карточках, а не нарисованных на доске.

Почему это работает это?

Почему модель штурмуя на JIT основе работать гораздо лучше, чем пытаться моделировать все фронт ? По нескольким причинам:

  1. Эти требования будут меняться на протяжении всего проекта, как это или нет.
  2. В ожидании, чтобы проанализировать данные JIT, у вас есть гораздо больше, чем знания предметной области, если вы сделали это в начале проекта. Например, если требование будет осуществляться за три месяца в проект, если вы изучить детали этого требования в тот момент у вас есть три месяца больше знания предметной области, чем если бы вы сделали это в начале проекта, поэтому вы можете задавать более интеллектуальные вопросы.
  3. Если вы поставляли рабочее программное обеспечение на регулярной основе ваши заинтересованные стороны в настоящее время есть три месяца на сумму опыта с системой, что вы построили. Другими словами, они могут дать вам лучшие ответы.
  4. Моделирование все вперед в деталях, как представляется, привести к значительным потерям . Да, во время итерации 0 вы хотите сделать некоторые требования к первоначальному Предвидение и некоторую первоначальную архитектуру Envisioning, но это не значит, что вам нужно, чтобы погрузиться глубоко в детали.
 

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

Принятие модели штурме

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

Вы "должны будете разработать протокол для работы на досками, особенно когда это" S нормально, чтобы стереть что - то. Ваша команда культура также имеет решающее значение для вашего успеха, он должен быть приемлемым просить людей о помощи, и в свою очередь, будет предложено смоделировать с другими. Вы должны признать, что это нормальный и эффективный способ работы. Я могу "помню проект, в котором мы Бесполезный" тонная модель шторм, но я также могу "помню, читать книгу или статью, в которой говорил об этой технике в любой деталях. Wouldn" Т было бы хорошо, если ИТ - индустрия может начать говорить о том, что мы на самом деле делаем на практике, вместо того, что мы думаем, что мы должны делать?