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