Код написан, всё успешно протестировано, фича на проде, а бизнес в шоке... Знакомо?
Выявить, проанализировать, уточнить, согласовать требования, критически посмотреть на проблему, найти риски
Баги от нас стоят дороже всего
Антипаттерны аналитики
Существуют на словах, "очевидно же"
В итоге на прод попадает функционал, где клиент-иностранец может получить налоговый вычет
После релиза менеджер залетает с ноги и возмущается, почему не учли то-то.
А это нигде не зафиксировано
Не продуман процесс целиком, нет e2e описания, как должно работать
В итоге ни у кого нет понимания общей картины. Даже у аналитика
Один из самых частых и дорогих видов багов
Например, не учесть, что отчество может отсутствовать, или что имя клиента может быть двойным
Никто, кроме аналитика, ничего не поймёт
Вообще, слово "доверять" не про аналитиков :)
Руководствуемся критическим мышлением, слепо доверять мы не можем
Например, при описании интеграции с внешним сервисом нельзя взять и скопипастить в своё ТЗ пример запроса и ответа. Нужно проверять вручную
В той самой статье про Васю всё сказано, добавить нечего
Давайте добавим краудсорсинга в комментариях к этому посту — обменяемся своими факапами (админ первый).
Соберём всё и выложим продолжение
P.S. Если формат зайдёт, будем практивать и дальше.
Примерно так:
мы даём начало
Ну и как всегда — выложим в базу знаний по системному анализу
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥54👍27❤13👏3
Слоистая архитектура — подход, при котором система разделяется на логические слои
Базовые принципы
Каждый слой решает 1 категорию задач:
Слой не должен брать на себя задачи вне его зоны ответственности
Зависимости направлены сверху вниз:
Снижает связанность и упрощает изменение системы
Контракт слоя — формальное описание:
Изменения в одном слое не должны затрагивать другие, если контракт сохранён
Пример:
Типовая структура
Включает:
Не должно быть:
Включает:
Отвечает на вопрос «что именно нужно сделать», но не содержит бизнес-правил
Включает:
Ключевой слой, ради которого существует система
Не должно быть:
Включает:
Типовой поток запроса
1. Presentation Layer принимает запрос
2. Application Layer запускает сценарий
3. Domain Layer выполняет бизнес-логику
4. Infrastructure Layer читает или сохраняет данные
5. Результат возвращается вверх
Другие слои
Это не обязательные слои
Их выделяют, если появляется отдельная ответственность
Лишние слои усложняют систему
Когда использовать
1. Слоистая архитектура приложений: как обеспечить поддерживаемость доменного слоя
2. Трехслойная и трехзвенная: введение в архитектуру ИС для аналитика
3. Слоистая архитектура
4. Архитектура приложения: что это, какие есть виды и как проектировать
📚 Книги
1. Архитектура ПО. Руководство для обучающихся архитектурному мышлению - Ганди Раджу, Ричардс Марк, Форд Нил
2. Идеальная архитектура. Ведущие специалисты о красоте программных архитектур - Диомидис Спинеллис, Георгиос Гусиос
3. Архитектура программного обеспечения на практике - Л. Басс, П. Клементс, Р. Кацман
4. Александр Швец. Погружение в Паттерны Проектирования
#архитектура
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥20❤9👍4👏1
Постновогодняя распродажа 🎄
Если откладывали покупку Базы знаний по системному анализу — вот он, знак.
🔥 ВЕЧНЫЙ доступ за 3 000 ₽ вместо 5 000 ₽
⏰ Акция всего 3 дня — до 10:00 22 января (МСК)
Если думали, покупать ли, то сейчас самое время
Если откладывали покупку Базы знаний по системному анализу — вот он, знак.
🔥 ВЕЧНЫЙ доступ за 3 000 ₽ вместо 5 000 ₽
⏰ Акция всего 3 дня — до 10:00 22 января (МСК)
Если думали, покупать ли, то сейчас самое время
Telegram
Системный Аналитик
🔹 БАЗА ЗНАНИЙ ПО СИСТЕМНОМУ АНАЛИЗУ 🚀
Все посты из канала за всё время разложены по полочкам в едином месте — базе знаний 🤓
Наша цель — сделать кладезь знаний системного аналитика 🧠
Какие плюшки вас ждут:
🗂 Все знания в едином месте: кратко, ёмко, без…
Все посты из канала за всё время разложены по полочкам в едином месте — базе знаний 🤓
Наша цель — сделать кладезь знаний системного аналитика 🧠
Какие плюшки вас ждут:
🗂 Все знания в едином месте: кратко, ёмко, без…
👍16🔥8⚡4💩4❤1
Системный Аналитик pinned «Постновогодняя распродажа 🎄 Если откладывали покупку Базы знаний по системному анализу — вот он, знак. 🔥 ВЕЧНЫЙ доступ за 3 000 ₽ вместо 5 000 ₽ ⏰ Акция всего 3 дня — до 10:00 22 января (МСК) Если думали, покупать ли, то сейчас самое время»
Деплой (deployment) / развертывание — процесс доставки новой версии приложения в продакшн и её ввода в эксплуатацию.
Стратегия деплоя определяет
- как именно новая версия попадает в прод,
- какая часть пользователей её увидит
- что произойдёт в случае ошибки
Как работает
1. Старая версия приложения полностью останавливается
2. Обновляется код и конфигурации
3. Запуск новой версии
Плюсы и минусы
Где применяется
Как работает
- новая версия разворачивается постепенно, по экземплярам (ноды, поды, контейнеры) приложения
- балансировщик исключает обновляемые узлы из трафика
- без полной остановки сервиса
Где применяется
Используются идентичные production-окружения:
-
Blue — текущая версия-
Green — новая версияПроцесс деплоя:
1. Разворачивание новой версии в
Green2. Проверка работоспособности
3. Переключение всего трафика с
Blue на Green4. Среда
Blue становится standbyBlueГде применяется
- новая версия выкатывается на небольшую часть пользователей
- доля увеличивается поэтапно
Применяется для высоконагруженных / критически важных приложений
- новая версия развертывается параллельно со старой
- пользовательские запросы дублируются и отправляются в новую версию, но ответы от новой версии игнорируются
Применение
Тестирование новой версии под реальной нагрузкой, но без риска для пользователей
После анализа логов и метрик
теневой версии выбирается одна из стратегий (Blue-Green, Canary)Это не стратегия деплоя, а техника, которая усиливает другие стратегии
Новая функциональность «завернута» в оператор (флаг), который можно включать/выключать без деплоя (также только для группы пользователей)
Цель — не безопасный деплой, а валидация бизнес-гипотез (какой вариант интерфейса дает большую конверсию)
Часто это следующий шаг после успешного Canary-релиза, когда нужно принять решение оставить новую версию или откатить
1. Стратегии деплоя в Kubernetes
2. Стратегии развертывания (деплоя) и стратегии кэширования
3. 6 способов деплоя веб-приложений
4. Deploy (деплой)
5. Стратегии деплоя: как мы пришли к использованию Argo CD
📚 Книги
1. Грокаем Continuous Delivery - У. Кристи
2. Continuous delivery. Практика непрерывных апдейтов - Э.Вольф
3. Руководство по DevOps - Д. Ким, П. Дебус, Д.Уиллис, Д.Хамбл С.Д.
#инфраструктура
Please open Telegram to view this post
VIEW IN TELEGRAM
❤46👍8🔥2👏1
Все зависит от статуса проекта, но вот примерный план:
Ключевая задача на входе не «написать документацию»,
а собрать, структурировать и зафиксировать текущую инфу о системе:
С чего начинать
Где хранится информация: составить список всех мест
Формальные:
Неформальные:
Определение границ системы
Это основа будущей контекстной диаграммы (C4)
Пример структуры проекта
Важно для масштабируемости
Пример верхнеуровневой структуры
/Проект
/00_Общее
/01_Бизнес-аналитика
/02_Системная_аналитика
/03_Архитектура
/04_Интеграции
/05_Данные
/06_API
/07_НФТ
/08_Решения_и_долги
Подробнее по разделам
Дать понимание проекта за короткий срок
Описание проекта (1–2 страницы):
Фиксирует что и зачем делает система, без привязки к реализации
Пример структуры
/01_Бизнес-аналитика
/01_Цели_и_метрики
/02_Бизнес-процессы
/03_Роли_и_пользователи
/04_Бизнес-правила
/05_Сценарии_использования
Бизнес-процессы:
Use Cases / User Stories: без технических деталей
Как именно система работает сейчас
Пример структуры
/02_Системная_аналитика
/01_Функциональные_требования
/02_Сценарии_и_алгоритмы
/03_Состояния_и_статусы
/04_Валидации_и_ошибки
Что важно
Для каждой интеграции:
Как вести документацию дальше
Практика
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥32❤9👍6
Наш новый канал — Библиотека ИТ-промптов. Здесь будут только полезные промтпы для повседневных задач IT-шников.
Подписывайтесь!
Подписывайтесь!
Telegram
Библиотека IT-промптов
Промпты для атйишников
🔥9❤3👍3
Модель Кано — метод классификации и приоритизации функций продукта на основе их влияния на удовлетворенность пользователей
Нужна, чтобы отличать «обязательные» функции от «приятных бонусов», грамотно распределять ресурсы команды
Где используется
В продуктовой и маркетинговой аналитике, управлении требованиями и разработке:
Типичные объекты анализа:
Рассматриваются два независимых показателя:
Обязательные характеристики не повышают удовлетворённость
Но их отсутствие приводит к сильному негативу
Категории модели Кано
Характеристики, которые пользователь считает само собой разумеющимися.
Характеристики, для которых действует прямая зависимость: чем лучше реализовано, тем выше удовлетворённость
Характеристики, которых пользователь не ожидает, но которые вызывают положительные эмоции
Характеристики, которые не влияют ни на удовлетворённость, ни на неудовлетворённость.
Характеристики, наличие которых ухудшает восприятие продукта
Пользователь предпочёл бы их отсутствие
Общий процесс анализа
1. Определить объект анализа.
2. Сформировать список характеристик.
3. Разработать и провести опрос.
5. Проанализировать результаты с помощью вычислений и матрицы Кано
6. Использовать их для принятия решений.
Пример
Формирование backlog с помощью модели Кано
Результаты анализа используются для приоритизации требований
Все характеристики категории
Must-be включаются в backlog обязательноИмеют высокий приоритет независимо от пользовательского «восторга»
Характеристики категории
One-dimensional приоритизируются по:Эти требования чаще всего становятся основой roadmap
Характеристики категории
Attractive:Indifferent исключаются / откладываются из backlogReverse удаляются или пересматриваютсяОграничения модели Кано
1. Модель Кано. Практическое руководство по приоритизации фич
2. Объяснение модели Кано: анализ и примеры
3. Объяснение модели Кано
4. Что такое модель Кано: как построить на примере
#требования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20❤10🔥5👏2
Forwarded from Библиотека IT-промптов
Собрали лайфхаки, которые повысят качество ответов любой нейросети.
Прежде чем отвечать, оцени уровень неопределённости своего ответа. Если он превышает 0.1, задай мне уточняющие вопросы до тех пор, пока неопределённость не снизится до 0.1 или ниже.
Промпт ломает привычную схему: не «вопрос → ответ», а «вопрос → уточнение → точный ответ».
Нейронка будет:
Вот универсальный шаблон:
Роль + Цель + Контекст + Ограничения + Формат вывода + Уровень качества.
Подробнее писали здесь
Роль: Ты - [тренер/редактор/аналитик].
Цель: достичь [конкретного результата].
Контекст: Вот что тебе нужно знать:
- [предыстория]
- [аудитория]
- [что у меня уже есть]
Ограничения:
- Не [добавляй новые предположения / добавляй дополнительные разделы].
- Если чего-то не хватает, [задай до 3 вопросов] ИЛИ [четко сформулируй предположения].
- Ограничься [X предложениями] или [Y пунктами].
Формат вывода:
- Раздел 1: [краткий ответ]
- Раздел 2: [маркированный список/таблица/контрольный список]
- Раздел 3: [следующие шаги]
Уровень качества:
- Используй простой язык.
- Будь конкретным и действенным.
- Если неясно, скажи, что от чего зависит.
Перед тем, как поручить нейронке задачу, попробуйте попросить её улучшить ваш промпт:
Ты промпт-инженер. Напиши профессиональный промпт для запроса ниже:
<ваш запрос>
Так вы получите более точный результат, не потратив время на придумывание идеального промпта. Подробнее здесь
Когда нейронка даст ответ, заставьте её критически проанализировать свой ответ и предложить улучшения.
Проанализируй свой предыдущий ответ. Найди 3 слабых места и предложи более инновационные подходы. Используй критический анализ и добавь неочевидные инсайты.
Так нейронка посмотрит на проблему под другим углом и исправит свои неточности и даже галлюцинации.
Превращаем ИИ в аналитического ассистента, а не просто в генератора текста, за 3 отдельных промпта:
1. Планирование: пишем промпт как в пункте 2 и добавляем в конце:
Составь план решения и перечисли допущения. Не давай ответ сразу
2. Критика и проверка (как в пункте 4):
Проанализируй свой план. Найди 3 слабых места и предложи более инновационные подходы. Используй критический анализ и добавь неочевидные инсайты. В конце предложи улучшенный план
3. Исполнение: только теперь разрешаем нейронке дать ответ
Теперь дай финальный ответ строго по утверждённому плану.
@it_prompt — подписывайтесь, здесь много полезного
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥28❤9👍5
Бесплатный веб «Архитектурные паттерны - на чем сыпятся даже senior'ы (старшие специалисты)» 5 марта в 19:00 мск
— приходи, разберемся какие навыки необходимы системному аналитику для зп 300К и позиции мидл в 2026ом и почему 90% из вас недозарабатывают
Ведущий: сооснователь Академии Системного Анализа СТЕП БАЙ СТЕП Дмитрий Колосов - практикующий специалист, техлид кластера в крупном холдинге онлайн коммерции
Для кого вебинар: для тех, кто хочет повышения или новый сочный оффер (предложение) и устал сидеть в клетке новичка со скучными задачами, размытой сферой ответственности, переработками, маленькой ЗП и страхом потерять работу
Что ты получишь:
1. Поймешь на реальном кейсе, какие архитектурные решения стоят 300К+ в месяц
2. Узнаешь, на каких нюансах владения паттернами подлавливают на интервью даже опытных аналитиков
3. Научишься выбирать паттерны так, чтобы система была отказоустойчивой, а твои решения — неоспоримыми для разработчиков
4. Закрепишь теорию на практике: решишь каверзную задачу в прямом эфире и разберешь ошибки в проектировании
5. Увидишь на примерах учеников, как знание архитектурных паттернов помогает забирать предложения на 300К+ и аргументировать свою стоимость
Дата: 5 марта в 19:00 мск
Переходи по ссылке и регистрируйся😎
Erid: 2SDnjcRRnCR
Название: ООО "СТЕП БАЙ СТЕП"
ИНН: 0800013217
— приходи, разберемся какие навыки необходимы системному аналитику для зп 300К и позиции мидл в 2026ом и почему 90% из вас недозарабатывают
Ведущий: сооснователь Академии Системного Анализа СТЕП БАЙ СТЕП Дмитрий Колосов - практикующий специалист, техлид кластера в крупном холдинге онлайн коммерции
Для кого вебинар: для тех, кто хочет повышения или новый сочный оффер (предложение) и устал сидеть в клетке новичка со скучными задачами, размытой сферой ответственности, переработками, маленькой ЗП и страхом потерять работу
Что ты получишь:
1. Поймешь на реальном кейсе, какие архитектурные решения стоят 300К+ в месяц
2. Узнаешь, на каких нюансах владения паттернами подлавливают на интервью даже опытных аналитиков
3. Научишься выбирать паттерны так, чтобы система была отказоустойчивой, а твои решения — неоспоримыми для разработчиков
4. Закрепишь теорию на практике: решишь каверзную задачу в прямом эфире и разберешь ошибки в проектировании
5. Увидишь на примерах учеников, как знание архитектурных паттернов помогает забирать предложения на 300К+ и аргументировать свою стоимость
Дата: 5 марта в 19:00 мск
Переходи по ссылке и регистрируйся
Erid: 2SDnjcRRnCR
Название: ООО "СТЕП БАЙ СТЕП"
ИНН: 0800013217
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍1👎1🔥1
Правило:
Нельзя резать, не определив границы. Начинать нужно с бизнес-логики и данных, а не с кода
Качественный сервис после распила обладает:
Стратегии
Основана на Domain-Driven Design
1. Анализ предметной области, выделение контекстов Например, где заканчивается работа склада и начинается работа логистики
2. Определить владельцев данных. Н-р, какие таблицы в монолитной БД принадлежат какому контексту
3. Запретить прямой доступ к «чужим» таблицам
4. Выделить API
5. Отдельный деплой
Каталог (товары, цены) и "Заказы" (корзина, оформление). Их можно разделятьЗаказы хранят цену на момент покупки и не зависят от текущей цены каталогаБезопасный способ рефакторинга "на ходу", когда монолит нельзя останавливать
1. Выбрать изолированный use-case
2. Реализовать его как сервис
3. Настроить маршрутизацию
4. Переключить трафик
5. Удалить старую реализацию
Личный кабинет переносится по частям: сначала профиль, затем смена пароля, затем всё остальное. Монолит постепенно очищаетсяНе самостоятельная стратегия, а обязательное условие микросервисов
Каждый сервис владеет собственной БД. Общих таблиц нет. Доступ к данным — только через API
Подходы
1. Определить владельца таблиц
2. Запретить cross-schema JOIN
3. Выделить БД
4. Перевести взаимодействие через API
5. Настроить события при необходимости
Пример
Order Service получает собственную БД. Остальные сервисы работают с заказами только через APIВыносится компонент, создающий нагрузку
1. Найти узкое место (метрики, профилирование)
2. Выделить код
3. Перевести в асинхронный режим
4. Добавить кэширование
Поиск товаров выносится в сервис с собственным Elasticsearch и масштабируется отдельно
Выносится модуль, который меняется чаще остальных, чтобы ускорить релизы
1. Анализ истории коммитов
2. Выделение часто меняющегося модуля
3. Отделение данных
4. API и независимый деплой
Блок
Акции и предложения обновляется ежедневно. Его вынос позволяет деплоить изменения без затрагивания ядра системыЧастые изменения вызваны хаосом требований
1. Шпаргалка по миграции монолита на микросервисы
2. Когда и как переходить с монолита на микросервисы. Предпосылки и общие понятия
3. Архитектура микросервисов: Разрушение монолита
4. Как НЕ надо распиливать монолит
5. Микросервисная архитектура: от монолита к гибкой системе
📚 Книги
Сэм Ньюмен - Создание микросервисов
#архитектура
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18❤10🔥6👏2