Технический процесс, построенный вокруг доказательств и ограничений.
01 — Постановка
Понять желаемый результат, контекст системы, ограничения, заинтересованные стороны и неизвестные — прежде чем что-либо предлагать.
Типичные работы
- Прояснить желаемый результат
- Составить карту контекста системы и заинтересованных сторон
- Назвать ограничения и неизвестные
- Изучить существующую архитектуру
Результаты
- Постановка проблемы
- Явные допущения
- Первичная карта рисков
02 — Обследование
Изучить существующее, прежде чем предлагать замену.
Типичные работы
- Ревью архитектуры и кода там, где это уместно
- Карта зависимостей, данных и интеграций
- Ограничения реализации и эксплуатации
- Оценка технологических вариантов
Результаты
- Выводы обследования
- Точки принятия решений
- Короткий список вариантов
03 — Проектирование
Определить техническое направление.
Типичные работы
- Сравнение вариантов
- Проектирование архитектуры
- Нефункциональные требования
- Последовательность миграции
Результаты
- Целевая архитектура
- Записи архитектурных решений
- Технический план развития
04 — Валидация
Когда неопределённость высока — проверить её. Не строить большое решение ради ответа на маленький технический вопрос.
Типичные работы
- Proof of concept или технический спайк
- Прототип интеграции
- Нагрузочное тестирование
- Оценка ИИ там, где это уместно
Результаты
- Доказательства для решения
- Подтверждённый или скорректированный проект
- Оценка готовности к эксплуатации
05 — Реализация
Внедрять итерациями, которые можно проверять, эксплуатировать и менять.
Типичные работы
- Поэтапная реализация
- Тестирование и усиление безопасности
- Наблюдаемость с первой итерации
- Интеграция с существующими процессами разработки
Результаты
- Работающие итерации в эксплуатации
- Покрытие тестами и контроль безопасности
- Операционная видимость
06 — Ввод в эксплуатацию
Сделать созданное пригодным к использованию за пределами проекта.
Типичные работы
- Документация и runbook-и
- Передача и трансфер знаний
- Рекомендации по модели эксплуатации
- Анализ операционной обратной связи
Результаты
- Runbook-и и архитектурные записи
- Команда, способная эксплуатировать и менять систему
- План следующего этапа
Объём проекта зависит от технического решения, контекста системы и модели реализации.