💠 Декомпозиция требований и задач
Декомпозиция требований — разбиение хотелок бизнеса на более конкретные и понятные задачи, которые можно передавать в разработку. Декомпозиция позволяет лучше понимать дальнейшие шаги по реализации, правильно расставить приоритеты и точнее давать оценку по срокам вывода функционала. Когда функционал разбивается на части и реализуется последовательно, это позволяет быстрее получить обратную связь от заказчика и сохранить гибкость к изменениям, а также быстрее вывести рабочий функционал. В общем, понятнее, что разрабатывать и рисков меньше.
Горизонтальная и вертикальная декомпозиция
При горизонтальной декомпозиции задачи делятся по типам работ, по уровням или по компонентам. Например, одна задача идет в бэк, вторая во фронт, а третья приводит к изменениям в базе данных. Главный минус: готовый функционал можно получить только после выполнения всех задач.
Вертикальная декомпозиция означает, что результат каждой задачи должен быть логически завершенным и работающим функционалом, который можно показать заказчику.
Методы декомпозиции
1️⃣ Несколько потребностей: задача делится по союзам «и», «или». Например, «сделать заказ и оплатить картой или бонусами» разбивается на три подзадачи.
2️⃣ Сценарии использования: задача делится по основному и альтернативным путям. Например, «купить товар» разбивается на подзадачи «сравнить товары», «добавить в избранное», «узнать о наличии» и т.д.
3️⃣ Разбиение по позитивным и негативным сценариям: по ожидаемому и неожиданному поведению функционала. Например, «совершить покупку по карте» разбивается на подзадачи «совершить покупку без ошибок», «обработать ошибку при недостатке средств на карте», «обработать ошибку при блокировке учетной записи» и т.д.
4️⃣ Разбиение по этапам процесса: по последовательным шагам, которые составляют процесс. Например, «совершить покупку в интернет магазине» разбивается на подзадачи «войти в личный кабинет», «просмотреть товары в корзине», «сформировать счет на оплату» и т.д.
5️⃣ От простого к сложному: по уровню сложности функционала. Например, «сделать баннер» разбивается на подзадачи «показать одну картинку», «сделать сетку из картинок», «сделать карусель из картинок» и т.д.
6️⃣ Операции (CRUD): задача делится по операциям создания, чтения, обновления и удаления. Например, «оформить заказ» разбивается на подзадачи «создать заказ», «просмотреть заказ», «редактировать заказ» и «удалить заказ».
7️⃣ Варианты интерфейса: по поддержке разных языков, устройств, браузеров и т.д. Например, «сделать сайт мультиязычным» разбивается на подзадачи «сделать русскоязычную версию», «сделать англоязычную версию» и т.д.
8️⃣ Разбиение по типам платформы/ОС. Например, «оплатить покупку» разбивается на подзадачи «оплатить покупку на ПК», «оплатить покупку на планшете», «оплатить покупку на смартфоне» и т.д.
9️⃣ Разделение по ролям. Например, «сделать сайт» разбивается на подзадачи «сделать сайт для анонимных пользователей», «сделать сайт для авторизованных пользователей», «сделать бэкофис для пользователей колл-центра» и т.д.
🔟 Разбиение по типам данных и параметрам: по разным типам данных или параметрам, которые функционал должен обрабатывать. Например, «поиск товаров» разбивается на подзадачи «поиск по тексту», «поиск по коду», «поиск по регулярным выражениям» и т.д.
📄 Статьи
1. 8 методов декомпозиции задач
2. Паттерны декомпозиции User Story / задач (из России с VPN)
3. Как справиться с декомпозицией задач и не перестараться + видео
4. Story Mapping на примере пиццерии
5. SPIDR — пять простых техник для создания идеально разделенной пользовательской истории
6. Разбиение пользовательских историй – метод гамбургера
⏯ Видео
1. Декомпозиция задач и аналитик — Михаил Максимов
2. Как мы разбирали слона. Целые, сломанные и лишние детали — доклад Алексея Козлова на конференции Analyst Days-7
3. User Story Splitting: как и зачем добавлять детали пользовательским историям — Юрий Куприянов
4. Использование Use case и User story для декомпозиции задач — Михаил Максимов
5. Плейлист про декомпозицию задач
#требования
Декомпозиция требований — разбиение хотелок бизнеса на более конкретные и понятные задачи, которые можно передавать в разработку. Декомпозиция позволяет лучше понимать дальнейшие шаги по реализации, правильно расставить приоритеты и точнее давать оценку по срокам вывода функционала. Когда функционал разбивается на части и реализуется последовательно, это позволяет быстрее получить обратную связь от заказчика и сохранить гибкость к изменениям, а также быстрее вывести рабочий функционал. В общем, понятнее, что разрабатывать и рисков меньше.
Горизонтальная и вертикальная декомпозиция
При горизонтальной декомпозиции задачи делятся по типам работ, по уровням или по компонентам. Например, одна задача идет в бэк, вторая во фронт, а третья приводит к изменениям в базе данных. Главный минус: готовый функционал можно получить только после выполнения всех задач.
Вертикальная декомпозиция означает, что результат каждой задачи должен быть логически завершенным и работающим функционалом, который можно показать заказчику.
Методы декомпозиции
1️⃣ Несколько потребностей: задача делится по союзам «и», «или». Например, «сделать заказ и оплатить картой или бонусами» разбивается на три подзадачи.
2️⃣ Сценарии использования: задача делится по основному и альтернативным путям. Например, «купить товар» разбивается на подзадачи «сравнить товары», «добавить в избранное», «узнать о наличии» и т.д.
3️⃣ Разбиение по позитивным и негативным сценариям: по ожидаемому и неожиданному поведению функционала. Например, «совершить покупку по карте» разбивается на подзадачи «совершить покупку без ошибок», «обработать ошибку при недостатке средств на карте», «обработать ошибку при блокировке учетной записи» и т.д.
4️⃣ Разбиение по этапам процесса: по последовательным шагам, которые составляют процесс. Например, «совершить покупку в интернет магазине» разбивается на подзадачи «войти в личный кабинет», «просмотреть товары в корзине», «сформировать счет на оплату» и т.д.
5️⃣ От простого к сложному: по уровню сложности функционала. Например, «сделать баннер» разбивается на подзадачи «показать одну картинку», «сделать сетку из картинок», «сделать карусель из картинок» и т.д.
6️⃣ Операции (CRUD): задача делится по операциям создания, чтения, обновления и удаления. Например, «оформить заказ» разбивается на подзадачи «создать заказ», «просмотреть заказ», «редактировать заказ» и «удалить заказ».
7️⃣ Варианты интерфейса: по поддержке разных языков, устройств, браузеров и т.д. Например, «сделать сайт мультиязычным» разбивается на подзадачи «сделать русскоязычную версию», «сделать англоязычную версию» и т.д.
8️⃣ Разбиение по типам платформы/ОС. Например, «оплатить покупку» разбивается на подзадачи «оплатить покупку на ПК», «оплатить покупку на планшете», «оплатить покупку на смартфоне» и т.д.
9️⃣ Разделение по ролям. Например, «сделать сайт» разбивается на подзадачи «сделать сайт для анонимных пользователей», «сделать сайт для авторизованных пользователей», «сделать бэкофис для пользователей колл-центра» и т.д.
🔟 Разбиение по типам данных и параметрам: по разным типам данных или параметрам, которые функционал должен обрабатывать. Например, «поиск товаров» разбивается на подзадачи «поиск по тексту», «поиск по коду», «поиск по регулярным выражениям» и т.д.
📄 Статьи
1. 8 методов декомпозиции задач
2. Паттерны декомпозиции User Story / задач (из России с VPN)
3. Как справиться с декомпозицией задач и не перестараться + видео
4. Story Mapping на примере пиццерии
5. SPIDR — пять простых техник для создания идеально разделенной пользовательской истории
6. Разбиение пользовательских историй – метод гамбургера
1. Декомпозиция задач и аналитик — Михаил Максимов
2. Как мы разбирали слона. Целые, сломанные и лишние детали — доклад Алексея Козлова на конференции Analyst Days-7
3. User Story Splitting: как и зачем добавлять детали пользовательским историям — Юрий Куприянов
4. Использование Use case и User story для декомпозиции задач — Михаил Максимов
5. Плейлист про декомпозицию задач
#требования