<?xml version="1.0" encoding="utf-8" ?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:tt="http://teletype.in/" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/"><title>Imagine_ksu</title><author><name>Imagine_ksu</name></author><id>https://teletype.in/atom/imagine_ksu</id><link rel="self" type="application/atom+xml" href="https://teletype.in/atom/imagine_ksu?offset=0"></link><link rel="alternate" type="text/html" href="https://teletype.in/@imagine_ksu?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=imagine_ksu"></link><link rel="next" type="application/rss+xml" href="https://teletype.in/atom/imagine_ksu?offset=10"></link><link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></link><updated>2026-05-01T16:41:23.370Z</updated><entry><id>imagine_ksu:67tCT__vQU-</id><link rel="alternate" type="text/html" href="https://teletype.in/@imagine_ksu/67tCT__vQU-?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=imagine_ksu"></link><title>8 методов декомпозиции в  Agile</title><published>2024-04-07T17:54:07.397Z</published><updated>2024-04-07T17:54:07.397Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img4.teletype.in/files/7f/6f/7f6f8a35-a139-4f4e-a9f2-d7a4b1484b97.png"></media:thumbnail><category term="pm" label="PM"></category><summary type="html">&lt;img src=&quot;https://img3.teletype.in/files/a8/09/a8099a55-c5bc-4d6e-8a71-8cbd44fb4a72.png&quot;&gt;Существует две концепции, два базовых подхода к декомпозиции крупных задач на пользовательские истории – «горизонтальное» и «вертикальное» разбиение:</summary><content type="html">
  &lt;figure id=&quot;ztBk&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/a8/09/a8099a55-c5bc-4d6e-8a71-8cbd44fb4a72.png&quot; width=&quot;900&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;09ti&quot;&gt;Существует две концепции, два базовых подхода к декомпозиции крупных задач на пользовательские истории – «горизонтальное» и «вертикальное» разбиение:&lt;/p&gt;
  &lt;ul id=&quot;aY14&quot;&gt;
    &lt;li id=&quot;hdwK&quot;&gt;В случае «горизонтальной» декомпозиции, задачи разбиваются по типу работы (функции), которую необходимо выполнить, по компонентам, которые задействованы в работе. В этом случае при разбиении общей большой задачи разработчику будет выделена одна часть, тестировщику другая, техническому писателю третья и так далее. Фактически каждая из частей не приводит к конечному результату сама по себе, чтобы выпустить готовый функционал, необходима реализация всей совокупности связанных задач всеми участниками процесса.&lt;/li&gt;
    &lt;li id=&quot;GoBO&quot;&gt;«Вертикальный» метод декомпозиции напротив предполагает выделение более мелких задач, фич, функций таким, образом, что каждая такая пользовательская история может быть реализована и выпущена отдельно от остальных задач. При этом в разработку могут быть вовлечены различные роли, могут быть задействованы несколько модулей и систем.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;zfKo&quot;&gt;Разбиение задач с использованием «вертикального» метода больше соответствует Agile принципам и его применение гораздо более эффективным, основные причины в следующем:&lt;/p&gt;
  &lt;ul id=&quot;kZRZ&quot;&gt;
    &lt;li id=&quot;LijU&quot;&gt;При «вертикальном» разбиении каждая задача может быть реализована, протестирована и продемонстрирована заказчику\пользователям, являясь для них понятной и измеримой в отличие от «технических» задач при «горизонтальной» декомпозиции.&lt;/li&gt;
    &lt;li id=&quot;Blja&quot;&gt;При «вертикальной» декомпозиции каждая конечная пользовательская история несет в себе ценность для бизнеса, а значит такие задачи проще сравнивать и приоритезировать.&lt;/li&gt;
    &lt;li id=&quot;4Y6a&quot;&gt;Поскольку в реализации задач, которые разбиты по «вертикальному» принципу участвуют специалисты различных ролей, то им проще выявить возможные сложности, зависимости и риски, которые могут возникнуть в процессе работы.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;Lqgq&quot;&gt;Теперь, когда с необходимостью и принципами декомпозиции все ясно, рассмотрим различные методы разбиения больших задач бэклога на атомарные пользовательские истории. Во всех этих вариантах и техниках применяется принцип «вертикальный» декомпозиции.&lt;/p&gt;
  &lt;h1 id=&quot;siV1&quot;&gt;Техники декомпозиции требований в Agile&lt;/h1&gt;
  &lt;h2 id=&quot;wpYl&quot;&gt;Метод 1: Разбиение по этапам\фазам бизнес процесса.&lt;/h2&gt;
  &lt;p id=&quot;0Mvl&quot;&gt;Используя этот метод можно попробовать разбить большую задачу, описывающую некий бизнес процесс на составные части и этапы. Для этого в данном процессе необходимо выделить последовательную цепочку шагов , которые могут быть реализованы и выполнены независимо друг от друга. В качестве пояснения этого метода декомпозиции можно привести следующий пример:&lt;/p&gt;
  &lt;ul id=&quot;usCf&quot;&gt;
    &lt;li id=&quot;fAdX&quot;&gt;В бэклоге у нас есть большое требование - реализовать для клиента функцию покупки в интернет магазине.&lt;/li&gt;
    &lt;li id=&quot;mufC&quot;&gt;В рамках процесса покупки можно выделить, например, следующие этапы:&lt;/li&gt;
    &lt;ul id=&quot;GI47&quot;&gt;
      &lt;li id=&quot;9yAP&quot;&gt;вход в личный кабинет&lt;/li&gt;
      &lt;li id=&quot;VCII&quot;&gt;просмотр товаров в «корзине»&lt;/li&gt;
      &lt;li id=&quot;6Weq&quot;&gt;формирование счета на оплату&lt;/li&gt;
      &lt;li id=&quot;0s07&quot;&gt;отправка счета по почте&lt;/li&gt;
      &lt;li id=&quot;S6ue&quot;&gt;выполнение оплаты различными способами: банковский перевод, карта и т.п., подтверждение оплаты.&lt;/li&gt;
    &lt;/ul&gt;
    &lt;li id=&quot;vJYF&quot;&gt;Каждый такой этап можно выделить и описать в виде отдельной пользовательской истории.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;018h&quot;&gt;В результате мы разбиваем большой бизнес процесс на составляющие его этапы. Какие-то этапы при этом могут быть критичными и обязательными, а какие-то опциональными. Такая декомпозиция дает возможность:&lt;/p&gt;
  &lt;ul id=&quot;A02A&quot;&gt;
    &lt;li id=&quot;ZUCH&quot;&gt;Во-первых, определить различные приоритеты для каждой истории и сосредоточиться в первую очередь на самых важных для бизнеса этапах.&lt;/li&gt;
    &lt;li id=&quot;EXWz&quot;&gt;Во-вторых, при таком разбиении лучше понятен сам процесс, его шаги и составные части, возможные зависимости меду этапами.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;h2 id=&quot;Zine&quot;&gt;Метод 2: Разбиение по позитивным и негативным сценариям.&lt;/h2&gt;
  &lt;p id=&quot;JSto&quot;&gt;Фактически каждая функциональность имеет правильный\прямой сценарий использования, который приводит к ожидаемому\позитивному результату. Однако, когда пользователь работает с тем или иным функционалом могут произойти отклонения от правильного процесса: переданы не те данные, выполнены не все обязательные условия, нет необходимых прав доступа и т.п. Такие отклонения от прямого сценария работы приведут к негативным результатам (действие не выполнится, функция отработает некорректно и т.п.).&lt;/p&gt;
  &lt;p id=&quot;hpjG&quot;&gt;Соответственно мы можем выполнить декомпозицию на ожидаемый сценарий использования функционала и на неправильные, но возможные и вероятные сценарии работы. Для каждого сценария важно выделить отдельные пользовательские истории:&lt;/p&gt;
  &lt;ul id=&quot;gGI5&quot;&gt;
    &lt;li id=&quot;QiFx&quot;&gt;Для позитивного – реализация правильной работы функционала.&lt;/li&gt;
    &lt;li id=&quot;s1tc&quot;&gt;Для негативных – реализовать правильную отработку той или иной возможной ошибки, разработать альтернативный сценарий.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;kRnb&quot;&gt;В качестве примера декомпозиции требований на позитивные\негативные сценарии снова рассмотрим функцию покупки в интернет магазине:&lt;/p&gt;
  &lt;ul id=&quot;rEQO&quot;&gt;
    &lt;li id=&quot;ncnI&quot;&gt;Позитивный сценарий: пользователь заходит в свою учетную запись на сайте и совершает покупку оплачивая ее по карте. Или в формате пользовательской истории: «как клиент я могу войти в свою учетную запись, чтобы совершить покупку по карте».&lt;/li&gt;
    &lt;li id=&quot;O2YK&quot;&gt;Негативный сценарий 1: клиент пробует совершить покупку без авторизации.&lt;/li&gt;
    &lt;li id=&quot;vLdq&quot;&gt;Негативный сценарий 2: пользователь пробует совершить покупку, но у него на счету не хватает средств и оплата не проходит.&lt;/li&gt;
    &lt;li id=&quot;iEWG&quot;&gt;Негативный сценарий n: клиент пробует совершить покупку, но его учетная запись заблокируется из-за неправильного ввода пароля.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;GDzE&quot;&gt;Подобный тип декомпозиции позволяет выделить, проанализировать и запланировать отработку различных исключений и неверных сценариев использования ПО, которые в любом случае будут возникать.&lt;/p&gt;
  &lt;h2 id=&quot;hkew&quot;&gt;Метод 3: Разбиение по правилам\условиям бизнес процесса.&lt;/h2&gt;
  &lt;p id=&quot;GgjC&quot;&gt;В отличие от предыдущего метода в данном случае мы разбиваем процесс не на этапы а на логические ветки, возможные варианты отработки функционала. Фактически мы определяем набор сценариев, по которым может выполняться процесс при выполнении тех или иных правил\условий.&lt;/p&gt;
  &lt;ul id=&quot;UiO2&quot;&gt;
    &lt;li id=&quot;F2lu&quot;&gt;В качестве иллюстрации данного метода декомпозиции возьмем тот же пример: необходимо реализовать для клиента функцию покупки в интернет магазине.&lt;/li&gt;
    &lt;li id=&quot;oSAQ&quot;&gt;В данном случае мы можем выделить, например, следующий набор правил для совершения покупки:&lt;/li&gt;
    &lt;ul id=&quot;tszy&quot;&gt;
      &lt;li id=&quot;B0BS&quot;&gt;Определена минимальная сумма, если сумма покупки меньше, то клиенту показывается соответствующая подсказка.&lt;/li&gt;
      &lt;li id=&quot;4SZG&quot;&gt;Если сумма покупки превышает определенное значение, то клиенту предлагаются дополнительные варианты оплаты.&lt;/li&gt;
      &lt;li id=&quot;Z97Q&quot;&gt;Если выставленный счет не оплачен в течение 2 дней, то заказ автоматически отменяется.&lt;/li&gt;
    &lt;/ul&gt;
    &lt;li id=&quot;qY8C&quot;&gt;Реализацию каждого такого условия, можно вынести в отдельную задачу&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;LmOj&quot;&gt;Данный метод разбиения требований позволяет:&lt;/p&gt;
  &lt;ul id=&quot;XZqs&quot;&gt;
    &lt;li id=&quot;CJpQ&quot;&gt;Выявить и вынести в отдельную пользовательскую историю различные правила и ограничения, которые могут встречаться в рамках процесса\функционала. Так меньше риск забыть или пропустить какие-то важные условия.&lt;/li&gt;
    &lt;li id=&quot;3yo9&quot;&gt;Как правило реализация в бизнес процессе тех или иных условий будет иметь разный приоритет: что-то требуется реализовать в первой версии продукта, а без чего-то определенное время можно обойтись. Декомпозиция единого процесса по условиям\правилам позволит построить очередность реализации отдельных пользовательских историй.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;h2 id=&quot;UE9K&quot;&gt;Метод 4: Разбиение по видам операций.&lt;/h2&gt;
  &lt;p id=&quot;Jvqv&quot;&gt;Существует ряд относительно стандартных операций, которые часто встречаются в различных функциях. Эти операции можно отнести к разряду набора действий «по умолчанию»: создать, читать, обновить или удалить. Сокращенно метод называется CRUD – от слов Create, Read, Update, Delete. Операции CRUD очень распространены в случаях, когда функциональность включает управление объектами, такими как продукты, заказы, пользователи, файлы и т.д.&lt;/p&gt;
  &lt;p id=&quot;PKAJ&quot;&gt;На примере все того же интернет магазина можно сделать такую декомпозицию функциональности по работе с карточкой продукта:&lt;/p&gt;
  &lt;ul id=&quot;MMQ5&quot;&gt;
    &lt;li id=&quot;MpM6&quot;&gt;&lt;strong&gt;C&lt;/strong&gt;reate - создание нового продукта в интернет магазине&lt;/li&gt;
    &lt;li id=&quot;7EeL&quot;&gt;&lt;strong&gt;R&lt;/strong&gt;ead - просмотр описания продукта&lt;/li&gt;
    &lt;li id=&quot;EFPp&quot;&gt;&lt;strong&gt;U&lt;/strong&gt;pdate - редактирование\обновление описания продукта&lt;/li&gt;
    &lt;li id=&quot;sXDn&quot;&gt;&lt;strong&gt;D&lt;/strong&gt;elete - удаление продукта из магазина&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;QXfy&quot;&gt;Декомпозируя функциональность таким образом достаточно легко ответить на следующие вопросы:&lt;/p&gt;
  &lt;ul id=&quot;YTEn&quot;&gt;
    &lt;li id=&quot;XK3C&quot;&gt;Какие из операций являются действительно необходимыми для работы с тем или иным объектом? Как правило операции связанные и не имеет смысла реализовывать, например, создание объекта без возможности его просматривать. Однако, выделение операций позволит расставить для них приоритеты.&lt;/li&gt;
    &lt;li id=&quot;ItOu&quot;&gt;Каким образом необходимо реализовать каждую из операций? Возможно одна и та же операция должна быть реализована несколькими способами. В этом случае декомпозицию можно продолжить и вынести реализацию каждого из способов в отдельную пользовательскую историю. Например, нам необходимо реализовать создание нового объекта через интерфейс web-приложения, через панель администратора на сайте магазина, путем добавления информации в базу данных и т.д.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;h2 id=&quot;noUu&quot;&gt;Метод 5: Декомпозиция по типам платформы/ОС.&lt;/h2&gt;
  &lt;p id=&quot;ECAY&quot;&gt;Тут все довольно просто – критерием разбиения требований на составные части является необходимость реализации одного и того же функционала для разных платформ, устройств, операционных систем.&lt;/p&gt;
  &lt;p id=&quot;acJ5&quot;&gt;Например, нам необходимо разработать в веб-приложении функцию оплаты пользователем какой-то покупки. В этом случае можно декомпозировать требование на задачи по реализации функции покупки:&lt;/p&gt;
  &lt;ul id=&quot;97JT&quot;&gt;
    &lt;li id=&quot;gCdJ&quot;&gt;Для разных платформ: персональные компьютеры, планшеты, смартфоны.&lt;/li&gt;
    &lt;li id=&quot;AfQ6&quot;&gt;Для разных ОС: Windows, iOS, Android.&lt;/li&gt;
    &lt;li id=&quot;nZ72&quot;&gt;Для работы в различных браузерах.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;RMEW&quot;&gt;Разбивая требование таким образом, может довольно легко выделить наиболее приоритетные направления для развития продукта и сфокусироваться на них в первую очередь. Например, вначале вы можем сосредоточиться на разработке мобильной версии приложения, а версию для десктоп оставить для более поздних релизов.&lt;/p&gt;
  &lt;h2 id=&quot;oRTc&quot;&gt;Метод 6: Разбиение по типам данных и параметрам.&lt;/h2&gt;
  &lt;p id=&quot;lkJF&quot;&gt;Для некоторых функций можно выделить различные типы данных или параметров, которые они должны обрабатывать. Соответственно, мы можем разбить большое требование\фичу на ряд мелких пользовательских историй, в рамках каждой из которых нужно реализовать работу только с каким-то одним типом данных.&lt;/p&gt;
  &lt;p id=&quot;PpAa&quot;&gt;В качестве примера можно рассмотреть функцию поиска для интернет-магазина. В данном случае декомпозиция на подзадачи может быть выполнена на основе разных запросов в строке поиска, например:&lt;/p&gt;
  &lt;ul id=&quot;NO0Q&quot;&gt;
    &lt;li id=&quot;IpVv&quot;&gt;Поиск с использованием текста (наименование товара)&lt;/li&gt;
    &lt;li id=&quot;W6Hf&quot;&gt;Поиск с использованием числовых значений (номер товара)&lt;/li&gt;
    &lt;li id=&quot;mIMm&quot;&gt;Поиск с использованием регулярных выражений&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;aIc1&quot;&gt;При использовании данного метода декомпозиции мы можем четко определить допустимые и недопустимые параметры для реализуемой функции (например, функции поиска). В этом случае поддержку части типов данных\параметров можно предусмотреть сразу, а другие могут быть реализованы упрощенным способом или запрещены к использованию.&lt;/p&gt;
  &lt;h2 id=&quot;0FeC&quot;&gt;Метод 7: Разбиение по ролям\правам доступа.&lt;/h2&gt;
  &lt;p id=&quot;s0e9&quot;&gt;Многие бизнес процессы и функциональности часто подразумевают участие\работу с ними нескольких ролей и групп пользователей. Каждая группа пользователей с определенной ролью и правами доступа, может выполнять только определенную часть функций из общего процесса.&lt;/p&gt;
  &lt;p id=&quot;Q5oe&quot;&gt;При разбиении функционала по работе с товарами в интернет магазине на основе ролей использования можно выделить, например, такие задачи:&lt;/p&gt;
  &lt;ul id=&quot;Zlao&quot;&gt;
    &lt;li id=&quot;dfg2&quot;&gt;Владелец интернет магазина:&lt;/li&gt;
    &lt;ul id=&quot;g6hW&quot;&gt;
      &lt;li id=&quot;mBPB&quot;&gt;Создание\удаление продукта в интернет магазине.&lt;/li&gt;
      &lt;li id=&quot;BmPy&quot;&gt;Просмотр и редактирование описания продукта.&lt;/li&gt;
    &lt;/ul&gt;
    &lt;li id=&quot;clM4&quot;&gt;Администратор интернет магазина:&lt;/li&gt;
    &lt;ul id=&quot;bpsO&quot;&gt;
      &lt;li id=&quot;BvzP&quot;&gt;Просмотр и редактирование описания продукта.&lt;/li&gt;
      &lt;li id=&quot;nxUI&quot;&gt;Отработка запросов\комментариев клиентов.&lt;/li&gt;
    &lt;/ul&gt;
    &lt;li id=&quot;AYJH&quot;&gt;Клиент\покупатель:&lt;/li&gt;
    &lt;ul id=&quot;s8Pz&quot;&gt;
      &lt;li id=&quot;rGNw&quot;&gt;Просмотр описания продукта.&lt;/li&gt;
      &lt;li id=&quot;EhL5&quot;&gt;Резерв\покупка товаров в интернет магазине.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;YAUH&quot;&gt;Разбивая общую функциональность на роли, которые должны выполнять ее части, мы более четко понимаем, какие именно функции необходимы и кто имеет права для их исполнения. В этом случае на первых этапах можно приоритезировать и реализовать только базовые наборы функций для каждой из ролей, а в последствии расширять их возможности.&lt;/p&gt;
  &lt;h2 id=&quot;YtWv&quot;&gt;Метод 8: Декомпозиция по сценариям тестирования\тест-кейсам.&lt;/h2&gt;
  &lt;p id=&quot;6pbd&quot;&gt;Данная стратегия декомпозиции позволяет разбить большие пользовательские истории задавая вопрос, как та или иная часть функциональности будет проверена. Мы определяем какие сценарии необходимо проверить, какие тесты выполнить, чтобы узнать, работает ли эта функция. В результате мы сформируем набор тест-кейсов, каждый из которых и будет представлять собой отдельную задачу. Каждая задача должна быть реализована так, чтобы тестовый сценарий был успешно пройден.&lt;/p&gt;
  &lt;p id=&quot;7pta&quot;&gt;Рассмотрим пример функциональности – клиент выбирает товар в интернет магазине и откладывает его в «корзину» для совершения покупки. В рамках этой функциональности могут быть выделены следующие тестовые сценарии (ниже только пример части возможных тест-кейсов):&lt;/p&gt;
  &lt;ul id=&quot;MgMG&quot;&gt;
    &lt;li id=&quot;lf1A&quot;&gt;Товар есть в наличии и он доступен покупки.&lt;/li&gt;
    &lt;li id=&quot;6sfN&quot;&gt;Товар есть в наличии, но он уже зарезервирован другим покупателем&lt;/li&gt;
    &lt;li id=&quot;XOPF&quot;&gt;Товара нет в наличии&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;f4S1&quot;&gt;Какие преимущества дает использование данного метода декомпозиции:&lt;/p&gt;
  &lt;ul id=&quot;d11w&quot;&gt;
    &lt;li id=&quot;nJWg&quot;&gt;Эта стратегия фактически объединяет многие техники декомпозиции, которые были рассмотрены ранее. В процессе формирования списка тест-кейсов мы автоматически проанализируем:&lt;/li&gt;
    &lt;ul id=&quot;VEi8&quot;&gt;
      &lt;li id=&quot;j8Mx&quot;&gt;Условия и правила бизнес процесса&lt;/li&gt;
      &lt;li id=&quot;mI7A&quot;&gt;Позитивные и негативные сценарии использования функционала&lt;/li&gt;
      &lt;li id=&quot;eoBM&quot;&gt;Форматы данных и параметров.&lt;/li&gt;
    &lt;/ul&gt;
    &lt;li id=&quot;nKDL&quot;&gt;Анализируя тестовый сценарий легко понять насколько он распространен и вероятен в условия реального использования продукта, что позволяет выставить соответствующие приоритеты.&lt;/li&gt;
    &lt;li id=&quot;3iP9&quot;&gt;При таком способе разбиения мы сразу получаем и описание для задачи\пользовательской истории и сценарий, по которому можно проверить успешность ее реализации.&lt;br /&gt;&lt;/li&gt;
  &lt;/ul&gt;

</content></entry><entry><id>imagine_ksu:U9BVeRy6HKh</id><link rel="alternate" type="text/html" href="https://teletype.in/@imagine_ksu/U9BVeRy6HKh?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=imagine_ksu"></link><title>Корректное завершение проектов</title><published>2024-03-09T17:44:09.183Z</published><updated>2024-03-09T17:51:25.656Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img4.teletype.in/files/bd/52/bd52d1ee-2374-4059-8f08-ab64ab6b35d5.png"></media:thumbnail><category term="pm" label="PM"></category><summary type="html">&lt;img src=&quot;https://img2.teletype.in/files/5a/41/5a410f5d-d54a-4168-9dcc-6191b0c54d82.png&quot;&gt;Данный материал написан на основании открытого вебинара Т. Федорука &quot;How to close projects and take lessons forward for current projects.&quot;</summary><content type="html">
  &lt;p id=&quot;fXy3&quot;&gt;&lt;em&gt;Данный материал написан на основании открытого вебинара Т. Федорука &amp;quot;&lt;a href=&quot;https://youtu.be/1IzrZa0SfEg&quot; target=&quot;_blank&quot;&gt;How to close projects and take lessons forward for current projects&lt;/a&gt;.&amp;quot;&lt;/em&gt;&lt;/p&gt;
  &lt;figure id=&quot;bHc3&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/5a/41/5a410f5d-d54a-4168-9dcc-6191b0c54d82.png&quot; width=&quot;1876&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;3AcB&quot;&gt;Группа процессов закрытия в PMBoK — как бедный родственник. В этот раздел &amp;quot;книги знаний управления проектами&amp;quot; заглядывают редко, да и информации там всего на пару абзацев. Собственно вся группа процессов состоит из одного процесса &amp;quot;Закрытие проекта или фазы&amp;quot;.&lt;/p&gt;
  &lt;p id=&quot;HPC3&quot;&gt;PMBoK 6-е издание&lt;/p&gt;
  &lt;p id=&quot;Wki7&quot;&gt;Группа процессов закрытия включает процесс(ы), выполняемые для формального завершения или закрытия проекта, фазы или договора. Данная группа процессов проверяет, что процессы, определенные в рамках всех групп&lt;br /&gt;процессов, выполнены необходимым образом для закрытия проекта или фазы, и формально устанавливает, что проект или фаза проекта завершена. Ключевая выгода данной группы процессов состоит в том, что фазы, проекты и&lt;br /&gt;договоры закрываются надлежащим образом. Хотя эта группа процессов содержит только один процесс, организации могут иметь собственные процессы, связанные с закрытием проекта, фазы или договора. В связи с этим сохранено&lt;br /&gt;понятие «группа процессов».&lt;/p&gt;
  &lt;p id=&quot;POXD&quot;&gt;PRINCE2&lt;/p&gt;
  &lt;p id=&quot;ihi2&quot;&gt;Цель процесса закрытия проекта в обеспечении фиксированной точки для проверки, что проект достиг своих целей, и что продукты были приняты.&lt;/p&gt;
  &lt;p id=&quot;40yX&quot;&gt;&lt;strong&gt;Задачи процесса закрытия проекта:&lt;/strong&gt;&lt;/p&gt;
  &lt;ul id=&quot;Fmzn&quot;&gt;
    &lt;li id=&quot;cmjB&quot;&gt;Проверить принятие пользователем продукта проекта.&lt;/li&gt;
    &lt;li id=&quot;iNDh&quot;&gt;Убедиться, что продукты могут поддерживаться после расформирования проекта.&lt;/li&gt;
    &lt;li id=&quot;rn0b&quot;&gt;Выполнить обзор производительности проекта. Это делается путем сравнения проекта с утвержденными документами.&lt;/li&gt;
    &lt;li id=&quot;EgSJ&quot;&gt;Оценить выгоды, которые уже реализованы, и спланировать оценки выгод, которые будут реализованы после завершения проекта.&lt;/li&gt;
    &lt;li id=&quot;NVJv&quot;&gt;Дать рекомендации по дальнейшим действиям относительно открытых инцидентов и рисков.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;l5tv&quot;&gt;В 7-м издании PMBoK структура книги изменилась, так что теперь группа процессов закрытия несколько неявным входит в домен исполнения &amp;quot;Работа проекта&amp;quot;, но она там есть.&lt;/p&gt;
  &lt;p id=&quot;lqFf&quot;&gt;Обычно в управлении проектами считается важным хороший старт, инвестиции усилий в проработку требований, планирование, налаживание взаимодействия с заказчиком, тщательный анализ рисков и т. п. Про корректное завершение руководители проектов думают редко, если вообще руки доходят до этого. Однако пренебрегать этим процессом не стоит, по следующим причинам:&lt;/p&gt;
  &lt;ul id=&quot;WqHU&quot;&gt;
    &lt;li id=&quot;hc1p&quot;&gt;процесс закрытия довольно простой, не требует больших ресурсов на внедрение, он дополняет, а не меняет устоявшие практики (&lt;em&gt;согласно принципам Канбан метода &lt;/em&gt;—&lt;em&gt; начните с того что есть, и постепенно улучшайте&lt;/em&gt;)&lt;/li&gt;
    &lt;li id=&quot;39dT&quot;&gt;польза от него может быть не очевидной в моменте, но хорошой заметной в среднесрочной и долгосрочной перспективах&lt;/li&gt;
    &lt;li id=&quot;KSxt&quot;&gt;результаты (выходы) этого процесса могут быть использованы как в самом управлении проектами, так и в неожиданных, на первый взляд, направлениях бизнеса, например маркетинг или продажи&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;4KlH&quot;&gt;Цель процесса закрытия проекта и ключевые выгоды, как следует из PMBoK:&lt;/p&gt;
  &lt;ul id=&quot;ZTbz&quot;&gt;
    &lt;li id=&quot;HlVj&quot;&gt;&lt;strong&gt;обеспечение архивирования информации о проекте или фазе&lt;/strong&gt;&lt;/li&gt;
    &lt;li id=&quot;U1lS&quot;&gt;&lt;strong&gt;завершение запланированных работ&lt;/strong&gt;&lt;/li&gt;
    &lt;li id=&quot;NIUb&quot;&gt;&lt;strong&gt;высвобождение ресурсов организации для участия в новых начинаниях&lt;/strong&gt;&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;l3fY&quot;&gt;Какие же практики и артефакты используются в процессе закрытия проекта или фазы?&lt;/p&gt;
  &lt;h2 id=&quot;LD48&quot;&gt;Сбор данных от внешних заинтересованных лиц&lt;/h2&gt;
  &lt;p id=&quot;a2Aw&quot;&gt;На данном этапе мы собираем обратную связь от заказчика — ключевых заинтересованных лиц с его стороны. Как они оценивают завершенный проект, общий уровень сотрудничества с компанией, что понравилось или вызвало негативную реакцию. Удобно это делать в форме короткого опросника, например в Google Forms, состоящего из нескольких вопросов. Делать слишком большой опросник, больше 3-4 пунктов, не советуют — есть риск что клиент вообще не станет его заполнять. Лучше дать ему возможность высказать любые подробности в отдельном текстовом поле, если сочтёт нужным.&lt;br /&gt;Популярный формат опросника — 3 вопроса:&lt;/p&gt;
  &lt;ol id=&quot;etBK&quot;&gt;
    &lt;li id=&quot;OGfc&quot;&gt;Как вы оцените завершенный проект? (Или последний раунд сотрудничества, зависит от того как часто вы хотите собирать обратную связь) — Оценка от 1 до 10&lt;/li&gt;
    &lt;li id=&quot;A7RJ&quot;&gt;Почему вы поставили такую оценку? — Текстовое поле&lt;/li&gt;
    &lt;li id=&quot;G6nK&quot;&gt;Порекомендуете ли своим коллегам или партнерам нашу компанию для сотрудничества? — Оценка от 1 до 10&lt;br /&gt;Этот вопрос по сути является сбором метрики &lt;strong&gt;NPS&lt;/strong&gt; — &lt;a href=&quot;https://en.wikipedia.org/wiki/Net_promoter_score&quot; target=&quot;_blank&quot;&gt;Net Promoter Score&lt;/a&gt;.Что такое NPS&lt;/li&gt;
  &lt;/ol&gt;
  &lt;h2 id=&quot;lBvK&quot;&gt;Сбор данных от команды проекта&lt;/h2&gt;
  &lt;p id=&quot;kSGF&quot;&gt;Аналогично опроснику для заказчика, можно сделать опрос членов проектной команды. Здесь можно задать больше вопросов и попросить более детальную информацию. Эксперты предлагают следующий список вопросов для внутреннего опросника:&lt;/p&gt;
  &lt;ol id=&quot;M6my&quot;&gt;
    &lt;li id=&quot;2xIQ&quot;&gt;Эффективность внутрикомандной работы&lt;/li&gt;
    &lt;li id=&quot;dn6l&quot;&gt;Эффективность внешнего взаимодействия — заказчик, руководство, субподрядчики&lt;/li&gt;
    &lt;li id=&quot;N6zT&quot;&gt;В какой мере мы как команда реализовали ожидания заказчика&lt;/li&gt;
    &lt;li id=&quot;io1c&quot;&gt;В какой мере мы как команда достигли целей проекта&lt;/li&gt;
    &lt;li id=&quot;bofF&quot;&gt;Доставлены ли заказчику все необходимые компоненты поставки (deliverables)&lt;/li&gt;
    &lt;li id=&quot;n69N&quot;&gt;Общее качество нашей работы как команды&lt;/li&gt;
  &lt;/ol&gt;
  &lt;p id=&quot;sXOD&quot;&gt;Для простоты можно шкалу оценок сделать аналогичной клиентской, от 1 до 10.&lt;/p&gt;
  &lt;h2 id=&quot;lmWD&quot;&gt;Ретроспективная сессия с командой проекта.&lt;/h2&gt;
  &lt;p id=&quot;8D71&quot;&gt;Строго говоря, это правильнее было бы назвать &lt;em&gt;Post-mortem анализ&lt;/em&gt;. Условная разница между ретроспективой и пост-мортем (посмертным) анализом — первая проводится во время работы над проектом и предложенные улучшения внедряются сразу же, второй — проводится после завершения работы, и выходом являются не локальные улучшения, а скорее вынесенные уроки (&lt;em&gt;Lessons learned&lt;/em&gt;), которые должны быть сохранены в общей базы и могут быть использованы в масштабах всей компании для улучшения процессов.&lt;/p&gt;
  &lt;p id=&quot;FBUH&quot;&gt;Рекомендации для проведения сессии следующие:&lt;/p&gt;
  &lt;ul id=&quot;stTU&quot;&gt;
    &lt;li id=&quot;46UP&quot;&gt;рассматриваем весь проект &lt;strong&gt;целиком&lt;/strong&gt;&lt;/li&gt;
    &lt;li id=&quot;yGVL&quot;&gt;&lt;strong&gt;все желающие должны иметь возможность высказаться&lt;/strong&gt; и быть услышанными, у всех равные права&lt;/li&gt;
    &lt;li id=&quot;Lwpf&quot;&gt;руководитель проекта (или иной фасилитатор) старается сохранить &lt;strong&gt;позитивный настрой команды&lt;/strong&gt;, не допускать споров или поисков виноватых на сессии. Говорить можно всё, но ретро — не место для персональных негативных фидбэков (если таковые есть, давать их нужно не публично, помним правило - &amp;quot;хвалить при всех, ругать лично&amp;quot;), команда должна разойтись вдохновленной и готовой к новым свершениям&lt;/li&gt;
    &lt;li id=&quot;7kCE&quot;&gt;присутствие клиента опционально, если команду это не будет стеснять и препятствовать открытому обсуждению.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;dnxS&quot;&gt;Для проведения сессии можно использовать формат встречи &lt;strong&gt;Open -&amp;gt; Navigate -&amp;gt; Close.&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;6ijv&quot;&gt;&lt;strong&gt;Open&lt;/strong&gt; — приветствие, можно использовать какие-то ice breakers для создания открытой неформальной обстановки, даём контекст встречи: общий обзор завершенного проекта, можно сделать короткую презентацию по уставу проекта, если таковой имеется. Озвучить цели проекта, ограничения, допущения, основные этапы.&lt;br /&gt;&lt;strong&gt;Navigate&lt;/strong&gt; — фасилитируем обсуждение, можно показать таймлайн проекта или основые вехи, может быть даты поставки основных компонент, и просим по очереди высказаться о проекте. Можно попробовать использовать какой-нибудь тул для предварительного сбора мнений от команды (в т.ч. анонимного), например &lt;a href=&quot;https://easyretro.io/&quot; target=&quot;_blank&quot;&gt;easyretro.io&lt;/a&gt; Если команда достаточно большая, можно попробовать для упорядочивания обсуждения использовать какие-то техники из &lt;a href=&quot;https://www.liberatingstructures.com/&quot; target=&quot;_blank&quot;&gt;Liberаtion Structures&lt;/a&gt;&lt;br /&gt;&lt;strong&gt;Close&lt;/strong&gt; — совместно формулируем вынесенные уроки (lessons learned), фиксируем фидбэки от членов команды (придерживаемся позитивного тона, или хотя бы конструктива), благодарим команду за работу. Пицца, пиво, все довольны ))&lt;/p&gt;
  &lt;h2 id=&quot;47L7&quot;&gt;Организация собранных данных&lt;/h2&gt;
  &lt;p id=&quot;Kdj3&quot;&gt;&lt;strong&gt;&lt;u&gt;Отчет о закрытии проекта (Close-out report)&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;WQGH&quot;&gt;На основании собранных с опросников и ретро-сессии данных составляем главный документ процесса — &lt;strong&gt;Отчет о закрытии (Close-out report)&lt;/strong&gt;. Хорошо если есть хотя бы карточка проекта — можно использовать этот документ как основу для отчета, описывая в прошедшем времени сделанную работу, полученные результаты и т. п. И обязательно добавляя &lt;strong&gt;&lt;u&gt;аналитику&lt;/u&gt;&lt;/strong&gt; — достигнута ли цель проекта и в какой степени, какие риски сработали, насколько успешными были стратегии смягчения рисков, собранные метрики на проекте, успехи / неудачи / вынесенные уроки и тому подобное. Здесь пригодятся все имеющиеся документы проекта — реестр рисков, журнал изменений, журнал истории проекта, отчеты о поставках, бизнес-документы.&lt;/p&gt;
  &lt;p id=&quot;eGt0&quot;&gt;&lt;strong&gt;&lt;u&gt;Хранилище выученных уроков (Lessons learned repository)&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;bw7s&quot;&gt;Можно использовать любое имеющееся хранилище для организации базы знаний. Критерии — легкая доступность, структурированность, возможность быстрого поиска.&lt;/p&gt;
  &lt;p id=&quot;qgAc&quot;&gt;Для структурирования выученных уроков можно использовать следующие категории:&lt;/p&gt;
  &lt;ul id=&quot;uheV&quot;&gt;
    &lt;li id=&quot;NwTp&quot;&gt;&lt;strong&gt;Область знания&lt;/strong&gt;. Некоторые используют для этого прямой копипаст Областей знаний из PMBoK:&lt;br /&gt;- Project Integration&lt;br /&gt;- Project Scope&lt;br /&gt;- Project Schedule&lt;br /&gt;- Project Cost&lt;br /&gt;- Project Quality&lt;br /&gt;- Project Resources&lt;br /&gt;- Project Communications&lt;br /&gt;- Project Risks&lt;br /&gt;- Project Procurement&lt;br /&gt;- Project Stakeholders&lt;/li&gt;
    &lt;li id=&quot;qH9y&quot;&gt;&lt;strong&gt;Краткое описание проблемы и решение&lt;/strong&gt;&lt;/li&gt;
    &lt;li id=&quot;EQts&quot;&gt;&lt;strong&gt;План действий по внедрению решения&lt;/strong&gt;&lt;/li&gt;
    &lt;li id=&quot;uG89&quot;&gt;(опционально) Ключевые слова, кодовое название проекта и т. п.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;h2 id=&quot;qFYd&quot;&gt;Формализация завершения проекта&lt;/h2&gt;
  &lt;p id=&quot;te5X&quot;&gt;&lt;strong&gt;&lt;u&gt;Финальный отчет заказчику&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;xpXQ&quot;&gt;Отправляем заказчику финальный отчет, включающий:&lt;br /&gt;- цели проекта&lt;br /&gt;- достигнутые результаты&lt;br /&gt;- критерии успешной приемки и завершения (success / exit criteria)&lt;br /&gt;- перечень поставляемых компонент и/или адрес где они находятся&lt;/p&gt;
  &lt;p id=&quot;nVW1&quot;&gt;&lt;strong&gt;&lt;u&gt;Внутреннее информационное письмо о завершении проекта&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;0zVM&quot;&gt;Часто бывает ситуация, когда о новых проектах информирование сотрудников успешно налажено, а вот о закрытии проектов сообщают редко. В информационном письме перечисляем членов проектной команды, благодарим всех за хорошую работу, можно приложить благодарственные письма от заказчика если таковые имеются. Этим письмом вы уведомляем о высвобождении ресурсов, используемых в проекте (сотрудники, инфраструктура, другие ресурсы).&lt;br /&gt;Данное письмо также подводит некую логическую финальную черту для сотрудников, принимавших участие в проектах. Это достаточно важный аспект с психологической точки зрения, сильно влияющий на дальнейшую мотивацию сотрудников - ощутить логическое завершение проделанной работы, услышать благодарность за потраченные усилия и внутренне собраться для следующего этапа/проекта.&lt;br /&gt;Адресаты — в зависимости от размера и структуры компании. В небольших компаниях до 250-300 человек, по моему мнению, есть смылс рассылать такие письма на всех. Если больше, можно ограничиться отделом или департаментом, включив туда отделы продаж, маркетинга, руководство.&lt;/p&gt;
  &lt;p id=&quot;soYq&quot;&gt;&lt;strong&gt;&lt;u&gt;Архивация проектной документации&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;RkU4&quot;&gt;Обычная формальность — помечаем как заархивированные пространства в Confluence, архивируем документы на дисках Google, закрываем каналы или группы в используемых мессенджерах, закрываем проект в Jira и так далее.&lt;/p&gt;
  &lt;h2 id=&quot;QAkN&quot;&gt;Использование накопленных знаний&lt;/h2&gt;
  &lt;p id=&quot;PfHf&quot;&gt;В этой главе на самом деле весь смысл существования процесса закрытия проектов. Данный процесс выполняется как раз для того, чтобы можно было извлечь пользу из набитых в процессе работы шишек и вынесенных уроков. Порой выходы из процесса закрытия могут пригодиться в довольно отдаленных направлениях бизнеса, как например маркетинг.&lt;/p&gt;
  &lt;p id=&quot;JuAP&quot;&gt;&lt;strong&gt;Ответственность за корректное сохранение и возможность переиспользования накопленной информации лежит на руководителе проекта&lt;/strong&gt;. Он должен быть заинтересован в первую очередь чтобы решения выявленных проблем могли быть переиспользованы в масштабах всей компании. Руководитель проекта (или его коллеги) сам может в будущих проектах снова встретить те же самые проблемы, если в компании не имплементируются своевременно выученные уроки. А если еще и это случится на другом проекте с тем же самым клиентом, получится совсем интересная ситуация.&lt;/p&gt;
  &lt;p id=&quot;658T&quot;&gt;Здесь можно отметить, что грамотное внедрение и использование приемуществ процесса закрытия в компании как раз хорошо ложится на один из основых принципов Канбан метода - начните с того что есть сейчас и эволюционно улучшайте процессы.&lt;/p&gt;
  &lt;p id=&quot;jgHv&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;IpF4&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;uTGf&quot;&gt;&lt;strong&gt;&lt;u&gt;Чеклист для проверки корректности завершения проекта:&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;
  &lt;ul id=&quot;TW2o&quot;&gt;
    &lt;li id=&quot;HSDG&quot;&gt;Форма обратной связи для заказчика создана и отправлена&lt;/li&gt;
    &lt;li id=&quot;BVDz&quot;&gt;Форма обратной связи для команды создана и разослана&lt;/li&gt;
    &lt;li id=&quot;7JWH&quot;&gt;Ретро-сессия (post-mortem анализ) проведена с командой, выученные уроки внесены в хранилище&lt;/li&gt;
    &lt;li id=&quot;ucv7&quot;&gt;Отчет о закрытии проекта (Close-out report) написан&lt;/li&gt;
    &lt;li id=&quot;BK89&quot;&gt;Финальный отчет клиенту отправлен&lt;/li&gt;
    &lt;li id=&quot;irSh&quot;&gt;Внутреннее информационное письмо о завершении проекта разослано&lt;/li&gt;
    &lt;li id=&quot;lIbo&quot;&gt;Проектная информация заархивирована&lt;/li&gt;
  &lt;/ul&gt;

</content></entry><entry><id>imagine_ksu:7Ppe6SJNY2f</id><link rel="alternate" type="text/html" href="https://teletype.in/@imagine_ksu/7Ppe6SJNY2f?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=imagine_ksu"></link><title>А ВЫ КУПИЛИ ЯЙЦА ? </title><published>2023-12-25T19:16:14.262Z</published><updated>2023-12-25T19:28:17.192Z</updated><category term="novosti" label="новости"></category><summary type="html">https://t.me/analytic_is</summary><content type="html">
  &lt;p id=&quot;sqfT&quot;&gt;&lt;a href=&quot;https://t.me/analytic_is&quot; target=&quot;_blank&quot;&gt;https://t.me/analytic_is&lt;/a&gt; &lt;/p&gt;
  &lt;p id=&quot;e0wP&quot;&gt;Однажды один лысоватый картавый революционер заявил, что каждая кухарка может управлять государством. Вроде кухарки пока не управляют, но  домохозяйки оценили предновогодний скачок цен на яйца. Яйца стали мемами, Набиулина заявила, что цены выросли, потому что &amp;quot;Спрос превысил предложение&amp;quot;  и вообще &amp;quot;кто-то слишком много ест&amp;quot;&lt;/p&gt;
  &lt;p id=&quot;dus7&quot;&gt; &lt;br /&gt;На самом деле соотношения спроса и предложения работает в сферическом вакууме без людей и из потребностей, то есть в идеальной модели рыночной экономики. По факту же на цены влияет еще множество факторов, от сезонности, ажиотажа, логистических затрат и до курсов валют, фьючерсных контрактов и гос регулирования. &lt;br /&gt;Мы ж тут про аналитику, поэтому включаем мозг, и не поддаемся яичной панике. &lt;/p&gt;
  &lt;p id=&quot;DZXP&quot;&gt;&lt;strong&gt;Фактор 1. &lt;/strong&gt; Яйца входят в список товаров первой необходимости, еще с 2010 года. Полный список можно посмотреть &lt;a href=&quot;https://www.kommersant.ru/doc/5413501&quot; target=&quot;_blank&quot;&gt;тут&lt;/a&gt;.   Если цены на такие товары возрастают более чем на 30% в месяц, то государство в праве искусственно их ограничить.  Поэтому часто федеральные поставщики продают в розничные сети товары с невысокой наценкой, чтобы соблюсти все правила, или незначительно поднимают цены каждый месяц/квартал. &lt;/p&gt;
  &lt;p id=&quot;A166&quot;&gt;&lt;strong&gt;Фактор 2&lt;/strong&gt;. Традиционно в сентябре и в декабре заключаются контракты на поставки с сетями на следующий год, в этих контрактах фиксируются цены на товары, график поставок, размер платежей и ценовой коридор.  Соответственно, все то, что мы покупаем сейчас в магазинах, если это товары российских поставщиков, не привязанных к курсу валют (гыг, мы то знаем, что все привязано к курсу валют), мы покупаем по запланированным еще в 2022 году ценам.  Пришло время эти цены пересмотреть, и пересмотр будет в большую сторону. &lt;/p&gt;
  &lt;p id=&quot;PBcs&quot;&gt;&lt;strong&gt;Фактор 3.&lt;/strong&gt; Кредиты бизнеса. Чтобы поддерживать оборотку на определенном уровне, компании берут кредиты. Как мы знаем, ключевая ставка ЦБ поднималась неоднократно в течении последних месяцев,  за ней подтянулись и процентные ставки банков. Если ключевая ставка поднимается выше чем несколько пунктов за год, а у нас она &lt;a href=&quot;https://www.cbr.ru/hd_base/keyrate/&quot; target=&quot;_blank&quot;&gt;выросла с 7,5 до 16 %&lt;/a&gt;, кредиторы в праве пересмотреть ставки по действующим кредитным линиям или предложить открыть новые кредитные линии для бизнеса, на новых условиях. С таким ростом процентных ставок, банки перестроились, смирились и переработали продуктовую линейку с учетом новых реалий. Спойлер, резкого снижения ключевой ставки с 2024 никто особо не ожидает. &lt;/p&gt;
  &lt;p id=&quot;H6BI&quot;&gt;Итак, какие можно сделать выводы, спрос на товары первой необходимости влияет весьма опосредованно, люди всегда будут есть яйца, хлеб, молоко, соль, сахар и прочие гречки.  На ценообразования таких товаров больше влияет доступность кредитов для бизнеса, логистика, гос регулирование, способное компенсировать влияние дорожающих кредитов и логистики. Но госрегулирование цен не может до бесконечности ограничивать цены сбыта на &lt;a href=&quot;https://%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B2%D0%B5%D1%80%D0%BD%D0%BE%D0%B5.%D1%80%D1%84/system-forming-organizations-economy-minpromtorg&quot; target=&quot;_blank&quot;&gt;системообразующих предприятиях&lt;/a&gt;,  чтобы те не работали себе  в убыток. Вот и не спешат снижать цены у крупных ритейлеров. &lt;/p&gt;
  &lt;p id=&quot;UmGD&quot;&gt;А что это значит для кухарки: к госуправлению ее все еще не пустят, а вот непортящимися товарами закупиться стоит, хотя бы на пару месяцев, ведь с января мы начнем жить в новом дивном мире цен на ЖКХ и гречку&lt;/p&gt;

</content></entry><entry><id>imagine_ksu:Diagrammy-dejstviya-12-05</id><link rel="alternate" type="text/html" href="https://teletype.in/@imagine_ksu/Diagrammy-dejstviya-12-05?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=imagine_ksu"></link><title>Диаграммы действия</title><published>2023-12-25T19:24:57.697Z</published><updated>2023-12-25T19:28:51.739Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img4.teletype.in/files/7a/a9/7aa9d4f7-3c1b-49c9-89cc-98099ec77ad8.png"></media:thumbnail><category term="analitika" label="Аналитика"></category><summary type="html">&lt;img src=&quot;https://img3.teletype.in/files/e5/1b/e51bb214-fa81-49b0-982f-e84798d69edd.png&quot;&gt;Диаграмма действий — важная поведенческая диаграмма в диаграмме UML , описывающая динамические аспекты системы. Диаграмма действий — это, по сути, расширенная версия блок-схемы, моделирующая переход от одного действия к другому.</summary><content type="html">
  &lt;figure id=&quot;q2TU&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/e5/1b/e51bb214-fa81-49b0-982f-e84798d69edd.png&quot; width=&quot;1024&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;tzJC&quot;&gt;Диаграмма действий — важная поведенческая диаграмма в диаграмме &lt;a href=&quot;https://en.wikipedia.org/wiki/Unified_Modeling_Language&quot; target=&quot;_blank&quot;&gt;UML&lt;/a&gt; , описывающая динамические аспекты системы. Диаграмма действий — это, по сути, расширенная версия блок-схемы, моделирующая переход от одного действия к другому.&lt;/p&gt;
  &lt;figure id=&quot;9OzZ&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/f8/38/f838dcdc-f108-4232-b6d5-7c06a7e46541.png&quot; width=&quot;815&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;jiGo&quot;&gt;Диаграммы действий описывают, как координируются действия для работы сервиса, при этом детализация различных диаграмм может находиться на разных уровнях абстракции.&lt;/p&gt;
  &lt;p id=&quot;NXe7&quot;&gt;Критерии достижения результат, если его нужно изобразить с помощью диаграммы действия:&lt;/p&gt;
  &lt;ul id=&quot;jbVx&quot;&gt;
    &lt;li id=&quot;vkle&quot;&gt;есть вариативность в развитии событий&lt;/li&gt;
    &lt;li id=&quot;Fb8r&quot;&gt;операции могут производиться параллельно&lt;/li&gt;
    &lt;li id=&quot;lNDd&quot;&gt;развитие последующей цепочки событий зависит от выбора варианта поведения на предыдущем шаге&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;dTm4&quot;&gt;Диаграмма действия также подходит для моделирования того, как координируется набор вариантов использования для представления рабочих процессов бизнеса. В принципе с еще помощью можно визуализировать большинство БП&lt;/p&gt;
  &lt;p id=&quot;lapq&quot;&gt;Базовая диаграмма деятельности – блок-схема типа&lt;/p&gt;
  &lt;figure id=&quot;tHRe&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/7a/96/7a96a30d-f2ad-40c8-8edc-d93c9f179fb9.png&quot; width=&quot;572&quot; /&gt;
    &lt;figcaption&gt;Основная диаграмма деятельности&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;vCyQ&quot;&gt;&lt;strong&gt;Диаграмма деятельности — моделирование текстового процессора&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;jZ76&quot;&gt;В приведенном ниже примере диаграммы действий описан рабочий процесс текстового процесса по созданию документа, состоящий из следующих шагов:&lt;/p&gt;
  &lt;ul id=&quot;JClr&quot;&gt;
    &lt;li id=&quot;cimn&quot;&gt;Откройте пакет текстового процессора.&lt;/li&gt;
    &lt;li id=&quot;vhm3&quot;&gt;Создайте файл.&lt;/li&gt;
    &lt;li id=&quot;Me4e&quot;&gt;Сохраните файл под уникальным именем в своем каталоге.&lt;/li&gt;
    &lt;li id=&quot;jE6Q&quot;&gt;Введите документ.&lt;/li&gt;
    &lt;li id=&quot;GexX&quot;&gt;Если необходима графика, откройте графический пакет, создайте графику и вставьте ее в документ.&lt;/li&gt;
    &lt;li id=&quot;1LTp&quot;&gt;Если электронная таблица необходима, откройте пакет электронных таблиц, создайте электронную таблицу и вставьте ее в документ.&lt;/li&gt;
    &lt;li id=&quot;LejW&quot;&gt;Сохраните файл.&lt;/li&gt;
    &lt;li id=&quot;Kf5j&quot;&gt;Распечатайте бумажную копию документа.&lt;/li&gt;
    &lt;li id=&quot;Rms1&quot;&gt;Выйдите из пакета текстового процессора.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;d3wi&quot;&gt;Обратите внимание:&lt;/p&gt;
  &lt;ul id=&quot;fm22&quot;&gt;
    &lt;li id=&quot;ObqT&quot;&gt;&lt;em&gt;Действия описываются как фразы глагол-объект, действия представлены прямоугольниками со скругленными углами, а поток управления между действиями представлен сплошными стрелками.&lt;/em&gt;&lt;/li&gt;
    &lt;li id=&quot;dve0&quot;&gt;&lt;em&gt;Действия представляют действия в процессе, и действия могут быть большими или малыми, и действия могут продолжать разбиваться на более мелкие действия.&lt;/em&gt;&lt;/li&gt;
    &lt;li id=&quot;zyce&quot;&gt;&lt;em&gt;Степень детализации действий определяется значением отображаемой диаграммы, независимо от того, предназначена ли она для представления широкого процесса или конкретного процесса.&lt;/em&gt;&lt;/li&gt;
  &lt;/ul&gt;
  &lt;figure id=&quot;h7M2&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/c1/1c/c11cf32f-3dec-4233-a459-fa7d98bd4b12.png&quot; width=&quot;368&quot; /&gt;
    &lt;figcaption&gt;Пример диаграммы деятельности — текстовый процессор&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;2yWr&quot;&gt;Пример диаграммы действий ниже визуализирует поток в графической форме.&lt;/p&gt;
  &lt;figure id=&quot;Dvks&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/84/40/84407482-7881-4d7b-9981-a2695dc986e7.png&quot; width=&quot;486&quot; /&gt;
    &lt;figcaption&gt;Диаграмма действий — технологический порядок&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;blockquote id=&quot;DO7L&quot;&gt;После получения заказа действия разделяются на два параллельных набора действий. Одна сторона заполняет и отправляет заказ, а другая занимается выставлением счетов. На стороне исполнения заказа способ доставки определяется условно. В зависимости от условия выполняется либо действие «Ночная доставка», либо действие «Регулярная доставка». Наконец, параллельные действия объединяются, чтобы закрыть заказ.&lt;/blockquote&gt;
  &lt;p id=&quot;6vuJ&quot;&gt;&lt;strong&gt;Диаграмма деятельности — дорожка для плавания&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;mqXH&quot;&gt;Дорожка для плавания (пулл, pool) — это способ группировать действия, выполняемые одним и тем же актором (&lt;em&gt;Тут нужно вспомнить, кто что может являться актором&lt;/em&gt;), на диаграмме действий или диаграмме действий, либо группировать действия в одном потоке. Вот пример диаграммы деятельности для моделирования представления расходов на персонал:&lt;/p&gt;
  &lt;figure id=&quot;m3Aw&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/a7/cd/a7cdcd6f-f7ef-4ebe-90a5-d4bc0fae2075.png&quot; width=&quot;796&quot; /&gt;
    &lt;figcaption&gt;Диаграмма деятельности: использование дорожки для плавания&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;Y9SS&quot;&gt;&lt;strong&gt;Диаграмма активности дорожки и не дорожки для плавания&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;0PHk&quot;&gt;В приведенном ниже примере диаграммы действий описан бизнес-процесс встречи с новым клиентом с использованием диаграммы действий без дорожки для плавания.&lt;/p&gt;
  &lt;figure id=&quot;IFOk&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/dd/34/dd347be7-b29e-45aa-976f-0953330fe979.png&quot; width=&quot;450&quot; /&gt;
    &lt;figcaption&gt;Диаграмма активности (без дорожки для плавания)&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;UT7b&quot;&gt;На рисунке ниже описан тот же бизнес-процесс встречи с новым клиентом с использованием диаграммы действий с Swimlane.&lt;/p&gt;
  &lt;figure id=&quot;i9Nm&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/69/c4/69c40023-6ef8-4ff5-9aa3-ac34f2e69423.png&quot; width=&quot;510&quot; /&gt;
    &lt;figcaption&gt;Диаграмма активности (с дорожкой для плавания)&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;qgXC&quot;&gt;Использовать дорожки или нет - решать вам, но важно помнить, что схема не должна превратиться в сложно читаемый лабиринт&lt;/p&gt;
  &lt;h3 id=&quot;Обозначения-диаграммы-деятельности&quot;&gt;Обозначения диаграммы деятельности&lt;/h3&gt;
  &lt;p id=&quot;EiSq&quot;&gt;Активность&lt;/p&gt;
  &lt;p id=&quot;yDtM&quot;&gt;Используется для представления набора действий&lt;/p&gt;
  &lt;figure id=&quot;Jfzy&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/9f/6f/9f6f113a-33d3-4252-a050-8def26a4231b.png&quot; width=&quot;99&quot; /&gt;
    &lt;figcaption&gt;Обозначение диаграммы активности — активность&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;ImI8&quot;&gt;Действие&lt;/p&gt;
  &lt;p id=&quot;tbVP&quot;&gt;Задача, которую нужно выполнить&lt;/p&gt;
  &lt;figure id=&quot;UlJa&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/90/4b/904b4b09-3009-41a9-95b7-57f5fbbfc9b4.png&quot; width=&quot;61&quot; /&gt;
    &lt;figcaption&gt;Обозначение диаграммы деятельности — действие&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;ucfW&quot;&gt;Поток управления&lt;/p&gt;
  &lt;p id=&quot;YMsD&quot;&gt;Показывает последовательность выполнения&lt;/p&gt;
  &lt;figure id=&quot;UtNw&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/19/86/1986405a-e98e-45a3-9701-007ede82ec60.png&quot; width=&quot;147&quot; /&gt;
    &lt;figcaption&gt;Обозначение диаграммы действий — поток управления&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;J29I&quot;&gt;Поток объектов&lt;/p&gt;
  &lt;p id=&quot;DYb8&quot;&gt;Покажите поток объекта от одного действия к другому действию&lt;/p&gt;
  &lt;figure id=&quot;XOxn&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/02/39/02392954-2ca9-4006-968c-11154a8fc327.png&quot; width=&quot;147&quot; /&gt;
    &lt;figcaption&gt;Обозначение диаграммы действий — поток объектов&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;nXBr&quot;&gt;Начальный узел&lt;/p&gt;
  &lt;p id=&quot;2Wev&quot;&gt;Изображает начало набора действий или действий.&lt;/p&gt;
  &lt;figure id=&quot;Hn3t&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/a7/ef/a7ef9ded-a61b-42b4-a510-e7844abe51f4.png&quot; width=&quot;20&quot; /&gt;
    &lt;figcaption&gt;Обозначение диаграммы деятельности — начальный узел&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;U23j&quot;&gt;Конечный узел активности&lt;/p&gt;
  &lt;p id=&quot;Q3nX&quot;&gt;Остановить все потоки управления и потоки объектов в действии. Графики активности могут иметь только одну начальную точку, но могут иметь несколько конечных точек.&lt;/p&gt;
  &lt;figure id=&quot;VyeP&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/1f/fb/1ffbbad8-90a5-4a05-ba9c-7658deb06b2a.png&quot; width=&quot;21&quot; /&gt;
    &lt;figcaption&gt;Обозначение диаграммы действий — конечный узел действия&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;hss9&quot;&gt;Узел объекта&lt;/p&gt;
  &lt;p id=&quot;POY2&quot;&gt;Представлять объект, подключенный к набору потоков объектов.&lt;/p&gt;
  &lt;figure id=&quot;FyZQ&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/3b/87/3b8730fa-0877-4b73-a9ab-804ee60e5a6a.png&quot; width=&quot;81&quot; /&gt;
    &lt;figcaption&gt;Обозначение диаграммы деятельности — узел объекта&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;N0UZ&quot;&gt;&lt;strong&gt;Узел принятия решений&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;fDOz&quot;&gt;Условие, гарантирующее, что поток управления или поток объектов идет только по одному пути.&lt;/p&gt;
  &lt;figure id=&quot;UcpL&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/db/38/db386e20-1525-4f13-8e84-388b424c8dd9.png&quot; width=&quot;167&quot; /&gt;
    &lt;figcaption&gt;Обозначение диаграммы деятельности — узел принятия решения&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;SC6Z&quot;&gt;&lt;strong&gt;Объединить в узел&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;ShHF&quot;&gt;Объедините различные пути принятия решений, созданные с помощью узла принятия решений. Необязательно, что ветки будут сливаться в один узел принятия решений&lt;/p&gt;
  &lt;figure id=&quot;E2yt&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/9c/d0/9cd087e5-3d65-466a-b933-140a5af8c87d.png&quot; width=&quot;110&quot; /&gt;
    &lt;figcaption&gt;Обозначение диаграммы деятельности — узел слияния&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;mTFX&quot;&gt;&lt;strong&gt;Форк-узел&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;MQMU&quot;&gt;Разделите поведение на набор параллельных или параллельных потоков действий.&lt;/p&gt;
  &lt;figure id=&quot;khYg&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/f4/b2/f4b21544-0bde-4f93-91ef-d2e79a3b4d59.png&quot; width=&quot;153&quot; /&gt;
    &lt;figcaption&gt;Обозначение диаграммы деятельности — узел разветвления&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;TMLW&quot;&gt;&lt;strong&gt;Присоединиться к узлу - джойн&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;H6OV&quot;&gt;Соберите вместе набор параллельных или параллельных потоков деятельности .&lt;/p&gt;
  &lt;figure id=&quot;z0KK&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/fe/ee/feee6191-1028-458c-af39-b99136903891.png&quot; width=&quot;141&quot; /&gt;
    &lt;figcaption&gt;Обозначение диаграммы деятельности — узел присоединения&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;zS4r&quot;&gt;Fork и Join должны использоваться в комбинации для представления одновременных действий.&lt;/p&gt;
  &lt;p id=&quot;B2Ae&quot;&gt;Fork указывает, что одно действие завершается для создания нескольких последующих параллельных действий; конвергенция указывает на то, что несколько действий завершаются до перехода к следующему действию.&lt;/p&gt;
  &lt;p id=&quot;hem8&quot;&gt;Форк — это действие, которое указывает на несколько точек, а соединение — это действие, возникающее в результате схождения нескольких точек.&lt;/p&gt;
  &lt;p id=&quot;Sifk&quot;&gt;Действия между разветвлением и соединением выполняются параллельно, а после окончательного выполнения всего объединенного воссоединения переходят в следующее действие.&lt;/p&gt;
  &lt;p id=&quot;qjvi&quot;&gt;&lt;strong&gt;Дорожка для плавания и перегородка&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;95tq&quot;&gt;Способ группировки действий, выполняемых одним и тем же актором, на диаграмме действий или группировки действий в одном потоке.&lt;/p&gt;
  &lt;figure id=&quot;E45l&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/5b/0e/5b0e9e08-d8a7-4062-8cfa-b1151aab1051.png&quot; width=&quot;203&quot; /&gt;
    &lt;figcaption&gt;Обозначение диаграммы деятельности — дорожка для плавания и перегородка&lt;/figcaption&gt;
  &lt;/figure&gt;

</content></entry><entry><id>imagine_ksu:Sinhronnoe-i-asinhronnoe-vzaimodejstvie-12-04</id><link rel="alternate" type="text/html" href="https://teletype.in/@imagine_ksu/Sinhronnoe-i-asinhronnoe-vzaimodejstvie-12-04?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=imagine_ksu"></link><title>Синхронное и асинхронное взаимодействие</title><published>2023-12-25T19:26:44.952Z</published><updated>2023-12-25T19:29:34.315Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img4.teletype.in/files/73/c7/73c73031-ad53-4330-975f-0b331b966e56.png"></media:thumbnail><category term="analitika" label="Аналитика"></category><summary type="html">&lt;img src=&quot;https://img2.teletype.in/files/95/4e/954e3082-9ec3-4fc9-b56f-a1faf491c2ec.png&quot;&gt;Синхронное и асинхронное взаимодействие систем являются двумя различными подходами к обмену данными и выполнению запросов. Оба подхода имеют свои плюсы и минусы, и выбор подхода зависит от конкретных требований бизнес-процесса и характеристик системы.</summary><content type="html">
  &lt;p id=&quot;See9&quot;&gt;Синхронное и асинхронное взаимодействие систем являются двумя различными подходами к обмену данными и выполнению запросов. Оба подхода имеют свои плюсы и минусы, и выбор подхода зависит от конкретных требований бизнес-процесса и характеристик системы.&lt;/p&gt;
  &lt;p id=&quot;SyRB&quot;&gt;Картинка не моя, но она прекрасна:&lt;/p&gt;
  &lt;figure id=&quot;bjmC&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/95/4e/954e3082-9ec3-4fc9-b56f-a1faf491c2ec.png&quot; width=&quot;650&quot; /&gt;
  &lt;/figure&gt;
  &lt;h3 id=&quot;Синхронное-взаимодействие&quot;&gt;Синхронное взаимодействие&lt;/h3&gt;
  &lt;p id=&quot;6B7q&quot;&gt;В синхронном взаимодействии клиентское приложение ожидает ответа от вызываемой системы перед продолжением своей работы. Это означает, что клиентский UI блокируется и ожидает ответа, прежде чем перейти к следующему шагу.&lt;/p&gt;
  &lt;p id=&quot;ubig&quot;&gt;Плюсы синхронного взаимодействия:&lt;/p&gt;
  &lt;ul id=&quot;OO9c&quot;&gt;
    &lt;li id=&quot;VR65&quot;&gt;Простота. Синхронное взаимодействие проще в реализации и отладке.&lt;/li&gt;
    &lt;li id=&quot;32Tv&quot;&gt;Прозрачность. Синхронное взаимодействие позволяет легко отслеживать и управлять последовательностью выполнения операций.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;vv0Q&quot;&gt;Минусы синхронного взаимодействия:&lt;/p&gt;
  &lt;ul id=&quot;6jAu&quot;&gt;
    &lt;li id=&quot;7Bzo&quot;&gt;Зависимость от доступности. Если вызываемый сервис недоступен или работает медленно, это может привести к задержкам и блокировкам в клиентском интерфейсе.&lt;/li&gt;
    &lt;li id=&quot;1NyL&quot;&gt;Узкое место. Если синхронные вызовы выполняются последовательно, это может стать узким местом производительности, что является критичным для высоконагруженных систем&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;p1Qa&quot;&gt;Пример использования. Приложение электронной коммерции может синхронно вызывать 1С для проверки наличия товара перед оформлением заказа. Веб приложение блокируется, пока не получит ответ о наличии товара, дальнейшие действие клиента невозможны&lt;/p&gt;
  &lt;h3 id=&quot;Асинхронное-взаимодействие&quot;&gt;Асинхронное взаимодействие&lt;/h3&gt;
  &lt;p id=&quot;wYuh&quot;&gt;В асинхронном взаимодействии система отправляет запрос вызываемому сервису и продолжает свою работу без ожидания ответа. Ответ может быть получен позже, например, через сообщения или коллбэки/постбеки и пр.&lt;/p&gt;
  &lt;p id=&quot;FRpc&quot;&gt;Плюсы асинхронного взаимодействия:&lt;/p&gt;
  &lt;ul id=&quot;Po56&quot;&gt;
    &lt;li id=&quot;VYF4&quot;&gt;Отказоустойчивость. Асинхронное взаимодействие позволяет избежать блокировки клиентского сервиса при недоступности вызываемой системы.&lt;/li&gt;
    &lt;li id=&quot;yxIb&quot;&gt;Масштабируемость. Асинхронное взаимодействие может быть параллельным, что способствует лучшей масштабируемости системы.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;29K2&quot;&gt;Минусы асинхронного взаимодействия:&lt;/p&gt;
  &lt;ul id=&quot;9NBX&quot;&gt;
    &lt;li id=&quot;DeLe&quot;&gt;Сложность. Асинхронное взаимодействие требует более сложной реализации, так как необходимо обрабатывать асинхронные ответы и управлять состоянием запросов.&lt;/li&gt;
    &lt;li id=&quot;8jkA&quot;&gt;Усложнение отладки. Отслеживание и отладка асинхронного взаимодействия может быть сложнее из-за распределения запросов и ответов во времени.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;VS66&quot;&gt;Пример использования. Система обработки платежей может асинхронно отправлять запрос на обработку платежа, а затем получать ответ о статусе платежа через сообщения. Это позволяет клиентскому приложению продолжать работу без ожидания ответа платежного сервиса.&lt;/p&gt;
  &lt;h3 id=&quot;Что-выбрать?&quot;&gt;Что выбрать?&lt;/h3&gt;
  &lt;p id=&quot;IHih&quot;&gt;Правильный выбор подхода от следующих факторов:&lt;/p&gt;
  &lt;ul id=&quot;2QU6&quot;&gt;
    &lt;li id=&quot;htvu&quot;&gt;Время отклика. Если требуется мгновенный отклик и задержки недопустимы, синхронное взаимодействие может быть предпочтительным.&lt;/li&gt;
    &lt;li id=&quot;2Wn7&quot;&gt;Надежность. Если надежность и отказоустойчивость важны (например для погрузки данных из мастер-системы в приложение), асинхронное взаимодействие может быть предпочтительным, так как избегает блокировок и позволяет более гибко обрабатывать ошибки и отказы.&lt;/li&gt;
    &lt;li id=&quot;96DI&quot;&gt;Производительность. Если система требует высокой производительности и параллельной обработки запросов, асинхронное взаимодействие может быть более эффективным.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;4pUD&quot;&gt;Иногда комбинация синхронного и асинхронного взаимодействия может быть наиболее эффективной. Например, мобильное приложение может асинхронно отправлять запрос на выполнение длительной операции и получать уведомление о завершении через сообщения, в то время как продолжает синхронно выполнять другие операции.&lt;/p&gt;

</content></entry></feed>