Критерии устойчивости решений
https://www.infoq.com/articles/sustainable-architectural-design-decisions/
Чтобы подробно определить устойчивость решения, мы вывели пять ключевых критериев.
Стратегический
При принятии решения тот, кто рассматривает стратегические последствия, должен учитывать такие вещи, как долгосрочное влияние решений, например будущие усилия по эксплуатации и сопровождению.
Измеримый и управляемый
Результат решения можно измерять и оценивать со временем по объективным критериям, в идеале числовым (как, например, предлагают сценарии атрибутов качества и семинары4). Зафиксировать все мелкие решения невозможно, поэтому архитекторы должны ограничить детализацию решений определённым уровнем (например, созданием проектного класса). Это приведёт к более устойчивому набору решений и меньшему числу связей прослеживаемости. Кроме того, ограничение числа зависимостей между решениями уменьшает каскадный эффект изменений.
Достижимый и реалистичный
Обоснование того, как решение подходит к проблеме, следует выбирать прагматично и делать явным. Например, архитекторы могут указать, что они позаботились о том, чтобы избежать избыточной или недостаточной инженерной проработки (то есть им следует применять подход «достаточно хорошо»).
Основанный на требованиях
Принятие решений должно опираться на опыт и контекст проектирования архитектуры в конкретной предметной области. Оно должно учитывать среду компании, а также требования и ограничения проекта, включая текущие навыки команды разработки, бюджет на обучение и процесс.
Не подверженный времени
Решения должны опираться на опыт и знания, которые вряд ли скоро устареют. Например, архитекторы могут выбирать архитектурные паттерны или тактики, не зависящие от платформы.