Что такое архитектура продукта?
Какие есть типы архитектуры продукта?
Есть два основных типа архитектуры продукта: модульный и интегральный. Модульная архитектура продукта фокусируется на взаимосвязях между разными функциями продукта. Интегральная архитектура продукта фокусируется на функциях, назначении и внутреннем устройстве каждого элемента с краткими заметками о взаимосвязях между ними.
Как создать архитектуру продукта?
Архитектуру продукта создают в четыре этапа: Схема, Группировка функций и элементов схемы, Карта продукта, Связи между элементами.
Архитектура продукта
Архитектура продукта — это компоненты из которых продукт состоит и связь между ними.
Научное определение архитектуры продукта звучит так: расположение функциональных элементов в физические блоки, которые становятся строительными блоками для продукта или семейства продуктов.
Разберемся на примере тела человека. У нас есть сердце, легкие, печень — это все внутри. Голова, ноги, живот — снаружи. Все части взаимосвязаны, работа органа может влиять на внешний вид. Голова не может существовать без тела и наоборот. Но без ног вполне можно прожить. По схожим принципам работает и архитектура продукта.
Схематичное изображение архитектуры продукта
Кто отвечает за архитектуру продукта
В разработке продуктов за то, что снаружи отвечает Front-end. За то, что внутри — Back-end. Они могут сделать так, что все компоненты продукта будут зависеть друг от друга. Тогда один не сможет существовать без другого. Либо сделать так, что все элементы будут независимы, а вместе образуют готовый продукт.
Два типа архитектуры продукта
Есть два основных типа архитектуры продукта: модульный и интегральный.
Модульная архитектура продукта фокусируется на взаимосвязях между разными функциями продукта. Эти функции описываются кратко, а способы их взаимодействия — как можно подробнее. Этот способ выбирают, чтобы создать продукт с длинным сроком службы, менее подверженный ошибкам и не требующим частых обновлений.
Модульная архитектура трейлера
Модули полностью реализуют одну или несколько функций.
Взаимодействие между блоками хорошо определено.
Модульная архитектура проста и используется повторно для схожих продуктов или платформы.
Примеры продуктов с модульной архитектурой:
Швейцарский армейский нож
Музыкальный плеер Sony Walkman.
Плеер Sony Walkman в разобранном виде, чтобы лучше было видно его модульную архитектуру
Интегральная архитектура продукта фокусируется на функциях, назначении и внутреннем устройстве каждого элемента с краткими заметками о взаимосвязях между ними. Этот способ выбирают, когда надо сократить расходы на разработку продукта и повысить его общую производительность.
Один функциональный элемент равен нескольким блокам. Или в одном блоке реализуют несколько функций.
Между блоками нет тесной связи.
Интегральный архитектура повышает производительность и снижает затраты на создание продукта.
Интегральная архитектура продукта на примере трейлера
Примеры продуктов с интегральной архитектурой:
Колеса велосипеда
Цифровая фотокамера.
Как создать архитектуру продукта
Архитектуру продукта создают в четыре этапа.
Схема. Она описывает особенности и характеристики продукта. Проще всего взять готовый архитектурный шаблон — это уже опробованные общие решения.
Группировка функций и элементов схемы. Способ группировки зависит от типа продукта, который вы проектируете. Однако ключевой принцип группировки — сходство между элементами в группах и то, как сильно они взаимодействуют друг с другом.
Карта продукта. На ней вы располагаете все элементы по структуре.
Связи между элементами. Вы рисуете линии между всеми элементами продукта, чтобы показать, взаимодействуют ли они друг с другом и как. Это самый важный шаг, так как именно здесь формируется архитектура продукта.
Как выбрать архитектуру продукта
Выбор архитектуры продукта зависит от решений по планированию продукта и разработке концепции:
Разнообразие продукции (компьютеры, автомобили)
Стандартизация (двигатели, подшипники, крепеж)
Производительность (гоночные велосипеды, истребители)
Стоимость производства (дисководы, бритвы)
Управление проектами (потенциал команды, навыки)
Системный инжиниринг (декомпозиция, интеграция)
Подходы в разработке архитектуры приложений
Разработчики используют два подхода в разработке архитектуры приложений: API First и Loose Coupling. Оба позволяют как в конструкторе создавать структуру приложения из блоков, менять одну часть без другой. Каждая часть приложения выступает отдельным модулем.
API First выбирают, когда нужно снизить стоимость разработки, увеличить скорость приложения и уменьшить число ошибок. Вводишь данные и получаешь в ответ API. Он нужен для Front-end и Back-end разработчиков: они могут писать код и тестировать его в одно время.
Loose Coupling выбирают, когда надо упростить соединение элементов в архитектуре продукта. Нельзя изменить отдельные элементы без других — все взаимосвязаны. Это помогает быстрее находить и решать проблемы при тестировании приложения.