Метод розробки динамічних систем (Dynamic Systems Development Method, DSDM) — це головним чином методика розробки програмного забезпечення, що базується на концепції швидкої розробки додатків (Rapid Application Development, RAD). 2007 року DSDM став основним підходом до управління проєктом і розробки додатків. DSDM — це ітеративний і інкрементний підхід, який надає особливого значення тривалій участі в процесі користувача/споживача.
Мета методу — здати готовий проєкт вчасно і вкластися в бюджет, але в той же час регулюючи зміни вимог до проєкту під час його розробки. DSDM входить в сімейство гнучкої (Agile) методології розробки програмного забезпечення, а також розробок, що не входять у сферу інформаційних технологій.
Остання версія DSDM називається DSDM Atern. Назва Atern — це скорочення від Arctic Tern (пер. Полярна крачка). Полярна крачка — птаха, яка може подорожувати на великі відстані. Вона символізує безліч аспектів методу, наприклад визначення пріоритету або кооперування, які є природним способом ведення робочого процесу.
Попередня версія DSDM (випущена в травні 2003 року), яка все ще діє і широко використовується, — це DSDM 4.2, є дещо розширеною версією DSDM 4. Розширена версія містить настанови щодо того, як використовувати DSDM спільно з Екстремальним програмуванням (Extreme Programming).
Огляд DSDM Atern У 2007 році команда, створена Консорціумом DSDM, досліджувала суть методу і вирішила, що основні механізми і структура написані добре, але термінологія і увагу методу були повністю сфокусовані на галузі інформаційних технологій. Тому вони повинні бути вдосконалені, щоб відповідати потребам проєктів у новому тисячолітті (частина методу була незмінна з 1995 року). Нова версія була випущена 24 квітня 2007 року в Cafe Royale в Лондоні.
Огляд DSDM версії 4.2 Як розширення концепції швидкої розробки додатків, DSDM фокусується на проєктах інформаційних систем, що характеризуються стислими термінами і бюджетами. У DSDM присутні вказівки на типові помилки проєктів інформаційних систем, таких як перевищення бюджету, запізнення з термінами здачі (виконання), недостатнє залучення користувачів і топ-менеджерів в роботу над проєктом. DSDM складається з: трьох стадій: передпроєктна стадія життєвого циклу проєкту, життєвий цикл проєкту і постпроєктна стадія стадія життя проєкту складається з 5 етапів: дослідження реалізованості, дослідження економічної доцільності, створення функціональної моделі, проєктування і розробка, етап реалізації При деяких умовах існує можливість включення в DSDM частин інших методик, таких як Rational Unified Process (RUP), Екстремальне програмування, PRINCE2. Інший гнучкий метод, схожий на DSDM по процесу і концепції — Scrum.
Метод DSDM був розроблений у Великій Британії в 1990-х Консорціумом DSDM. Консорціум DSDM — це асоціація розробників та експертів в області програмного забезпечення, створена з метою «спільної розробки і просування незалежного фреймворку RAD» комбінуванням кращого практичного досвіду учасників асоціації. Консорціум DSDM — це некомерційна організація незалежних розробників, які володіють та управляють фреймворком DSDM. Перша версія фреймворку була завершена в січні 1995 року і опублікована в лютому 1995 року. У липні 2006 року була представлена відкрита версія DSDM 4.2, яка стала доступна приватним особам для перегляду і використання. Однак, всі, хто поширює DSDM, повинні бути членами цього некомерційного консорціуму.
DSDM і Консорціум DSDM — ранні дні На початку 1990-х в індустрії інформаційних технологій став поширюватись новий термін — швидка розробка додатків (Rapid Application Development, RAD). Інтерфейси прикладних програм еволюціонували від старих зелених екранів до графічних інтерфейсів користувача, які використовуються і зараз. На ринок почали виходити нові інструменти для створення додатків, наприклад PowerBuilder. Вони дозволили розробникам простіше ділитися планованими розробками з покупцями — з'явилося прототипування і почалося руйнування класичних, послідовних (каскадних) методів розробки.
Тим не менш, новий рух RAD було дуже неструктурованим: не існувало узгодженого опису цього методу і у багатьох організацій були створені власні описи і підходи до нього. Безліч великих корпорацій були зацікавлені в перспективах, що надаються методом, але вони також були стурбовані тим, щоб не знизився рівень якості їх продукції в кінцевому результаті.
Консорціум DSDM був утворений в 1994 році, коли група людей зустрілася на заході, організованому Butler Group в Лондоні. Всі, хто прийшов на цей захід, працювали у великих організаціях, таких як British Airways, American Express, Oracle and Logica (такі компанії як Data Sciences і Allied Domecq відтоді були поглинені іншими організаціями).
На цьому зібранні було вирішено, що Дженніфер Степлтон, тоді представляла компанію Logica, розробить архітектуру комплексного, орієнтованого на користувача методу з хорошим контролем якості для ітеративної і інкрементній розробки. Підсумкова архітектура була спроєктована так, щоб бути повністю сумісна зі стандартом ISO 9000 і PRINCE2. Коли архітектура була готова (через місяць після зборів), Консорціум сформував групи для її поширення у всіх областях розробки програмного забезпечення, які включали в себе: методи та засоби управління проєктом, контроль якості та тестування, методи і засоби розробки. Контрольна група, очолювана творцем архітектури і складається з глав цих груп, повинна була забезпечити розуміння методу так, як він спочатку замислювався.
Незважаючи на те, що багато членів Консорціуму були прямими конкурентами, вони вільно ділилися тим, як вони вирішують проблеми, що виникають. Практика показала, що найкращий результат може бути досягнутий тільки працюючи як одне ціле. Консорціум збільшився за перший рік від декількох організацій до шістдесяти; опис методу ставало все повнішим. Версія 1 була сформована в грудні 1994 року і опублікована в лютому 1995 року. Результатом став універсальний метод, що охоплює людей, процеси та інструменти. Він сформувався на основі досвіду організацій, різних за родом своєї діяльності і розмірами.
Метод DSDM
Принципи Існує 9 принципів, що складаються з 4 основних та 5 початкових точок. Активне залучення кінцевих користувачів — це основа ведення ефективного проєкту, де розробники ділять з користувачами робочий простір і тому прийняті рішення будуть більш точними. Уповноважена команда — команда має бути уповноважена приймати важливі для проєкту рішення без узгодження з керівництвом. Часта поставка та оновлення — якомога частіша поставка дозволяє викрити вади та недоліки на значно ранішому етапі. Відповідно до DSDM «поставити щось хороше раніше — це завжди краще, ніж поставити все ідеально зроблено в кінці». Аналіз поставок версій з попередньої ітерації враховується на наступній. Потреби бізнесу як головний рушій розробки — мета поставки програмного забезпечення - якомога краще відповідати поточним потребам ринку. Але в той же час постачання продукту, який задовольняє потребам ринку, не менш важлива, ніж вирішення критичних проблем у функціоналі продукту. Ітеративна та інкрементна розробка — ґрунтується на отриманні зворотного зв'язку від користувача, задля досягнення оптимальної з економічної точки зору рішення. Бути відкритими для будь-яких змін — під час розробки завжди передбачати місце для змін і вважати зміни - новою характеристикою проєкту. Дотримання висого рівня початкових вимог — вимоги встановлюються на високому рівні перш, ніж почнеться проєкт. Рекоментується формулювати їх в максимально простому вигляді без занурення в деталі. Ефективна інтеграція розробки і тестування — життєвий цикл розробки передбачає залучення тестувальників протягом всього циклу, а не лише в кінцевих стадіях. На практиці це може означати, що тестується результат попередньої ітерації, коли йде розробка поточної Фокус на взаємодії і співпраці — команда має дотримуватися атмосфери довіри і чесності між усіма учасниками для покращення ефективності процесу.
Передумови для використання DSDM Щоб успішно використовувати DSDM, необхідно щоб був виконаний ряд передумов. По-перше, необхідно організувати взаємодію між проєктною командою, майбутніми користувачами і вищим керівництвом. По-друге, повинна бути можливість поділу проєкту на менші частини, що дозволить використовувати ітеративний підхід.
Два приклади проєктів, для яких DSDM не дуже підходить: проєкти, критичні безпеки розширене тестування та затвердження в таких проєктах конфліктують з метою методу DSDM укластися в терміни і бюджет. проєкти, чия мета зробити компоненти багаторазового використання — вимоги в таких проєктах занадто високі і не вкладаються в принцип 80 %/20%.
Життєвий цикл проєкту
Огляд: три стадії DSDM Фреймворк DSDM складається з трьох послідовних стадій, які називаються передпроєктна стадія, стадія життєвого циклу проєкту і постпроєктна стадія. Стадія життєвого циклу проєкту — сама продумана і детально розроблена з усіх інших. Вона складається з п'яти етапів, які формують ітеративний, інкрементний підхід до розробки інформаційних систем. Ці три фази і відповідні етапи будуть більш детально описані в наступних розділах. Для кожної стадії або етапи будуть розглянуті найважливіші функції і будуть представлені результати. Стадія 1 — Передпроєктна На цій стадії визначаються ймовірні проєкти, відбувається виділення коштів та визначення проєктної команди. Рішення задач на цій стадії допоможе уникнути проблем на більш пізніх стадіях проєкту.
Стадія 2 — Життєвий цикл проєкту На рисунку зображена дана стадія. На ньому показано 5 етапів, які потрібно пройти проєкту, щоб стати інформаційною системою. Перші два етапи, дослідження реалізованості та дослідження економічної доцільності, йдуть послідовно і доповнюють один одного. Після завершення цих етапів, відбувається ітеративна та інкрементна розробка системи в етапах: створення функціональної моделі, проєктування і розробка, етап реалізації. Ітеративна та інкрементна природа DSDM буде описана далі.
Стадія 3 — Постпроєктна На цій стадії забезпечується ефективна робота системи. Це досягається за рахунок підтримки проєкту, його покращення та виправлення помилок згідно з принципами DSDM. Підтримка проєкту здійснюється продовженням розробки, заснованої на ітеративної і інкрементній природі DSDM. Замість того, щоб закінчити проєкт за один цикл, зазвичай повертаються до попередніх стадій або етапів, щоб поліпшити продукт.
Нижче на діаграмі представлений весь життєвий цикл проєкту. Ця діаграма описує итеративную розробку DSDM. Опис кожного етапу буде представлено нижче.
Чотири етапи стадії життєвого циклу проєкту