DSDM методологія
Що таке DSDM та з чим його їдять?
Зміст
Короткий опис
Метод розробки динамічних систем (Dynamic Systems Development Method, DSDM) - це головним чином методика розробки програмного забезпечення, заснована на концепції швидкої розробки додатків (Rapid Application Development, RAD). DSDM - це інтерактивний і інкрементний підхід, який надає особливого значення тривалого участі в процесі користувача / споживача.
Мета методу - здати готовий проект вчасно і вкластися в бюджет, але в той же час регулюючи зміни вимог до проекту під час його розробки. DSDM входить в сімейство гнучкою методології розробки програмного забезпечення, а також розробок які не входять в сферу інформаційних технологій.
Життєвий цикл
Все починається з вивчення здійсненності програми і області її застосування. У першому випадку, ви намагаєтеся зрозуміти, чи підходить DSDM для даного проекту. Вивчати область застосування програми передбачається на короткій серії семінарів, де програмісти дізнаються про ту сферу бізнесу, для якої вони працюватимуть. Тут же обговорюються основні положення, що стосуються архітектури майбутньої системи і план проекту.
Далі процес ділиться на три взаємопов'язаних циклу: цикл функціональної моделі відповідає за створення аналітичної документації та прототипів, цикл проектування і конструювання - за приведення системи в робочий стан, і нарешті, останній цикл - цикл реалізації - забезпечує розгортання програмної системи.
Dynamic Systems Development Method (DSDM) Методологія DSDM заснована на підході RAD (Rapid Application Development) і включає в себе три стадії:
- Передпроектна стадія, на якій авторизується реалізація проекту, визначаються фінансові параметри і команда.
- Життєвий цикл проекту є реалізації проекту і включає в себе п'ять етапів.
- Післярелізна стадія забезпечує якісну експлуатацію системи.
Життєвий цикл проекту включає в себе п'ять стадій (перші дві фактично об'єднуються):
- Визначення можливості реалізовності
- Економічне обгрунтування
- Створення функціональної моделі
- Проектування і розробка
- Реалізація
Базові принципи, на яких будується DSDM, це активна взаємодія з користувачами, часті випуски версій, самостійність розробників в прийнятті рішень і тестування протягом всього циклу робіт. Як і більшість інших гнучких методологій розробки додатків, DSDM використовує короткі ітерації, тривалістю від двох до шести тижнів кожна. Особливий наголос робиться на високій якості роботи і адаптованості до змін у вимогах.
Огляд: три стадії DSDM
Стадія 1: Передпроектна стадія
На цій стадії визначаються ймовірні проекти, відбувається виділення коштів і визначення проектної команди. Рішення задач на цій стадії допоможе уникнути проблем на більш пізніх стадіях проекту.
Стадія 2: Життєвий цикл проекту
Є 5 етапів, які потрібно пройти проекту, щоб стати інформаційною системою. Перші два етапи, дослідження можливості бути реалізованим і дослідження економічної доцільності, йдуть послідовно і доповнюють один одного. Після завершення цих етапів, відбувається ітеративна і інкрементна розробка системи в етапах: створення функціональної моделі, проектування і розробка, етап реалізації.
Стадія 3: Післярелізна стадія
На цій стадії забезпечується ефективна робота системи. Це досягається за рахунок підтримки проекту, його поліпшення і виправлення помилок згідно з принципами DSDM. Підтримка проекту здійснюється продовженням розробки, заснованої на ітеративній і інкрементній природі DSDM. Замість того, щоб закінчити проект за один цикл, зазвичай повертаються до попередніх стадій або етапів, щоб поліпшити продукт.
Основні методики DSDM
- Тайм-боксинг
Тайм-боксинг - одна з основних методик DSDM. Вона використовується, щоб досягти головних цілей DSDM - розробити інформаційну систему в терміни, укластися в бюджет і при цьому зберегти якість. Основна ідея тайм-боксингу - розділити весь проект на частини, кожна зі своїм бюджетом і термінами виконання. Для кожної такої частини вибираються вимоги, які були розподілені за принципом MoSCoW. Так як час і бюджет фіксовані, єдине, що можна поміняти, - це вимоги. Так, якщо проект вибивається з графіка або виходить за рамки бюджету, вимоги з найменшим пріоритетом опускаються. Це не означає, що вийде неготовий продукт. Виходячи з принципу 20/80 80% проекту виходить з 20% вимог. Тому, як тільки ці найважливіші 20% вимог реалізовані в системі, вона задовольняє економічними вимогами. Варто зауважити, що жодна система не була ідеально побудована з першого разу.
- MoSCoW
Метод MoSCoW надає шлях розподілу об'єктів по пріоритетам. У контексті DSDM метод MoSCoW використовується для розподілу по пріоритетам вимоги. Ця абревіатура розшифровується так: MUST - вимога ПОВИННО задовольняти економічним потребам. SHOULD - чи СЛІД виконувати цю вимогу, якщо від нього не залежить успіх проекту. COULD - чи ПОТРІБНО залишити цю вимогу, якщо воно не діє на ділову потребу проекту. WILL NOT - чи МОЖНА відкласти виконання вимоги, якщо ще є час.
- Прототипування
Ця методика відноситься до створення прототипів системи під час розробки на ранніх етапах. Вона дозволяє виявити недоліки в системі і дозволяє майбутнім користувачам протестувати її. Таким чином реалізовано залучення користувача в роботу - один з ключових факторів успіху методу DSDM.
- Тестування
Третя важлива сторона досягнення мети DSDM - створити інформаційну систему високої якості. Щоб цього домогтися, метод DSDM наполягає на проведенні тестування на кожній ітерації. Команда проекту вільна сама вибирати спосіб управління тестуванням.
- Робоча група
Це одна з методик DSDM, мета якої - зібрати разом різних учасників проекту, щоб обговорити вимоги, функціональність і налагодити взаєморозуміння. Учасники кожної робочої групи збираються разом, щоб обговорити проект.
- Моделювання
Ця методика є обов'язковою і використовується з метою візуалізувати у вигляді діаграм окрему сторону системи або сфери діяльності, над якими йде робота. Моделювання дає краще розуміння всієї проектної команді сфери ділової активності проекту.
- Управління конфігурацією
Хороша реалізація методики управління конфігурацією важлива через динамічну природу DSDM. Так як під час процесу розробки системи відбувається безліч різних подій і продукти найчастіше випускаються досить часто, продуктам потрібно строгий контроль, щоб вони успішно розроблялися.