Dynamic Systems Development Method.

Dynamic Systems Development Method.
Статья посвящена методу разработки динамических систем.

DSDM — это гибкий метод, ориентированный на полный жизненный цикл проекта. DSDM (формально известный как метод разработки динамических систем) был создан в 1994 году после того, как менеджеры проектов, использующие RAD (быстрая разработка приложений), искали пути к большей управляемости и дисциплине в новом итеративном способе работы. Метод разработки динамических систем (DSDM) эффективно работает для небольшой команды. DSDM предоставил зрелый подход к методологии Agile в корпоративной среде. Основываясь на простой структуре, DSDM объединяется с разработкой программного обеспечения и разработкой процессов, создавая схему решения сложных проблем. Он содержит 9 принципов, которых необходимо придерживаться. Кроме того, команда управления проектом может выполнять любой процесс разработки Agile. Но если какой-либо из 9 принципов неприменим, то DSDM — не лучшая методология для этого проекта.


Итак, принципы метода разработки динамических систем:

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

2. Команды должны иметь право принимать решения. Команды должны быть наделены полномочиями принимать решения о действиях, которые необходимо предпринять немедленно, а также по вопросам, критически важным для проекта.

3. Сосредоточьтесь на частых запусках. DSDM предполагает выпуск продуктов, находящихся еще в процессе разработки, а не идеального конечного продукта, который никогда не подвергался тестированию и оценке пользователей.

4. Критерий приемлемого развития. Продукты, выпускаемые после каждой итерации, должны представлять собой рабочую версию, способную удовлетворить потребности клиентов, даже если разработка еще не завершена.

5. Итеративная и инкрементальная разработка обязательна. Развитие функций и возможностей продукта осуществляется постепенно, а улучшения вносятся на основе отзывов пользователей продукта.

6. Все изменения во время разработки должны быть обратимыми. У разработчиков должна быть возможность вернуться к предыдущей версии продукта до того, как изменения будут интегрированы.

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

8. Тестирование интегрировано на протяжении всего жизненного цикла. Тестирование продукта должно стать частью разработки для того, чтобы выявить возникающие ошибки. Разработчикам и клиенту не следует ждать, пока продукт будет окончательно создан, прежде чем запустить его в тестирование.

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

Основные фазы работы с методом разработки динамических систем:

1. Предпроектный этап. На этом этапе разработчики и клиент концептуализируют проект и решают, стоит ли его реализовывать.

2. Технико-экономическое обоснование. Проводится технико-экономическое обоснование, чтобы увидеть, будет ли проект работать и как он будет реализован. На этом этапе также определяется, можно ли реализовать проект с использованием DSDM.

3. Бизнес-исследование. Затем команда проводит бизнес-исследование, чтобы определить, будет ли конечный результат проекта иметь смысл для бизнеса, и определяет лучший план работы по его созданию, тестированию, развертыванию и поддержке.

4. Итерация функциональной модели. Требования, определенные на предыдущих этапах, теперь будут реализованы в прототипах и моделях конечного продукта. Этот прототип будет представлен пользователям, они оценят и протестируют его. После этого пользователи оставляют отзывы разработчикам.

5. Проектирование и создание итерации. Когда итерации завершены и все функции разработаны, улучшены и обновлены, настало время интегрировать все компоненты в одну систему, которую смогут использовать предполагаемые пользователи.

6. Реализация. Как только пользователи будут удовлетворены конечным результатом проекта, настало время внедрить систему и обучить пользователей ее использованию. На этом этапе разработчики также проверят систему или продукт на предмет соответствия требованиям, установленным в начале проекта.


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