Мини-пьеса: "Хаос на планировании"
Персонажи:
💼 CEO
👷 Архитектор ПО
💻 Backend-разработчик
📱 Mobile-разработчик
📊 Системный аналитик
🛠 DevOps
📈 Продакт-менеджер
📅 Проджект-менеджер
📋 Скрам-мастер
🎨 Дизайнер
Место действия: Конференц-зал в офисе.
Описание сцены: В комнате стоит большой стол, вокруг которого сидят персонажи. На стене висит белая доска с нарисованными схемами и диаграммами. Комната выглядит организованной и профессиональной.
Ремарки: CEO стоит у стола, обращаясь к собравшимся. Архитектор ПО стоит у белой доски, готовясь объяснять.
Диалог:
💼 CEO: Так, ребята, у нас новая задача — сделать мобильное приложение для клиентов. Надо сделать быстро, круто и дешево. Какие мысли?
👷 Архитектор ПО (подходя к доске, начинает рисовать схемы): Ну, тут всё зависит от контекста. Нам нужно определить Bounded Context, потом рассмотреть Domain-Driven Design на сессии Event Storming. От этого зависит, какие технологии будем использовать и как будем масштабироваться. И, конечно, не забываем про ubiquitous language, чтобы всё это потом можно было поддерживать без слёз и нервных срывов. И да, микросервисы — это наше всё!
💻 Backend-разработчик (поднимает бровь): Мобильное приложение? Надо на Swift для iOS или на Kotlin для Android писать. А если сразу для обеих платформ, то лучше Flutter или React Native.
📱 Mobile-разработчик (иронично): Эй, да у нас новый мобильный разработчик!
💼 CEO (морщит лоб): Э-э, подождите, что за свифты и котлины? Давайте начнём с чего-то понятного. Например, как мы серверную часть организуем?
📊 Системный аналитик (поднимает руку, берет слово): Ну, серверная часть — это бэкенд. Тут у нас есть разные варианты. Я бы предложил Python. Django или Flask отлично подойдут для нашего бэкенда. Они позволяют быстро разработать и масштабировать приложение.
💻 Backend-разработчик (с насмешкой): Ты бы еще PHP предложил, умник.
🛠 DevOps (энергично): Эй, ребята, я тут подумал, может, Kubernetes поднимем? Все крутые ребята сейчас на Кубе сидят!
👷 Архитектор ПО (воодушевленно): Kubernetes? Конечно! Это как раз то, что нужно для наших микросервисов. Всё, конечно, зависит от контекста, и мы пока не можем определить модель предметной области, но микросервисы — это то, что нам нужно!
💼 CEO (озадаченно): А, Python. Это, типа, змея? Или программа? Ладно, не важно. Что с базой данных?
👷 Архитектор ПО (рисуя схемы на доске): Для базы данных я бы предложил PostgreSQL, но опять же, это зависит от контекста. Нам нужно понять, какие данные будут храниться, какой у них жизненный цикл. Это всё зависит от контекста доменной модели.
🛠 DevOps (перебивая): PostgreSQL? А может, лучше MongoDB? Я тут недавно кластер поднял, зашардировался!
👷 Архитектор ПО (с легким раздражением): MongoDB? Это зависит от контекста. Если у нас будут сложные запросы и транзакции, то реляционная база лучше. Но опять же, зависит от контекста.
💻 Backend-разработчик (с гордостью): PostgreSQL — это круто. Я даже знаю, как сделать так, чтобы она работала быстро. Ну, почти, читал месяц назад на Хабре.
📈 Продакт-менеджер (деловито): Использование проверенных технологий позволяет быстрее разрабатывать и легче поддерживать приложение в будущем. Это сэкономит время и деньги на долгосрочной перспективе.
📅 Проджект-менеджер (серьезно): Так, давайте согласуем план и сроки. Нам нужно четкое расписание задач и контрольные точки.
📋 Скрам-мастер (вдохновенно): Ага, ставим всё в Jira, делаем ежедневные стендапы, и не забываем про спринт-ревью. Важно, чтобы все шли по процессу.
💻 Backend-разработчик (раздраженно): Я тебе ща отчитаюсь сразу за весь период! Что я делал вчера? Работал! Что я делаю сегодня? Работаю. Какие у меня блокеры? Твой гребаный стендап!
📋 Скрам-мастер (спокойно): Воу-воу, здесь требуется фасилитация...
📱 Mobile-разработчик (раздраженно): А как насчёт дизайна? Мне нужно знать, какие экраны делать, какие фичи приоритизировать. И, кстати, у меня тут пару идей для интерфейса.
Описание сцены: Атмосфера в комнате становится напряженной, на столе начинают появляться разбросанные бумаги и ноутбуки. Архитектор ПО продолжает рисовать на доске, игнорируя происходящее.
🎨 Дизайнер (саркастично): О, у тебя идеи для интерфейса? Прекрасно. Мы уже обожглись на твоих гениальных идеях в прошлый раз, помнишь? Давай лучше это сделает специально обученный человек, чтобы потом не пришлось всё переделывать.
🛠 DevOps (поднимая руку): А я вот думаю, может, нам Helm использовать для деплоя?
👷 Архитектор ПО (с насмешкой): Helm? Ты из какого года? 2020? Нам нужно выбрать инструмент, который не сломает нам к чертям деплой в один прекрасный момент. Предлагаю FluxCD.
💼 CEO (пытаясь успокоить всех): Окей, звучит вроде неплохо. А что дальше?
👷 Архитектор ПО (продолжает рисовать): Надо подумать про безопасность, резервное копирование, мониторинг и логи. И не забудьте про тестирование. Хорошо бы настроить CI/CD, чтобы всё это автоматически деплоилось. Но опять же, всё зависит от контекста.
🛠 DevOps (воодушевленно): Да, да, CI/CD! Jenkins, всё настроим. Я уже набросал пару пайплайнов, будет супер!
💻 Backend-разработчик (с сомнением): Jenkins, ну…такое… Gitlab лучше!
💼 CEO (напряженно): Ребята, время — деньги. Давайте делать быстро и без лишнего геморроя. Клиенты хотят демку уже завтра. Может, просто наймём ещё пару разработчиков и ускоримся?
👷 Архитектор ПО (спокойно): Девять женщин не родят ребенка за месяц. И вообще помним про законы Брукса, Мерфи, Конвея и, конечно, Паркинсона. Лучше сразу сделать нормальную архитектуру, чтобы потом не переделывать. Но это тоже зависит от контекста.
💼 CEO (вздыхая): Ок, молчу…
📊 Системный аналитик (деловито): Надо ещё проработать все требования и сценарии. Я составлю спецификацию и уточню детали у заказчиков.
📈 Продакт-менеджер (энергично): Давайте сделаем минимально жизнеспособный продукт — MVP, так сказать. А потом будем его улучшать. Главное — запустить быстро, пока клиенты не передумали.
📱 Mobile-разработчик (с сарказмом): Кстати, а кто вообще разрабатывать его будет? А то я тут на трёх проектах сразу сижу.
📅 Проджект-менеджер (взволнованно): Да! У нас уже есть куча задач в бэклоге, а мы только начинаем. Как же это всё успеем?
📋 Скрам-мастер (вдохновенно): Да, главное — не забывать о ретроспективах. Нужно анализировать, что идёт не так. А то опять будем учиться на своих ошибках.
💼 CEO (раздраженно): Ретроспективы? У нас времени нет на ваши философские разговоры! Нужно всё сделать быстро и дешево!
📋 Скрам-мастер (спокойно): Ну, ретро — это просто встреча, где мы обсуждаем, что работало хорошо, а что можно улучшить. Ну, типа командный брифинг.
💼 CEO (с недоумением): А ты вообще кто?
📋 Скрам-мастер (уверенно): Я скрам-мастер, слежу, чтобы процесс шёл гладко и все были в курсе своих задач.
💼 CEO (надеясь на лучшее): Окей, надеюсь, это не займет кучу времени. Вперёд, ребята, время — деньги!
🎨 Дизайнер (раздраженно): И не забудьте согласовать дизайн, чтобы я потом не переделывал сто раз!
📱 Mobile-разработчик(с сарказмом): Ты ещё будешь мне про дизайн рассказывать? После того, как я неделю пытался твои "гениальные" идеи воплотить?
🛠 DevOps (раздраженно): Кстати, кто будет админить наш Kubernetes-кластер?
👷 Архитектор ПО (с недоумением): А ты здесь зачем?
🛠 DevOps (пожимая плечами): Нууу, я больше Dev, чем Ops. Ну ок, раскатаю kubeadm, но не hardway в любом случае да…
💻 Backend-разработчик (с раздражением): Вообще, зачем нам этот Kubernetes?
👷 Архитектор ПО (уверенно): Всё зависит от контекста! Но микросервисы и Kubernetes — это то, что нам нужно!
📊 Системный аналитик (взволнованно): Нам нужно уточнить все нефункциональные требования, а то опять будет как в прошлый раз, когда пол проекта переделывали из-за ваших экспериментов.
💼 CEO (крича): Ребята, хватит! Время — деньги!
Начинается хаос: все начинают кричать друг на друга, аргументы превращаются в крики.
📱 Mobile-разработчик (раздраженно): Ты вообще понимаешь, что я тут один за троих на трёх проектах пашу? Только платят мне, внезапно, не 3x!
🎨 Дизайнер (крича): А я тут, что, отдыхаю? Ночами твою сраную верстку тестирую, и смотрю как ты в глаза долбился и не видишь разницу между отступом 10px и 100!
🛠 DevOps (крича): Эй, хватит тут про дизайн спорить, главное — это деплой, стабильность и масштабируемость!
👷 Архитектор ПО (крича): Всё зависит от контекста! Но без Kubernetes и микросервисов у нас ничего не получится!
💻 Backend-разработчик (крича): Да всем плевать на твои микросервисы! Главное, чтобы работало!
📋 Скрам-мастер (крича): Ретро! Нам нужно провести ретроспективу, чтобы понять, что идёт не так! И пригласим фасилитатора!
Занавес
Автор BEARlogin https://t.me/bearlogin_dev
Мой канал с dev хокку https://t.me/+WJwUBU549m81YTJi