От стратегии к действию: выявление бизнес-ценности в ИТ-проектах через Domain-Driven Design часть 3
Оглавление
- Проблема разрыва между стратегией и реализацией
- Почему традиционные подходы не работают
- Domain-Driven Design как мост между стратегией и реализацией
- Стратегические практики DDD для выявления бизнес-ценности
- Практический процесс выявления бизнес-ценности и перевода стратегии в действие
- Измерение бизнес-ценности: комплексный подход
- Финансовые аспекты и ROI в DDD-проектах
- Пример: от стратегии к конкретным проектам в компании, организующей ИТ-конференции
- Заключение: ключевые факторы успеха при выявлении бизнес-ценности
- Список литературы
Предыдущая первая часть и второй часть цикла статей про Domain Driven Design и связанные с ним подходы к разработке ПО.
Хотите записаться на курс по DDD? Пишите мне в личные сообщения или на почту.
Так же смотрите курс по DDD в компании IBS Training, который я веду совместно с другими преподавателями.
Финансовые аспекты и ROI в DDD-проектах
Одним из ключевых вопросов при внедрении Domain-Driven Design является обоснование инвестиций и оценка возврата на инвестиции (ROI). Несмотря на очевидные качественные преимущества DDD, руководству компаний необходимы количественные показатели для принятия обоснованных решений об инвестициях.
Структура затрат в DDD-проектах
Для точной оценки ROI необходимо учитывать все категории затрат, связанные с внедрением DDD:
1. Прямые затраты на внедрение
- Обучение персонала: затраты на тренинги, воркшопы, консультации внешних экспертов
- Моделирование домена: затраты на проведение сессий Event Storming, разработку Ubiquitous Language, создание доменных моделей
- Рефакторинг существующих систем: затраты на адаптацию существующего кода к принципам DDD
- Инструменты и инфраструктура: затраты на специализированные инструменты для моделирования, визуализации и документирования
2. Косвенные затраты
- Снижение продуктивности в период адаптации: временное снижение скорости разработки в период освоения новых подходов
- Организационные изменения: затраты на реорганизацию команд в соответствии с Bounded Contexts
- Управление изменениями: затраты на преодоление сопротивления изменениям и адаптацию процессов
3. Долгосрочные затраты
- Поддержание доменных моделей: затраты на актуализацию моделей при изменении бизнес-требований
- Непрерывное обучение: затраты на поддержание и развитие компетенций команды в области DDD
- Эволюция архитектуры: затраты на адаптацию архитектуры к изменяющимся требованиям
Категории выгод от внедрения DDD
Для комплексной оценки ROI необходимо учитывать различные категории выгод:
1. Прямые финансовые выгоды
- Снижение стоимости разработки: более эффективное использование ресурсов благодаря четкому пониманию домена
- Снижение стоимости поддержки: уменьшение количества дефектов и упрощение диагностики проблем
- Снижение стоимости изменений: более гибкая архитектура, позволяющая быстрее и дешевле вносить изменения
2. Косвенные финансовые выгоды
- Сокращение time-to-market: более быстрый вывод новых функций на рынок благодаря лучшему пониманию домена
- Повышение качества продукта: снижение количества дефектов и улучшение пользовательского опыта
- Улучшение принятия решений: более обоснованные решения благодаря глубокому пониманию домена
3. Стратегические выгоды
- Повышение конкурентоспособности: возможность быстрее реагировать на изменения рынка
- Инновационный потенциал: лучшее понимание домена способствует инновациям
- Снижение рисков: уменьшение зависимости от ключевых сотрудников благодаря явной модели домена
Методики расчета ROI для DDD-проектов
1. Традиционный подход к расчету ROI
Традиционная формула расчета ROI:
ROI = (Выгоды - Затраты) / Затраты * 100%
Для DDD-проектов эта формула может быть расширена с учетом временной стоимости денег и различных категорий выгод и затрат:
ROI = (NPV выгод - NPV затрат) / NPV затрат * 100%
где NPV (Net Present Value) — чистая приведенная стоимость.
2. Поэтапный подход к оценке ROI
Учитывая сложность оценки всех выгод от внедрения DDD, рекомендуется использовать поэтапный подход:
- Краткосрочный ROI (1-2 года): фокус на прямых финансовых выгодах, таких как снижение стоимости разработки и поддержки
- Среднесрочный ROI (2-3 года): включение косвенных финансовых выгод, таких как сокращение time-to-market и повышение качества
- Долгосрочный ROI (3-5 лет): учет стратегических выгод, таких как повышение конкурентоспособности и инновационный потенциал
3. Сравнительный анализ сценариев
Для более точной оценки ROI рекомендуется сравнивать различные сценарии:
- Базовый сценарий: продолжение использования текущих подходов без внедрения DDD
- Консервативный сценарий: частичное внедрение DDD в ключевых доменах
- Агрессивный сценарий: полное внедрение DDD во всех доменах
Для каждого сценария оцените затраты, выгоды и риски, а затем рассчитайте ожидаемый ROI.
Практические рекомендации по финансовому обоснованию DDD-проектов
1. Начинайте с малого и демонстрируйте быстрые победы
Вместо полномасштабного внедрения DDD во всей организации начните с пилотного проекта в ключевом домене. Это позволит продемонстрировать быстрые результаты и обосновать дальнейшие инвестиции.
2. Используйте комбинацию количественных и качественных показателей
Не ограничивайтесь только финансовыми показателями. Дополните их качественными оценками, такими как удовлетворенность разработчиков, улучшение коммуникации между бизнесом и ИТ, снижение рисков.
3. Учитывайте долгосрочную перспективу
Многие выгоды от внедрения DDD проявляются в долгосрочной перспективе. При расчете ROI учитывайте не только краткосрочные затраты и выгоды, но и долгосрочные стратегические преимущества.
4. Проводите регулярную переоценку ROI
По мере внедрения DDD регулярно пересматривайте оценку ROI с учетом фактических затрат и достигнутых результатов. Это позволит корректировать стратегию внедрения и обосновывать дальнейшие инвестиции.
5. Разработайте специфические для вашей организации метрики ROI
Стандартные формулы ROI могут не учитывать специфику вашей организации и проектов. Разработайте собственные метрики, отражающие уникальные аспекты вашего бизнеса и технологического ландшафта.
6. Создайте шаблон бизнес-кейса для DDD-проектов
Разработайте стандартный шаблон бизнес-кейса для DDD-проектов, включающий:
- Описание бизнес-проблемы и целей
- Оценку затрат по категориям
- Оценку выгод по категориям
- Анализ рисков и способы их митигации
- Расчет ROI для различных сценариев
- План реализации и ключевые вехи
Этот шаблон поможет стандартизировать подход к обоснованию инвестиций в DDD-проекты и обеспечит сопоставимость различных инициатив.
Пример: от стратегии к конкретным проектам в компании, организующей ИТ-конференции
Рассмотрим практический пример того, как компания, организующая ИТ-конференции, может использовать описанный процесс для перевода стратегической цели “стать ведущей платформой для обмена знаниями в ИТ-индустрии” в конкретные проекты и изменения.
Шаг 1: Анализ стратегических целей
Стратегические цели:
- Увеличить количество участников на 30% в течение двух лет
- Повысить удовлетворенность участников до 90%
- Расширить географию мероприятий на 5 новых городов
- Увеличить долю повторных посещений до 60%
Категоризация бизнес-целей:
- Улучшение позиции на рынке: расширение географии, увеличение количества участников
- Улучшение качества системы: повышение удовлетворенности участников
- Поддержка улучшенных бизнес-процессов: оптимизация процесса организации мероприятий
Шаг 2: Картирование бизнес-возможностей и выявление Core Domain
Карта бизнес-возможностей:
- Формирование программы мероприятий
- Привлечение и отбор спикеров
- Маркетинг и продажи
- Логистика и организация мероприятий
- Управление взаимоотношениями с участниками
- Финансы и бухгалтерия
- Управление персоналом
Оценка стратегической важности и сложности:
- Core Domain: формирование программы мероприятий, управление взаимоотношениями с участниками
- Supporting Subdomains: привлечение и отбор спикеров, маркетинг и продажи, логистика
- Generic Subdomains: финансы и бухгалтерия, управление персоналом
Domain Vision Statement: “Наша система должна обеспечить персонализированный опыт для каждого участника, помогая им находить наиболее релевантный контент и устанавливать ценные профессиональные связи, что приведет к высокой удовлетворенности и повторным посещениям.”
Шаг 3: Создание Impact Maps
Стратегическая цель: увеличить долю повторных посещений до 60%
Акторы:
- Участники
- Спикеры
- Организаторы
Воздействия для участников:
- Находят релевантный контент
- Устанавливают ценные профессиональные связи
- Получают персонализированные рекомендации
Поставляемые результаты для воздействия “находят релевантный контент”:
- Система персонализированных рекомендаций контента
- Улучшенный поиск и фильтрация докладов
- Возможность создания персонального расписания
Шаг 4: Проведение Event Storming
Ключевые события:
- Участник зарегистрировался
- Участник выбрал интересующие темы
- Система сгенерировала персонализированные рекомендации
- Участник добавил доклад в личное расписание
- Участник посетил доклад
- Участник оценил доклад
- Система обновила профиль предпочтений участника
Команды:
- Зарегистрироваться
- Выбрать интересующие темы
- Добавить доклад в расписание
- Оценить доклад
Агрегаты:
- Участник
- Профиль предпочтений
- Доклад
- Личное расписание
Политики:
- Рекомендательная система учитывает предыдущие оценки и выбранные темы
- Система уведомляет о докладах, соответствующих интересам участника
Шаг 5: Определение Bounded Contexts
Bounded Contexts:
- Контекст профиля участника: управление данными и предпочтениями участников
- Контекст программы мероприятия: управление докладами и расписанием
- Контекст рекомендаций: генерация персонализированных рекомендаций
- Контекст регистрации: обработка регистраций и платежей
Context Map:
- Контекст профиля участника (Customer) → Контекст рекомендаций (Supplier)
- Контекст программы мероприятия (Customer) → Контекст рекомендаций (Supplier)
- Контекст регистрации (Upstream) → Контекст профиля участника (Downstream с Anti-corruption Layer)
Шаг 6: Разработка Ubiquitous Language
Глоссарий для контекста профиля участника:
- Участник — человек, зарегистрированный на конференцию
- Профиль предпочтений — набор тем и форматов, интересующих участника
- Интерес — тема или формат, которые участник отметил как интересующие
- История посещений — список докладов, которые участник посетил на предыдущих конференциях
Шаг 7: Формирование портфеля проектов
Приоритизированный портфель проектов:
- Система персонализированных рекомендаций — высокая бизнес-ценность, средняя сложность
- Улучшенный профиль участника — высокая бизнес-ценность, низкая сложность
- Мобильное приложение для навигации по конференции — средняя бизнес-ценность, средняя сложность
- Платформа для нетворкинга — высокая бизнес-ценность, высокая сложность
- Аналитическая система для оценки качества контента — средняя бизнес-ценность, средняя сложность
Шаг 8: Разработка метрик для измерения бизнес-ценности
Метрики для проекта “Система персонализированных рекомендаций”:
- Процент участников, использующих рекомендации (целевое значение: 80%)
- Средняя оценка релевантности рекомендаций (целевое значение: 4.5 из 5)
- Процент участников, посетивших рекомендованные доклады (целевое значение: 70%)
- Корреляция между использованием рекомендаций и повторным посещением (целевое значение: положительная корреляция)
Заключение: ключевые факторы успеха при выявлении бизнес-ценности
Эффективное выявление бизнес-ценности и перевод стратегии в конкретные проекты требуют систематического подхода и активного вовлечения всех заинтересованных сторон. Domain-Driven Design предоставляет мощный набор практик и инструментов для этого процесса.
Ключевые факторы успеха включают:
-
Глубокое понимание бизнес-стратегии — инвестируйте время в анализ стратегических документов и интервью с руководителями высшего звена.
-
Фокус на Core Domain — сосредоточьте основные усилия и ресурсы на тех частях бизнеса, которые создают конкурентное преимущество.
-
Коллаборативный подход — вовлекайте представителей бизнеса, аналитиков, разработчиков и других заинтересованных сторон в процесс моделирования.
-
Единый язык — создайте и поддерживайте единый язык, понятный всем участникам проекта.
-
Четкие границы — определите четкие границы между различными частями системы, чтобы управлять сложностью.
-
Измеримые результаты — определите метрики, которые позволят оценить вклад каждого проекта в достижение стратегических целей.
-
Итеративный подход — регулярно пересматривайте и уточняйте модели и приоритеты на основе обратной связи и изменений в бизнес-контексте.
Применение этих принципов и практик поможет организациям эффективно переводить стратегические цели в конкретные проекты и изменения, обеспечивая создание программного обеспечения, которое действительно решает бизнес-проблемы и приносит измеримую ценность.
Список литературы
- Evans, E. (2003). Domain-Driven Design: Tackling Complexity in the Heart of Software. Addison-Wesley Professional.
- Vernon, V. (2013). Implementing Domain-Driven Design. Addison-Wesley Professional.
- Brandolini, A. (2019). Strategic Domain-Driven Design. Leanpub.
- Osterwalder, A., & Pigneur, Y. (2010). Business Model Generation: A Handbook for Visionaries, Game Changers, and Challengers. John Wiley & Sons.
- Osterwalder, A., Pigneur, Y., Bernarda, G., & Smith, A. (2014). Value Proposition Design: How to Create Products and Services Customers Want. John Wiley & Sons.
- Kaplan, R. S., & Norton, D. P. (1996). The Balanced Scorecard: Translating Strategy into Action. Harvard Business Review Press.
- Adzic, G. (2012). Impact Mapping: Making a Big Impact with Software Products and Projects. Provoking Thoughts.
- Humble, J., Molesky, J., & O’Reilly, B. (2015). Lean Enterprise: How High Performance Organizations Innovate at Scale. O’Reilly Media.
- Martin, R. C. (2017). Clean Architecture: A Craftsman’s Guide to Software Structure and Design. Prentice Hall.
- Fowler, M. (2002). Patterns of Enterprise Application Architecture. Addison-Wesley Professional.
- Reinertsen, D. G. (2009). The Principles of Product Development Flow: Second Generation Lean Product Development. Celeritas Publishing.
- Leffingwell, D. (2018). SAFe 4.5 Reference Guide: Scaled Agile Framework for Lean Enterprises. Addison-Wesley Professional.
- Kim, G., Humble, J., Debois, P., & Willis, J. (2016). The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations. IT Revolution Press.
- Rother, M., & Shook, J. (2003). Learning to See: Value Stream Mapping to Add Value and Eliminate MUDA. Lean Enterprise Institute.
- Pichler, R. (2016). Strategize: Product Strategy and Product Roadmap Practices for the Digital Age. Pichler Consulting.
- Kaplan, J. (2005). Strategic IT Portfolio Management: Governing Enterprise Transformation. Pittiglio Rabin Todd & McGrath.
- Hohpe, G., & Woolf, B. (2003). Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions. Addison-Wesley Professional.
- Milanov, G., & Njegoš, A. (2018). Analysis of Return on Investment in Different Types of Agile Software Development Project Teams. Symmetry, 10(8), 338.
- Harvard Business Review. (2016). HBR’s 10 Must Reads on Strategy. Harvard Business Review Press.