Agile-коуч
Agile-трансформация
AgileSurvey
Beyond Budgeting
DevOps
eXtreme Manufacturing
HR
JTBD
Kanban
KPI
LeSS
OKR
PMI
Project management
SAFe
Scrum
Scrum in Hardware
Scrum-мастер
Spotify
XM
Архитектура
Бюджетирование
Владелец продукта
Игра
Инженерия
Конфликты
Менеджмент
Обучение
Продуктовый менеджмент
Самоорганизация
Скрам в Производстве
Фасилитация
Финансы
Холакратия
Экстремальное производство
Применить

Создание компонентной структуры продукта

Описание воркшопа по созданию компонентной структуры продукта

Воркшоп используется для обоснованного и осознанного введения в систему новых компонентов, описания ответственностей этих компонентов и как совместно компоненты формируют видение архитектуры.

Цели

  • Создать общее понимание дизайна системы
  • Быстро пройтись по нескольким вариантам распределения ответственности компонентов
  • Создать связь между архитектурно-значимыми требованиями и вариантами дизайна
  • Построить первый вариант или выявить потенциальные пробелы в архитектуре

План проведения

  1. Расскажите участникам о целях
  2. Зачитайте участникам первую историю
  3. Создайте карточку, представляющую пользователя
  4. Запишите пользователя вверху карточки, а ниже укажите действие, инициирующее сценарий
  5. Добавьте еще одну карточку, представляющую первый архитектурный элемент. Это элемент, с которым происходит первый контакт пользователя. Напишите название элемента вверху карточки.
    Карточка компонента
  6. Развивайте диаграмму, создавая карточки с новыми элементами. Указывайте на карточках ответственности каждого элемента. Помечайте отношения между элементами на карточках. Расположите карточки в таком порядке, чтобы расположение представляло связи между элементами.
  7. С развитием дизайна, оставляйте все карточки на столе. Отодвигайте карточки в сторону, если они могут понадобиться позже, что позволит вам разглядеть и быстро оценить альтернативы
  8. Возьмите следующую историю и пройдитесь по полученной схеме дизайна. В случае необходимости — добавляйте или меняйте карточки. Попробуйте изменить предположения, касающиеся историй и посмотреть, как это повлияет на дизайн.
  9. Повторяйте шаги 4-8 до тех пор, пока не рассмотрите все истории
  10. В конце сессии запишите все полученные компоненты и назначенные им ответственности. Так же запишите все принципы проектирования, выявленные во время воркшопа

Рекомендации

  • Используйте стикеры
  • Можно рисовать картинки, не только писать текст
  • Смешивать различные уровни представления (динамика, статика и физика) — нормально, если помогает в принятии решений
  • В конце упражнения каждый элемент должен иметь как минимум одну ответственность.
  • Обсудите карточки с большим количеством ответственностей.
  • Компонент должен иметь минимально возможное количество ответственностей
  • Компонент должен иметь минимально возможное число связей

Типовые проблемы

  • Прямое изменение одним компонентов данных другого компонента. 
    Нарушение принципа инкапсуляции, снижает гибкость дизайна. Требуется дополнительный анализ границ предметной области.
  • Слишком много ответственностей. 
    Компонент сложно понять и использовать. Требуется разбиение на более мелкие компоненты.
  • Отсутствие ответственностей. 
    Компонент не несет ценности. Бывает, когда проектирование велось без учета того, как компонент будет использоваться.
  • Вводящие в заблуждение именования компонентов. 
    Название компонента должно быть коротким, емким и отражать ответственность, закрепленную за ним.

Пример: «Система планирования питания для спортсменов»

Высокоуровневый список требований

  • Просмотр базы данных рецептов
  • Добавление нового рецепта в базу данных
  • Редактирование существующего рецепта
  • Планирование курса питания

Один из множества возможных результатов:

Ответственности компонентов

На практике модель может иметь следующий вид:

Ответственности компонентов

Получить практический навык использования вы сможете на нашем тренинге, посвященном проектированию систем.

Составлено на основе описания в книге Design It! (Michael Keeling)

15 май 2018, Сергей Баранов
Тренинги по теме
Другие статьи
9 июл 2020, Константин Хохрин
Что такое OKR?

OKR, Objectives and Key Results — это система постановки целей. Этот подход позволяет добиться вовлеченности сотрудников, синхронизировать организацию и обеспечить движение всех участников процесса в едином направлении, с ясными приоритетами и заданным ритмом.

9 июл 2020, Валентина Коричина
Юнит-экономика “Для чайников” #1

Самая простая формула юнит-экономики отвечает на вопрос “Что я масштабирую — прибыль или убыток — когда вливаю деньги в рекламу?”

7 июл 2020, Иван Селеверстов
Как сформировать качественные OKR

Чтобы помочь вам сделать OKR лучше, мы придумали критерии оценки и оформили их в чек-лист. При помощи набора вопросов вы можете проверить ваши OKR и получить оценку в баллах. Сумма баллов покажет вам, насколько вы близки к вашему Good enough, стоит ли провести еще один раунд доработок. Сами вопросы в чек-листе подскажут направление для улучшений.