Ключ к облегченной оценке - оценить правильные вещи в нужное время. Есть два способа, которыми я знаю, чтобы сделать это эффективно. При оценке на основе сценариев вы используете сценарии атрибутов качества и сценарии использования для управления оценкой, фокусируясь только на атрибутах качества с высоким приоритетом. С помощью оценки на основе рисков вы идентифицируете риски и позволяете идентифицированным рискам управлять вашими проектами архитектуры.
Могу порекомендовать две книги, в которых рассматриваются эти два (несколько связанных) подхода.
Архитектурное ПО Intensive Systems от Энтони Латтанце представляет методологию проектирования, ориентированную на архитектуру, и рассматривает упрощенные оценки на основе сценариев. Вы можете узнать Латтанце на семинаре по атрибутам качества SEI, и в этом есть схожие идеи.
Достаточно архитектуры программного обеспечения: подход, основанный на оценке риска, Джорджа Фэрбенкса представляет собой подход, основанный на оценке риска, для проектирования и оценки архитектуры программной системы. На его сайте также есть несколько бесплатных глав, если вы хотите превью. Несмотря на то, что принципы, изложенные в этой книге, применимы сразу, этот подход не связан с конкретным методом, поэтому вам нужно будет объединить идеи из других областей. Я настоятельно рекомендую непрерывный подход к управлению рисками в SEI для определения / определения приоритетов рисков.
Основная идея этих подходов состоит в том, что вы уменьшаете стоимость оценки (и проектирования), оценивая ее по мере продвижения, а не ожидая конца. Хотя это, безусловно, немного тяжелее, чем разговоры вокруг доски, это далеко не так дорого, как полноценный ATAM. И, если вам удобно, вы можете выбрать подходы для удовлетворения ваших конкретных потребностей.
Независимо от того, какой подход вы используете для проведения оценки, общая идея будет одинаковой ...
Прежде чем ты начнешь:
- Приоритетные сценарии качества или риски (могут быть неформальными, если это все, что у вас есть)
- Четкое определение для принятия решения «пойти / не пойти» (откуда вы знаете, что архитектура «достаточно хороша»)
- Самый последний фрагмент описания архитектуры (артефакт, который вы оцениваете)
Сядьте на сеанс оценки:
- Архитектор представляет обзор архитектуры
- Пройдите через представление, покажите, как сценарий или риск удовлетворены
- Проблемы записываются, чтобы исправить позже
- Роли и общая процедура аналогичны той, которая используется для инспекции Фагана (архитектор или автор, модератор, регистратор).
- Сессия может занять всего час или два в зависимости от размера вашей системы.
После окончания сеанса:
- Просмотрите выявленные проблемы и определите, соблюдаются ли критерии go / no-go. Обычно требуется около 3 отзывов, чтобы все получилось. Если не выполнено, продолжайте совершенствовать и экспериментировать (или уменьшать архитектурные риски).
- Это не оценка «все или ничего» - различные части вашей архитектуры могут «пройти», в то время как другие все еще нуждаются в уточнении.
Чтобы дать вам представление о том, на что может быть похож подход, основанный на сценариях, есть некоторая публичная документация проекта capstone, над которым я работал в аспирантуре. Документация немного грубовата, но она может помочь привести некоторые примеры сценарного подхода в контексте ACDM. Мы были командой из 5 человек и создали типичное веб-приложение, около 35 KLOC Java / GWT.