Декомпозировать что это значит

Значение слова «декомпозировать»

Декомпозировать что это значит. Смотреть фото Декомпозировать что это значит. Смотреть картинку Декомпозировать что это значит. Картинка про Декомпозировать что это значит. Фото Декомпозировать что это значит

декомпозировать

1. разделять, расчленять ◆ В «Приглашении на казнь» мы находим игру негативных зеркал. Они меняют, декомпозируют, строят реальные формы, но из бесформенности могут создать человеческое подобие. Шаховская, «Набоков», 1978 г.

Делаем Карту слов лучше вместе

Декомпозировать что это значит. Смотреть фото Декомпозировать что это значит. Смотреть картинку Декомпозировать что это значит. Картинка про Декомпозировать что это значит. Фото Декомпозировать что это значитПривет! Меня зовут Лампобот, я компьютерная программа, которая помогает делать Карту слов. Я отлично умею считать, но пока плохо понимаю, как устроен ваш мир. Помоги мне разобраться!

Спасибо! Я обязательно научусь отличать широко распространённые слова от узкоспециальных.

Насколько понятно значение слова розничный (прилагательное):

Синонимы к слову «декомпозировать&raquo

Предложения со словом «декомпозировать&raquo

Отправить комментарий

Предложения со словом «декомпозировать&raquo

Всё, что сложнее и больше, – это проекты, которые можно декомпозировать до задач.

Но декомпозировать вы будете при этом именно функции, и, разделяя одну функцию на несколько, вы не получите описание процесса.

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

Синонимы к слову «декомпозировать&raquo

Карта слов и выражений русского языка

Онлайн-тезаурус с возможностью поиска ассоциаций, синонимов, контекстных связей и примеров предложений к словам и выражениям русского языка.

Справочная информация по склонению имён существительных и прилагательных, спряжению глаголов, а также морфемному строению слов.

Сайт оснащён мощной системой поиска с поддержкой русской морфологии.

Источник

Декомпозиция задач: что это и зачем нужно

И как сделать так, чтобы всё шло по плану.

Приходит маркетолог интернет-магазина к разработчику с задачей:

Для маркетолога это одна строчка текста. Он думает, что такую простую задачку можно сделать за 15 минут. А разработчик пожимает плечами: «Подумаю, потом назову срок». Что за дичь? А вот так.

Прежде чем эту задачу делать, её было бы неплохо декомпозировать — то есть понять, из чего она состоит, на что влияет и в каком порядке её стоит делать. В случае со счётчиком покупок это получится такой набор подзадач:

В зависимости от архитектуры системы могут быть и другие действия. Поэтому назвать срок сразу разработчик не может: сначала надо понять, что вообще нужно делать и сколько времени займёт каждый пункт.

Чем крупнее задача, тем сложнее обойтись без декомпозиции. «Покрасить кнопку в красный» можно не раскладывать. А «Добавить новый раздел в админку» точно стоит сначала разобрать по частям: тут работа и для фронтенда, и для бэкенда. Декомпозиция нужна не всегда, но очень часто.

Декомпозировать что это значит. Смотреть фото Декомпозировать что это значит. Смотреть картинку Декомпозировать что это значит. Картинка про Декомпозировать что это значит. Фото Декомпозировать что это значитБыла одна большая задача, стало несколько маленьких.

Зачем декомпозировать

Понять, что и в каком порядке делать. «Добавить счётчик на страницу» кажется задачей для фронтенд-разработчика. Но на самом деле он сможет сделать свою часть, только когда будет готова база данных и АПИ — механизм, по которому эти данные подтягиваются на сайт.

Если фронтенд попробует сам предположить, как будет выглядеть запрос, то после интеграции могут всплыть непредвиденные баги: бэкенд мог реализовать АПИ не так, как думал фронтенд-разработчик. Декомпозиция поможет понять, с какой стороны подступиться и в какой последовательности двигаться.

Оценить сроки. Когда задача разложена на части, можно оценить по времени каждую и понять, сколько потребуется на всё вместе. Понятно, что не получится запустить счётчик за день, если только на базу данных и АПИ нужно два.

Упростить тестирование. Тестировать проще, когда понятно, что нужно проверить. В случае со счётчиком: базу данных, метод и вёрстку.

Расставить приоритеты. Декомпозиция может показать, что задача большая и требует времени. Например, если маркетолог хочет указать не только количество покупок, но и количество городов, в которые товар доставляли. Разработчик может показать, что делать всё вместе — две недели, но счётчик покупок можно выкатить быстрее. А маркетолог уже решит, как лучше поступить.

Как декомпозировать

Декомпозировать можно по-разному, это зависит от масштаба и сути задачи.

Например, запуск мобильного приложения можно декомпозировать сначала на уровне платформ: iOS и Android. Потом — на уровне пользовательских сценариев: регистрация, просмотр контента, покупка, переписка с контактами. Сценарии можно разложить на интерфейс и серверную часть. А их — на отдельные конкретные задачи.

Чаще всего задачи раскладывают вертикально и горизонтально. Вертикально — значит по типам работ. Горизонтально — значит вглубь одного типа работы. Вот как это работает со счётчиком покупок в интернет-магазине:

Вертикальная декомпозиция:

Бэкенд: считать количество покупок и отдавать данные на фронт.

Фронтенд: запрашивать данные при загрузке страницы и выводить.

Горизонтальная декомпозиция:

Кто должен декомпозировать

Декомпозировать задачу может сам разработчик, тимлид, менеджер проекта или другой компетентный сотрудник: универсальных правил здесь нет. Руководитель службы разработки Яндекс.Практикума Александр Трегер рассказывает, как это работает у них:

Когда появляется новая большая задача, один из опытных разработчиков берёт её на себя. С этого момента он за неё отвечает: собирает встречи, даёт заказчикам обратную связь, определяет, как решить задачу, декомпозирует её. Для разработчиков это возможность расширить свою зону ответственности, попробовать себя в роли архитектора и менеджера проекта.

Иногда нужно выделить время и разобраться в задаче, подумать про пограничные случаи, изучить технологию, придумать решение. Бывает, что на этом этапе задача может разделиться на несколько этапов: что делаем сейчас, а что потом. Так было, например, с проверкой домашних работ от студентов: сначала они приходили в виде архива на проверку, потом появился полноценный интерфейс для ревью кода. Система будет развиваться и дальше, но декомпозиция помогает понять, что и в какой последовательности можно сделать, чтобы быстрее получить результат.

👉 Почитайте полное интервью с Александром Трегером. Там больше подробностей о разработке Практикума.

Источник

Что такое декомпозиция целей и как она помогает достигать результатов

Декомпозировать что это значит. Смотреть фото Декомпозировать что это значит. Смотреть картинку Декомпозировать что это значит. Картинка про Декомпозировать что это значит. Фото Декомпозировать что это значит

Декомпозировать что это значит. Смотреть фото Декомпозировать что это значит. Смотреть картинку Декомпозировать что это значит. Картинка про Декомпозировать что это значит. Фото Декомпозировать что это значит

Что такое декомпозиция целей

Декомпозиция цели — это её детализация, наглядное разделение комплексной объемлющей цели на многоуровневую иерархию небольших взаимосвязанных задач.

Говоря простыми словами, любая цель подразделяется на несколько уровней задач, а те, в свою очередь, на элементарные действия.

Декомпозиция — это дедуктивный метод перехода от общего к частному. От сложного к простому. Это научная методика, эффективность которой подтверждена высокой результативностью применения в самых разных сферах — от личных спортивных достижений до масштабных индустриальных проектов.

В терминологии тайм-менеджмента принято называть «слонами» крупные цели и задачи. Как проще всего «съесть слона» — достичь большой цели, решить крупную задачу? Нужно «нарезать слона на куски» — произвести декомпозицию целей — и постепенно «съесть небольшими бифштексами», выполняя простые понятные задачи. В идеальном случае «бифштекс» должен быть «съеден» за один присест от 15 минут до 2 часов.

Декомпозировать что это значит. Смотреть фото Декомпозировать что это значит. Смотреть картинку Декомпозировать что это значит. Картинка про Декомпозировать что это значит. Фото Декомпозировать что это значит

Визуализация декомпозиции

Для визуализации декомпозиции целей используются различные подходы — от структурированного списка в рукописном или электронном виде до сложных таблиц.

Декомпозировать что это значит. Смотреть фото Декомпозировать что это значит. Смотреть картинку Декомпозировать что это значит. Картинка про Декомпозировать что это значит. Фото Декомпозировать что это значит

Одним из самых удобных методов для наглядной декомпозиции целей являются древовидные интеллект-карты, ментальные карты, Mind Maps. Их можно рисовать на бумаге, либо составлять в специальных редакторах:

Среди них есть простые и сложные, платные и бесплатные, для индивидуальной работы и коллективной.

Хостинг провайдер для бизнеса

30 дней бесплатного тестового периода виртуального хостинга

Инструмент автоматизации контекстной рекламы

Скидка 25% на 3 месяца тарифа «Старт» + индивидуальный практикум по работе с инструментом

Декомпозировать что это значит. Смотреть фото Декомпозировать что это значит. Смотреть картинку Декомпозировать что это значит. Картинка про Декомпозировать что это значит. Фото Декомпозировать что это значит

Пакет услуг «Быстрый старт email-рассылок» со скидкой 20%

Конструктор для создания чат-ботов, рассылок и автоворонок

Удвой продажи с помощью чат-ботов в мессенджерах. Бесплатно на 21 день.

Декомпозировать что это значит. Смотреть фото Декомпозировать что это значит. Смотреть картинку Декомпозировать что это значит. Картинка про Декомпозировать что это значит. Фото Декомпозировать что это значит

Скидка 25% на первый месяц работ по SEO + аудит в подарок

Декомпозировать что это значит. Смотреть фото Декомпозировать что это значит. Смотреть картинку Декомпозировать что это значит. Картинка про Декомпозировать что это значит. Фото Декомпозировать что это значит

Логистический партнер для бизнеса и частных лиц

Скидка 25% на перевозку и доставку от адреса

Характеристики

Допускается несколько уровней вложенности в подобных структурах. В большинстве случаев оптимальной является декомпозиция до третьего уровня, на котором становится понятно, что конкретно делать.

При планировании в крупных компаниях, холдингах, государственных структурах и международных проектах может применяться декомпозиция вплоть до шестого уровня. Причём начинать следует с видения, миссии и ценностей организации. Из них формулируются стратегические цели, которые далее разделяются на тактические, а уже те, в свою очередь, на функциональные задачи.

Одна из основных задач декомпозиции — получение информации о необходимых ресурсах и требуемом объёме действий для достижения цели. Полезно чётко осознавать какие навыки, компетенции, люди и прочие ресурсы нужны для реализации каждого этапа достижения цели.

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

Основные методы декомпозиции целей

Прежде всего, важно сформулировать ключевую идею цели.

Пожалуй, самая эффективная декомпозиция цели достигается при применении методики SMART.

Как известно, по данной технологии цель должна быть:

Когда произведена декомпозиция цели, то алгоритм дальнейших действий становится предельно простым и понятным.

Определяются сроки выполнения каждого из этапов и назначаются ответственные исполнители, обладающие необходимыми знаниями, навыками, компетенциями, полномочиями и прочими ресурсами.

Затем все данные вносятся в систему управления проектами, CRM, таск-трекер или же формируется диаграмма Гантта. Команда приступает к реализации плана для достижения поставленной цели.

Может показаться парадоксальным, но совмещение методики декомпозиции с технологией целеполагания SMART, помогает планировать и в условиях неопределённости. Когда вместо чёткой цели сформулировано только намерение.

При дроблении задач стоит анализировать, возможно ли выполнить каждую из крайних подзадач ветки за короткий период времени — до 2 часов. При обнаружении задач, которые не выполняются за такой промежуток времени, рекомендуется делить их на более мелкие до тех пор, пока все конечные задачи не будут соответствовать данному условию.

Декомпозировать что это значит. Смотреть фото Декомпозировать что это значит. Смотреть картинку Декомпозировать что это значит. Картинка про Декомпозировать что это значит. Фото Декомпозировать что это значит

Отдельного рассмотрения заслуживает использование методики декомпозиции целей для бизнеса в маркетинге и аналитике. Проще говоря, применительно к воронке продаж. Потому что зная ключевые показатели, такие как средний чек, маржинальность и конверсию каждого этапа, можно производить расчёты, исходя из целей.

Выгоды от использования декомпозиции целей в бизнесе и маркетинге очевидны. Цифр и показателей так много, что в этом легко запутаться: часто возникает хаос в постановке целей. С помощью метода декомпозиции целей легко понять, на какие метрики и характеристики обратить внимание. Например, у руководства появилась задача — увеличить продажи. И тут мы снова возвращаемся к воронке продаж.

Итак, есть конкретная цель — увеличить чистую прибыль, к примеру, на 10%. Чтобы добиться таких результатов, нужно разделить эту амбициозную задачу на подзадачи, а именно разложить на этапы воронки продаж. Как известно, воронка продаж состоит из нескольких стадий.

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

Декомпозировать что это значит. Смотреть фото Декомпозировать что это значит. Смотреть картинку Декомпозировать что это значит. Картинка про Декомпозировать что это значит. Фото Декомпозировать что это значит

К примеру, если увеличить расходы на рекламу в несколько раз, то вырастет и чистая прибыль согласно прогнозам. Однако стоит понимать, что одна и та же рекламная кампания способна выдавать разные результаты: в каком-то случае CTR может быть выше, а где-то ниже. А это, в свою очередь, влияет на количество лидов и завершенных сделок. Тем не менее, это не меняет сути декомпозиции в бизнесе и маркетинге — выяснить ключевые показатели, и на основе этих показателей выстроить эффективную маркетинговую стратегию.

Метод декомпозиции целей можно применить иначе. Предположим, в небольшом городе работает магазин бытовой техники. Его владелец решил, что в новом месяце надо увеличить средний чек : от 5 000 до 7 000 рублей, чтобы увеличить оборот. В таком случае визуализация декомпозиции цели выглядит примерно так.

Декомпозировать что это значит. Смотреть фото Декомпозировать что это значит. Смотреть картинку Декомпозировать что это значит. Картинка про Декомпозировать что это значит. Фото Декомпозировать что это значит

Есть глобальная задача — увеличить средний чек. Чтобы в клиент покупал больше, есть смысл предложить бесплатную доставку, анонсировать акцию или внедрить гибкую скидочную систему. Таким образом, задача «дробится» на более мелкие задачи, решение которых занимает не так много времени. Так, если владелец магазина планирует бесплатную доставку, то ему следует подумать — за какую сумму чека покупатель получит право доставки до дома.

Поэтому владелец тратит время на поиски баланса: фиксированная сумма должна быть и выгодной для магазина, и привлекательной для покупателя. К этому добавляется еще одна подзадача — договориться с курьерской службой, продумать логистику и далее по списку. То же самое относится и к другим мерам. При этом целостность глобальной задачи не нарушается: она выполняется по ходу движения снизу вверх.

Источник

Как справиться с декомпозицией задач и не перестараться

Меня зовут Виктор, я системный аналитик в компании «Спортмастер». И сегодня я хотел бы поговорить о декомпозиции задач и передачи их в разработку. Любой объект состоит из частей, будь это автомобиль или программный продукт. И чтобы собрать любой из этих объектов в единое целое из составных частей, потребуется время. Иногда — даже очень много времени. Особенно, если перед этим вы не просто разобрали основную часть, а решили докопаться до сути на атомарном уровне.

Декомпозировать что это значит. Смотреть фото Декомпозировать что это значит. Смотреть картинку Декомпозировать что это значит. Картинка про Декомпозировать что это значит. Фото Декомпозировать что это значит

Декомпозировать что это значит. Смотреть фото Декомпозировать что это значит. Смотреть картинку Декомпозировать что это значит. Картинка про Декомпозировать что это значит. Фото Декомпозировать что это значит

Декомпозировать что это значит. Смотреть фото Декомпозировать что это значит. Смотреть картинку Декомпозировать что это значит. Картинка про Декомпозировать что это значит. Фото Декомпозировать что это значит

Декомпозировать что это значит. Смотреть фото Декомпозировать что это значит. Смотреть картинку Декомпозировать что это значит. Картинка про Декомпозировать что это значит. Фото Декомпозировать что это значит

Как видно из приведенных примеров, описание каждой задачи зависит по большей части от фантазии и здравого смысла заказчика. Где-то оно больше, где-то оно меньше, но аналитикам надо как-то с этим работать. Иногда указывают еще и границы функционала, а иногда присылают просто тему. Если передать такую задачу сразу в разработку, на выходе получим что-то непонятное. Что приходится делать?

Идти к заказчику ногами и выспрашивать все требования, уточнять, что именно должно быть на выходе. Правда, бывают еще золотые заказчики, которых, на самом деле, большинство — они пишут все требования у себя в Confluence, поэтому можно в любой момент пойти и спокойно почитать, задать вопросы. И когда уже все понятно с рамками фичи, можно приступать к нарезке задачи.

Зачем нужна декомпозиция

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

Помимо достижения глобальной цели удовлетворения потребностей пользователя и бизнеса, декомпозиция задач позволяет получать более быстрый фидбэк от заказчика, в правильном ли направлении копает разработка, или же получилось совсем не то, что заказчик себе представлял.

Если задача изначально большая и мы взялись за нее сразу целиком, то мы потратим на нее очень много времени и после комментариев заказчика нам придется все выбросить. Ну а если задача маленькая, день-два работы от силы, — ничего страшного. Переделка займет еще примерно столько же. Второй подход, к тому же, обойдется еще и дешевле. Не говоря уже о сэкономленных нервах с обеих сторон.

Если один функционал разбить на несколько кусочков, разработчики могут работать над ними параллельно. Таким образом мы распараллелим поток и ускорим вывод функционала в прод. Важная штука — при этом задачи должны как можно меньше зависеть друг от друга.

Плюс быстрое тестирование и исправление багов. Опять же, мелкий функционал гораздо проще и быстрее тестировать, чем монструозную махину. И если что-то пойдет не так, на «пофиксить» разработчик потратит совсем немного, и все быстрее заработает.

На этапе разбивки задач вместе с заказчиком можно сразу понять, какой функционал важен прямо здесь и сейчас, чтобы уже начать получать прибыль, что можно оставить на потом, а что, возможно, само отвалится за ненадобностью.

Бизнесу же важно знать, как быстро появится рабочий функционал. И при разбивке на задачи мы можем спрогнозировать и более точно оценить время, которое потребуется на их реализацию, чем когда у тебя один большой фронт работ. Но помимо того, что мелкие задачи легче оценить в плане времени на их проработку, разработчику также проще оценить риски, которые могут возникнуть в процессе работы.

Например, обновились фреймворки, какие-то методы вывели из эксплуатации, проблемы с кодом и прочее. Беря в работу небольшие задачи, мы минимизируем все эти риски, и даже если такая задача что-то заблокирует в потоке, это будет не так критично, как если бы это был здоровенный кусок (который бы заблокировал вообще всё). В случае необходимости можно будет сделать рабочее решение и в бэклог положить техдолг, с которым можно будет разобраться чуть позже, когда проблемы будут решены.

Основные подходы и правила декомпозиции

Существуют два основных подхода к декомпозиции задач — горизонтальный и вертикальный. При горизонтальном задачи делятся по типам работ, по уровням или по компонентам. Например, у нас каждая задача проходит через несколько стадий: фронтенд, бэкенд, базы данных. И при горизонтальном подходе одна задача идет в бэк, вторая во фронт, а третья приводит к изменениям в базе данных.

Чем плох данный подход? Мы не получаем рабочий функционал после выполнения каждой отдельной задачи. Только собрав результаты из трех источников, мы можем получить какой-то результат и фидбэк на него. По этой причине горизонтальную декомпозицию чаще всего не используют.

Декомпозировать что это значит. Смотреть фото Декомпозировать что это значит. Смотреть картинку Декомпозировать что это значит. Картинка про Декомпозировать что это значит. Фото Декомпозировать что это значит

Гораздо удобнее вертикальный подход, при котором в каждой задаче можно сделать наглядный функционал — задача проходит по всем стадиям и на выходе есть результат, который можно проанализировать, протестировать, показать заказчику и поправить, если надо. И быстренько запустить в работу и использовать.

Если говорить про правила, здесь я выделил всего три. Во-первых, задача должна быть логически завершенной, то есть независимой сама по себе. Она не должна ломать логику вокруг себя и обязательно должна нести в себе хоть какой-нибудь бизнес-смысл, который в результате получит пользователь. При этом не стоит разбивать на части те задачи, которые не несут бизнес-смысла (в идеале их вообще не должно быть).

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

В-третьих, не стоит разбивать задачу на совсем уж микроскопические части. Если разбить слишком мелко, очень много времени уйдет на управление этими задачами. На каждом этапе их, возможно, придется переприоритезировать, заново проставлять связи зависимости и вот это всё. Таким образом, скорость разработки не увеличится, а наоборот, резко упадет. Поэтому нужно искать золотую середину.

Способы декомпозиции

В зависимости от источника, количество способов декомпозиции очень сильно варьируется: где-то их указывают всего восемь, где-то десять, где-то двадцать. Я бы хотел остановиться на тех способах, которыми мне приходится пользоваться каждый день на работе.

Несколько потребностей

Этот способ удобнее всего использовать, когда в истории присутствуют союзы «и», «или». Например, потребитель хочет сделать заказ и оплатить его картой или бонусами. Эту задачу можно разделить на три: первая, в которой пользователь делает заказ, вторая, где он оплачивает его картой, и третья, где в ход идут бонусы.

Сценарии использования

Еще один часто встречающийся способ — делить задачи в зависимости от сценария использования. В этом случае одна история представляет из себя один основной путь и несколько альтернативных. Допустим, пользователь хочет купить товар, и это будет основной сценарий. Но есть еще альтернативные пути — он может сразу положить товар в корзину и оплатить, а может захотеть перед покупкой сравнить этот товар с другими. И тогда отдельной задачей мы делаем сравнение товаров.

Возможно, он не хочет покупать прямо сейчас, а отложить куда-нибудь, добавить в избранное, чтобы позже к нему вернуться. Или пользователю понравился товар и уже готов его купить, но его нет в наличии. Значит, надо дать ему знать о том, когда товар появится. И вот таким образом получается четыре сценария.

От простого к сложному

Главная страница сайта «Спортмастер» состоит из баннеров. И самое простое, что мы можем сделать — взять одну картинку и показать ее пользователю. Это самый простой и быстрый способ донести нужную информацию. Дальше мы можем наращивать функционал и добавлять не одну картинку, а три-четыре, которые объединяются в сетку. Это уже отдельная задача.

Декомпозировать что это значит. Смотреть фото Декомпозировать что это значит. Смотреть картинку Декомпозировать что это значит. Картинка про Декомпозировать что это значит. Фото Декомпозировать что это значит

При таком подходе с каждой последующей задачей функционал должен расти. Мы можем, например, сделать из сетки карусель, а потом добавить какие-нибудь ссылки, тексты, кнопки и остальное. В общем, сначала реализуем самый простой и быстрый в исполнении вариант, а затем движемся к более сложному.

Как раз недавно я занимался похожей задачей по реализации баннера. Баннер должен был висеть на главной управляться из CMS. Если спросить у заказчика, а чем бы именно он хотел управлять, он, не моргнув, радостно ответит — всем. Поэтому здесь было важно немного погрузиться в тему и выделить то, чем нужно управлять прямо сейчас, чем просто часто, а чем почти совсем не пользуются. И таким образом расставить приоритеты по реализации и поделить на задачи.

Операции (CRUD)

Это, наверное, самый распространенный способ декомпозиции. Здесь задачи деляться по операциям Create, Read, Update и Delete. Он подходит для задач, где нужно чем-то управлять или что-то конфигурировать. Например, задача по оформлению заказа делится на четыре более мелкие: создание заказа, его просмотр, редактирование и удаление.

Варианты интерфейса

Используется, когда надо поддержать несколько вариантов интерфейса. Например, сайт должен поддерживать несколько языков. Сначала мы делаем русскоязычную версию. Затем, при запусках в других странах, добавляем английский. Если же в стране используется язык, отличный от английского, то можем добавить и его. В этом случае проще все сделать сначала на одном языке, а потом постепенно добавлять переводы.

Декомпозировать что это значит. Смотреть фото Декомпозировать что это значит. Смотреть картинку Декомпозировать что это значит. Картинка про Декомпозировать что это значит. Фото Декомпозировать что это значит

Совсем недавно мы завершили проект личного кабинета для юридических лиц, в котором нужна была поддержка мультиязычности. Сроки были сжатые, поэтому изначально сделали все на одном языке, но заложили основу для дальнейшего перевода. Теперь, чтобы добавить поддержку нового языка, нужна всего лишь одна небольшая задача. Если нужно добавить сразу несколько языков, на каждый из них заводится отдельная задача.

Разделение по ролям

Подходит для ситуаций, в которых функциональность подразумевает работу нескольких ролей и групп пользователей. На сайте «Спортмастера» у пользователя могут быть разные роли. Например, пользователи делятся по ролям на авторизованного пользователя, анонимного пользователя, и, допустим, пользователь колл-центра. Последняя роль также может делиться на две — это может быть как рядовой пользователь, так и администратор.

Для каждой роли мы можем сделать отдельную задачу. Начать с отображения для анонимного пользователя, а затем добавить какой-нибудь расширенный функционал в рамках задачи для авторизованного. И не забыть про технические роли операторов колл-центра и функционал для них.

Обработка ошибок

Если сроки сжатые, а минимальный функционал нужен как можно быстрее, можно вынести обработку ошибок в отдельную задачу. Здесь речь идет не о написании тестов, а об обработке ошибок пользователей и систем, с которыми интегрирован сайт. Представим, что мы обрабатываем страницу с каталогом, которая содержит плитку с товарами. В каждой карточке есть описание, фото и дополнительная информация.

Случилось так, что какая-то часть информации не приходит из баз данных.
Возможно, если речь идёт о бренде или материале, то этим можно пренебречь и просто не показать информацию. Но если не дойдет цена или название, стоит ли показывать эту карточку?

Что в такой ситуации делать? Этот вопрос можно вынести в отдельную задачку и затем обрабатывать каждое отдельное поле. То есть, если не пришла цена, то выполняем одно действие, потерялось описание товара — другое. То же самое с ошибками пользователя. Если он ввел что-то некорректно и отобразилась ошибка, например, «Страница не найдена» или ошибка 500, мы должны показать ему конкретную информацию о том, что случилось, и предложить ему сценарий, что он может сделать дальше.

Этот способ также подходит для ситуаций, когда нужно быстро получить обратную связь на функциональность, чтобы решить, оставлять ее или нет.

Статические, затем динамические

Это один из моих любимых способов. Подходит в ситуациях, когда можно реализовать функционал «на заглушках», то есть внешние системы не готовы поддержать функционал. Например, какие-то блоки на главной странице не могут управляться из CMS. Или меню, когда мы делаем его у себя в коде и отображаем пользователю, но при этом им не может управлять бизнес. И чтобы внести изменения, бизнесу надо постоянно ходить в разработку и просить это сделать.

Здесь мы выносим потребности пользователя и получение прибыли в приоритет. Пользователь получает готовый функционал сразу, пусть мы внутри можем испытывать некоторые неудобства. Поэтому мы делим задачу на несколько и сначала делаем новый блок доступным для пользователя, но бизнес им пока напрямую управлять не может. Но затем мы можем интегрироваться с какой-то системой или базой данных, где бизнес сам сможет менять пункты местами и добавлять новые самостоятельно, а мы их будем отрисовывать без участия разработки.

Мы часто используем этот способ: сначала делаем функционал на своих данных, которыми нельзя управлять со стороны, а потом уже добавляем динамику и начинаем получать данные из сторонних систем.

Производительность

Если задача в целом сложная и объемная, непонятно, с какого конца за нее взяться, то производительностью можно пренебречь. В первую задачу вынести готовый функционал, который хоть как-то, пусть медленно, но работал. А следующей задачей сделать ускорение работы. Например, это может быть медленная работа поиска товаров, применение фильтров, получение какой-либо информации

Иногда большая часть усилий вкладывается в быстрое создание функции — первоначальная реализация не так уж сложна. Но можно многому научиться из медленной реализации, плюс это имеет определенную ценность для пользователя, который иначе не смог бы выполнить какое-нибудь важное действие. Во всех этих случаях задачи разбиваются на «заставьте это работать» и «сделайте это быстрым».

Возможные трудности

Если вы решите использовать декомпозицию задач в своих проектах, то скорее всего первой сложностью, с которой вы столкнетесь, будет зависимость задач друг от друга. По моему опыту, именно эта проблема приводит к блокированию всего потока и встречается наиболее часто. Чтобы этого избежать, к декомпозиции стоит подходить ответственно и уделять ей достаточное количество времени.

Декомпозировать что это значит. Смотреть фото Декомпозировать что это значит. Смотреть картинку Декомпозировать что это значит. Картинка про Декомпозировать что это значит. Фото Декомпозировать что это значит

Еще одна трудность — определить, насколько мелко надо декомпозировать задачу. И здесь границами выступает только здравый смысл. Например, мы берем компонент выбора города. В нем есть кнопки, какой-нибудь текст, поле ввода. Насколько мелко нужно бить эту задачу?

Мы для себя вывели правило, что задача должна проходить по всему потоку не больше, чем за одну неделю (около 40 часов). Речь идет про все стадии: стадию аналитики, разработки, тестирования. Плюс учитываются две стадии разработки бэкенда и фронтенда, включая ревью и тестирование на каждой.

Еще у нас была проблема с тем, что не всегда понятны границы эпика. Недавно нам поставили задачу с оформлением заказа. Где у нее границы? Что должно получиться на выходе? Нам было непонятно, нужно ли нам делать весь функционал до самого конца, или выбрать какую-то часть. Входит ли в этот эпик оплата, или это уже отдельный эпик.

Бывают задачи, с которыми сложно понять, как их декомпозировать и когда. Большую часть задач мы декомпозируем на стадии приема эпика, но бывают ситуации, когда это нужно сделать, например, на этапе аналитики. Мы берем задачу в работу и считаем, что все нужные данные в наших интеграционных системах уже есть, но в процессе анализа выясняется, что либо нас не устраивает формат данных, либо проблема в качестве самих данных, либо требуется доработка со стороны других систем, с которыми мы связаны. Тогда нам приходится делать задачу «на заглушках» и заводить еще один пункт в бэклог, к которому мы приступим уже после того, как решим основные проблемы.

Вот, вроде бы, и всё. Будет здорово, если поделитесь в комментариях историями о том, какой подход к декомпозиции задач используете вы и почему.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *