Итак, какие выводы мы можем сделать по итогам рассмотрения вех и артефактов Microsoft Solution Framework в кризисных условиях. Прежде всего, сам подход достаточно гибкий и адаптивный, и подход, прежде всего, следует итеративной, циклической схеме разработки, хотя, конечно, может применяться однопроходная разработка по каскадной модели. Надо сказать, что подход был разработан в Microsoft. Существенным его аспектом является стабилизация — это необходимость выбрать наиболее стабильный релиз, т. е. тот вариант программного продукта, который ведет себя наиболее стабильным и предсказуемым образом, на основании большого количества разнообразных тестов. Это тестирование надежности, это тестирование других атрибутов качества, тестирование функциональных характеристик и так далее. Что необходимо делать достаточно быстро, поскольку опережающее, частое и раннее тестирование — это один из важных принципов подхода. Оно дает возможность обеспечить быстрый возврат инвестиций. Оно дает возможность обеспечить быстрый выбор, по какому пути нам двигаться при выборе нашей стратегии и тактики разработки. При этом, конечно, с точки зрения добавления новой функциональности процесс стабилизации является полностью паразитом. Т. е. мы теряем достаточно большое количество времени, если мы не вполне хорошо знакомы с методологией Microsoft, если мы не используем традиционные, принятые в Microsoft средства автоматизированного тестирования программного обеспечения. А в случае достаточно больших и и сложных конфигураций с тысячами десятками тысячами файлов в каждом билде, в каждом релизе — это довольно сложная операция в принципе. Поэтому подход не так широко используется вне Microsoft, как, может быть, мог бы использоваться. Нужно сказать, что синхронизация и стабилизация — это достаточно важные аспекты подхода. Подход в основном следует модели синхронизации и стабилизации. Собственно, он вырос из этой модели, которая рассматривалась в курсе "Модели жизненного цикла". Акцент делается на частое и раннее тестирование, как уже говорилось, с целью обеспечения возврата инвестиций, достаточно быстрого, за счет того, что ошибки по возможности исправляются на ранних стадиях, как только они возникли. Т. е. не происходит достаточно глубокого проникновения ошибок в продукт и не требуется больших затрат на поиск и локализацию, обнаружение, исправление этих ошибок и коррекцию всего релиза вместе с документацией, вместе с кодом, вместе с архитектурным прототипом и так далее, которые были бы необходимы, если бы эти ошибки достаточно глубоко в жизненном цикле были обнаружены. Microsoft Solution Framework подходит для разработки крупномасштабных проектов. Это, прежде всего, та версия, которая называется Formal. И кроме того, подходит для кризисной разработки, прежде всего, в рамках той мета-модели, которая называется Agile, или гибкая мета-модель, которая изначально адаптивна, основана на примате человеческого фактора, команды и проповедует инкрементальный, эволюционный жизненный цикл, когда функциональность наращивается постепенно в соответствии с теми ключевыми требованиями заказчика, которые, на самом деле, могут даже меняться и адаптироваться в ходе развития и разработки программного продукта. Естественно, процесс масштабируется и по количеству артефактов, и по ролям, как мы увидим впоследствии, существует матрица совместимости ролей, на основании которой часть ролей можно делегировать одним и тем же людям. Таким образом, команды могут достаточно динамично масштабироваться. Кроме того, таким образом можно менять количество и сложность артефактов, упрощать процесс. И таким образом, Microsoft Solution Framework — это достаточно гибкий, адаптивный процесс, который вполне подходит для создания корпоративных продуктов в кризисных условиях.