Блок-схемы

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

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

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

  • Путь задачи – бывает надо рассказать, как выглядит работа с задачами в твоей команде. Чтобы это было проще объяснить другим своим коллегам, тебе может помочь блок-схема, которая описывает "начало" работы над задачей, варианты ее продвижения, а так же состояния, которым она подвержена;
  • Алгоритм – еще в школе я рисовал блок-схемы того, как работает тот или иной алгоритм до того, как начинал его имплементировать в коде. Со всеми циклами и ветвлениями описывал алгоритм работы "программы", которую собирался писать – ты не поверишь, но это до сих пор работает! Тебе просто легче становится писать код;
  • Бизнес-процесс или пользовательский сценарий – описание конкретного пути пользователя при взаимодействии с твоим продуктом. Эта информация становится полезной сразу же, т.к. позволяет оценить задействованные в данном процессе "сервисы" и "компоненты", а так же является основой для решения вопросов мониторинга этого процесса на каждом его участке;
  • Онбординг – помимо описания самого процесса онбординга, любые произведенные блок-схемы позволяют твоему новому коллеге быстрее и легче влиться в новую для него среду;
  • Документирование – дополнение обычного текста документации наглядной блок-схемой крайне облегчает ее восприятие. Прочитать и осознать всю логику из 50 пунктов разной вложенности может быть сильно сложнее, чем посмотреть на блок-схему из 20-30 блоков;
  • Коммуникация – обсудить с коллегами из другой команды точку взаимодействия, это всегда прекрасно. Однако, если вы ее не просто обсудите, но и зафиксируете в виде блок-схемы, с описанием "артефактов" и "условий", то вам будет сильно легче понимать друг друга, ведь текст каждый может интерпретировать по своему.

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

  • BPMN (Business Process Model and Notation) – стандарт моделирования бизнес-процессов, будет тебе полезен, если ты целишься в лидерские позиции, планируешь управлять людьми. Позволяет общаться с любым бизнесом на одном языке;
  • UML (Unified Modeling Language) – нотация, которая чаще всего используется в программировании и ООП. Сильно упростит общение с разработчиками из разных сфер/направлений;
  • Petri Nets – достаточно сложная нотация, которая применяется для моделирования систем с параллельными и распределенными процессами. Вдруг тебе придется с умными учеными взаимодействовать.

Сколько "объектов" на самой большой блок-схеме тебе приходилось размещать? А какие задачи приходилось решать с использованием блок-схем?

@jtprogru_channel @jtprogru_chat

#блоксхемы #basics #заметкинаполях