Стремление поставлять ценность быстрее и снижать риски долгого цикла «анализ — проектирование — реализация — тестирование» привело к методологиям, ориентированным на скорость и тесную обратную связь. RAD (Rapid Application Development) и XP (eXtreme Programming) — два представителя такого подхода на уровне команды: RAD концентрируется на прототипировании и вовлечении пользователей, XP — на инженерных практиках и исполняемых требованиях. Для аналитика обе методологии означают переход от обширных документов к непрерывному моделированию через эксперименты. Место RAD и XP в SDLC — в 00.03 Жизненный цикл ПО и место аналитика (SDLC, STLC); рутина спринтов, бэклога и роли аналитика в Scrum/Kanban — в 05.02 Scrum и Kanban (аналитик в Agile); при масштабировании на несколько команд логика «обрывается» — см. 05.03 SAFe и LeSS — аналитик в масштабируемых фреймворках.
1. Суть темы
RAD: быстрая разработка через прототип
RAD предложил Джеймс Мартин в 1991 году как ответ на медлительность каскадных моделей. В основе — идея, что требования нельзя полностью определить в начале, поэтому их лучше уточнять через работающий прототип и обратную связь.
Классический Martin-RAD — это timeboxed проект целиком: типично 60–120 календарных дней (для небольших приложений в литературе часто 30–90); каждая из четырёх фаз тоже ограничена сроком. Сегодня «RAD» чаще означают принципы и практики (прототип, JAD, timeboxing), а не отдельный бренд — их переняли Scrum, Kanban и корпоративные гибриды. На долгоживущем продукте RAD-фазы (2–4 недели пользовательского проектирования) встраиваются в бесконечный lifecycle; жёсткий горизонт «весь проект 60–120 дней» относится к классическому проектному RAD, а не к гибриду RAD→XP (см. раздел 3).
DSDM (Dynamic Systems Development Method) выросла из RAD-линейки и стала основой AgilePM.
flowchart LR
A[Планирование требований] --> B[Пользовательское проектирование]
B --> C[Разработка / Конструирование]
C --> D[Внедрение / Переключение]
D -.->|итерация, если нужно| B
-
Планирование требований — урезанный начальный анализ: цели, границы MVP, высокоуровневые потребности (→ 02.01.04 Определение границ решения (Scope Modelling)). Аналитик проводит JRP-сессии (Joint Requirements Planning) — согласование видения, приоритетов и границ scope до детального проектирования.
-
Пользовательское проектирование — главная фаза RAD. JAD-сессии (Joint Application Development): интенсивные воркшопы, где пользователи и аналитики совместно проектируют и прототипируют решение. JRP отвечает на «что и зачем», JAD — «как выглядит и работает». Продукт фазы — одобренный прототип интерфейса и поведения (→ 02.02.04 Прототипирование и UI-UX-исследования, 02.02.02 Воркшопы, фасилитация и совместные сессии).
-
Разработка / Конструирование — рабочая система на основе прототипов; заказчик участвует эпизодически через демо.
-
Внедрение / Переключение (Cutover) — переход, обучение, приёмка в реальной среде.
XP: инженерный контур поверх гибкости
XP, сформулированный Кентом Беком в конце 1990-х, исходит из неизбежности изменений. Ценности — коммуникация, простота, обратная связь, смелость, уважение. В отличие от RAD, XP не ставит прототип в центр, а делает исполняемые приёмочные тесты источником истины о поведении системы и опирается на TDD, CI и рефакторинг. XP лёг в основу Agile Manifesto (2001) вместе с RAD и другими подходами. RAD и XP — параллельные ветви эволюции Agile, а не «предшественник и последователь»; детали Scrum/Kanban и роли аналитика в спринте — в 05.02 Scrum и Kanban (аналитик в Agile).
2. Ключевые понятия
2.1 Принципы RAD
- Timeboxing: каждая фаза жёстко ограничена по времени. Аналитик помогает приоритизировать функции (→ 02.03.02 Приоритизация требований (MoSCoW, WSJF, Кано), 02.05.03 Управление объёмом (Scope Creep) и ожиданиями).
- JAD-сессии: аналитик — фасилитатор, фиксирует решения в прототипе, а не в монолитном документе.
- Прототипы — два режима. В RAD-линейке (Martin, McConnell) различают одноразовый (throwaway) и эволюционный (evolutionary) прототип. Throwaway — быстрый макет для уточнения требований перед JAD или Construction; после согласования видения его не переносят в production (техники и UX-исследования — 02.02.04 Прототипирование и UI-UX-исследования). Evolutionary — код или макет, который становится основой продукта; здесь критичны явные НФТ и договорённость «переписать vs доработать» (→ 08.02 Нефункциональные требования (НФТ) — классификация и стандарты). В классическом RAD по умолчанию — эволюционный путь; throwaway выбирают сознательно, когда UI ещё неясен, а переносить прототип в prod нельзя.
- Минимизация документации: SRS и BRD замещаются прототипом и краткими историями с критериями приёмки (→ 04.01 Форматы документов (Vision&Scope, BRD, SRS, FRD)).
2.2 XP: отличия от RAD и от «голого» Scrum
XP не дублирует Scrum: нет жёсткого спринт-ритуала как обязательного каркаса, зато жёстче инженерный контур. Для аналитика значимы три группы отличий:
| Что отличает XP | От RAD | От Scrum без XP-практик |
|---|---|---|
| Уточнение требований | Не JAD и прототип, а Planning Game + On-Site Customer — заказчик в команде постоянно, а не только на фазе проектирования | Scrum допускает PO «на расстоянии»; XP требует ежедневной доступности decision maker |
| Форма спецификации | Не UI-прототип, а исполняемые приёмочные тесты (ATDD) и истории (→ 02.04.02 Критерии приёмки (Acceptance Criteria), 04.02 Пользовательские истории (User Stories) и Job Stories) | В Scrum тесты и TDD — рекомендация; в XP — обязательная практика |
| Инженерный контур | TDD, CI, рефакторинг не регламентированы | TDD, CI, парное программирование, коллективное владение кодом — ядро процесса (→ 07.06 CICD и конвейеры — влияние на требования, 05.04 DevOps и непрерывная поставка — влияние на анализ) |
Welcome change в XP стыкуется с 02.05.02 Управление приоритетами в условиях изменчивости: изменения приветствуются, но приоритет пересматривается на Planning Game, а не «бесплатно» вне итерации.
Метафора (Metaphor) — общее видение системы простым языком; на практике это 03.03.03 Словарь данных (описание) или 10.01.14 Шаблон глоссария и словаря данных, а не абстрактный слоган.
В классическом XP явной роли «аналитик» нет; на практике аналитик часто выступает Customer Proxy (с письменным мандатом — → 02.01.03 Анализ заинтересованных сторон (Stakeholder Map), 09.07 Управление ожиданиями заказчика) или помогает формулировать истории и приёмочные тесты до разработки.
2.3 Сравнение RAD и XP
| Характеристика | RAD | XP |
|---|---|---|
| Фокус | Быстрый продукт через прототипы и пользователей | Качество кода и адаптивность через инженерные практики |
| Инструмент уточнения | Прототип (throwaway или evolutionary), JAD | Истории, приёмочные тесты, заказчик на месте |
| Документирование | Минимальное; прототип — спецификация UI/поведения | Приёмочные тесты — исполняемая спецификация |
| Ритм | Классический проект: 60–120 дней целиком; фазы — отдельные timebox'ы. На продукте: RAD-фазы внутри бесконечного цикла | Итерации 1–2 недели, непрерывные мелкие релизы |
| Участие заказчика | Интенсивное на проектировании, затем эпизодическое | Непрерывное, заказчик в команде |
| Технические практики | Не регламентируются | TDD, CI, рефакторинг, парное программирование |
| Применение | UI-heavy приложения, «не знает, пока не увидит» | Высокая неопределённость + высокая планка качества кода |
3. Как применяется в работе аналитика
3.1 RAD: фаза Construction — минимум для системного аналитика
Когда JAD завершён, заказчик эпизодичен, а источником истины остаётся UI-прототип, прототип не покрывает интеграции, модель данных и бизнес-правила вне экрана. Минимальный набор SA-артефактов на Construction — без раздувания до полного SRS:
- Контекст и границы сервисов — 03.01.02 Моделирование контекста системы (Context Diagram): какие системы участвуют, что внутри MVP.
- Ключевые контракты интеграций — черновики 03.05.03 Спецификации контрактов (OpenAPI, AsyncAPI, Protobuf) для критичных API; достаточно happy path + коды ошибок.
- Словарь сущностей — 03.03.03 Словарь данных (описание): имена, типы, связи, правила, не видимые в UI.
- НФТ вне прототипа — производительность, безопасность, аудит (→ 08.02 Нефункциональные требования (НФТ) — классификация и стандарты).
Изменения после устных демо фиксируйте в бэклоге: история + критерии приёмки, с 02.05.05 Жизненный цикл требования и 02.03.04 Трассировка требований (концепция) на стыке фаз «проектирование → Construction».
3.2 Гибрид RAD + XP
Типичный сценарий: RAD-пользовательское проектирование (2–4 недели) даёт прототип и границы MVP; далее XP-итерации (1–2 недели) с TDD и приёмочными тестами. На стыке аналитик передаёт: (1) прототип + открытые вопросы по бизнес-правилам; (2) бэклог историй с критериями; (3) список НФТ, не покрытых UI; (4) минимум SA из п. 3.1. Перед стартом Construction — 10.04 Чеклист аналитика перед стартом разработки. Не смешивайте «прототип как спецификацию» и «тесты как спецификацию» без договорённости, что является источником истины на каждой фазе.
3.3 Критерии выбора: RAD, XP или Scrum
Правило: если нужен стандартный ритм спринтов, PO, Review/Demo и роль аналитика в бэклоге — выбирайте Scrum; детальная матрича ролей и событий — в 05.02 Scrum и Kanban (аналитик в Agile). RAD и XP — когда нужны специфические практики, а не «Agile по умолчанию».
| Сигнал | Выбор | Почему |
|---|---|---|
| Доминирует UI/UX, заказчик «не знает, пока не увидит» | RAD | JAD и прототип быстрее снимают неопределённость, чем текстовые истории |
| Прототип уже не нужен; нужны частые релизы и дисциплина TDD/CI | XP | Исполняемые тесты и инженерный контур важнее визуализации |
| Команда зрелая в TDD/CI, заказчик доступен ежедневно | XP | On-Site Customer и ATDD требуют постоянного decision maker |
| Нужен предсказуемый ритм спринтов без жёсткого прототипирования | Scrum | Фреймворк ролей и событий; XP-практики подключаются опционально |
| Жёсткий fix-price и фиксированный scope | ⚠ любой Agile-вариант | «Welcome change» конфликтует с контрактом: fixed MVP + T&M на изменения, или [[-02.05.02 Управление изменениями (Change Control Board) |
3.4 Практические рекомендации
- В RAD — фасилитация и прототип: модерируйте JAD; прототип дополняйте сценариями исключений; формат — 04.03 Use Case vs User Story — выбор подхода.
- В XP — тесты как требования: бизнес-правила в Acceptance Tests (Gherkin); связка с 02.04.01 Верификация и валидация (V&V) и 08.03 Тестирование требований (статическое тестирование); шаблон — 10.01.01 Шаблон User Story.
- Защищайте минимализм: отсекайте функции вне ядра ценности под timebox или итерацию.
- Лёгкие артефакты вместо монолита: Wiki, ADR, чеклисты рецензирования (→ 08.04 Рецензирование и инспекции (техники Фейгана)).
4. Типовые ошибки и ограничения
Ограничения RAD и XP
- RAD: плохо для крупных распределённых систем; требует доступа к заказчику на JAD; эволюционный прототип без SA-артефактов из раздела 3.1 — узкое место на Construction.
- XP: требует зрелости команды в TDD/CI; один On-Site Customer в enterprise часто нереалистичен без явного decision maker.
Типовые ошибки
| Ошибка | Последствие | Что делать |
|---|---|---|
| Customer Proxy без мандата | Решения отвергаются стейкхолдерами | Письменный мандат, карта стейкхолдеров, эскалация |
| «Приёмочные тесты = вся спецификация» в regulated-проекте | Провал аудита, нет трассировки | 02.03.04 Трассировка требований (концепция), артефакты для 08.06 Юридические и регуляторные требования РФ (PCI-DSS) |
| Эволюционный прототип → production без пересмотра | Техдолг, смена стека | Список «переписать vs доработать», НФТ до cutover |
| Fix-price + «welcome change» | Scope creep, конфликт с контрактом | Fixed MVP + T&M, или 02.05.02 Управление изменениями (Change Control Board) |
| Throwaway-прототип случайно ушёл в prod | Неподдерживаемый код, скрытые дыры | Явно помечать тип прототипа до JAD; после throwaway — новая кодовая база |
| Смешение JRP и JAD | Хаос в scope | Сначала JRP (границы), потом JAD (прототип) |
| UI-прототип без контрактов и словаря на Construction | «Чёрные дыры» в интеграциях и данных | Минимум SA из раздела 3.1 |
| Один «заказчик» в enterprise без decision maker | Истории без приоритета | Назначить accountable, RACI на приёмку |
Связи с другими разделами базы
- 05.02 Scrum и Kanban (аналитик в Agile) — роли, спринты, бэклог; куда уходит рутина Agile, не дублируемая здесь.
- 00.03 Жизненный цикл ПО и место аналитика (SDLC, STLC) — место RAD/XP в эволюции SDLC.
- 05.01 Waterfall и V-model — противоположный подход к управлению требованиями.
- 05.03 SAFe и LeSS — аналитик в масштабируемых фреймворках — предел командной логики RAD/XP.
- 05.04 DevOps и непрерывная поставка — влияние на анализ — наследие XP-практик в поставке.
- 02.02.04 Прототипирование и UI-UX-исследования — throwaway-прототипы и UX-техники.
- 03.01.02 Моделирование контекста системы (Context Diagram) — границы на фазе Construction.
- 03.05.03 Спецификации контрактов (OpenAPI, AsyncAPI, Protobuf) — контракты вне UI.
- 03.03.03 Словарь данных (описание) — сущности и метафора XP.
- 02.05.02 Управление приоритетами в условиях изменчивости — welcome change в XP.
- 02.05.02 Управление изменениями (Change Control Board) — fix-price и regulated-проекты.
- 02.05.05 Жизненный цикл требования — фиксация изменений после JAD.
- 02.03.04 Трассировка требований (концепция) — стык RAD-фаз и аудит.
- 10.04 Чеклист аналитика перед стартом разработки — гибрид RAD→XP.
- 02.04.02 Критерии приёмки (Acceptance Criteria) — исполняемая спецификация в XP.
- 07.06 CICD и конвейеры — влияние на требования — CI как практика XP.
Источники и дополнительные материалы
Книги и стандарты
- James Martin. Rapid Application Development (1991) — оригинальное издание методологии RAD.
- Kent Beck, Cynthia Andres. Extreme Programming Explained: Embrace Change (2-е издание) — канон XP.
- Steve McConnell. Rapid Development: Taming Wild Software Schedules — обзор RAD, типов прототипов и смежных подходов.
- Ken Auer, Roy Miller. Extreme Programming Applied: Playing to Win — практическое применение XP.
- DSDM Consortium / Agile Business Consortium. DSDM Agile Project Framework — https://www.agilebusiness.org/page/ProjectFramework_10
Статьи и онлайн-материалы
- Agile Manifesto (2001) — https://agilemanifesto.org/
- Agile Alliance. Extreme Programming (XP) — https://agilealliance.org/glossary/xp/
- Martin Fowler. Extreme Programming — https://martinfowler.com/bliki/ExtremeProgramming.html
- Martin Fowler. User Story — https://martinfowler.com/bliki/UserStory.html
- Martin Fowler. The New Methodology — https://martinfowler.com/articles/newMethodology.html
Обучение
- ICAgile: Agile Fundamentals (ICP), Agile Programming (ICP-PRG) — https://www.icagile.com/certification