Pavel
Вот когда у тебя начинается кровавый энтерпрайз, датацентры, виртуализация, мейнфреймы...
Max
Max
Сделайте ка для моей команды дата центр =) Мы историю будем разрабатывать
Pavel
Ну датацентр для разработки - это перебор :)
Pavel
такой маленький датацентрик, датацентричек, на два-три серверочка - норм :)
Max
И да, прод обслуживает целая сервис-служба из 20 человек. Вот для нашей команды такую же наймите..
Max
Или вот разрабатываем мы устройство мониторинга электростанции. Дайте нам и электростанцию =)
Max
Скажу даже так. Я никогда не видел чтобы локальный env команды разработки на 100% повторял бы прод
Max
В лучшем случае это был staging повторяющий прод, но тоже один на всех
Pavel
воу, так я про него и говорю :)
Pavel
misunderstanding, сорри. Я забыл, что еще остались те, кто для _команды_ отдельное коружение делают :)
Pavel
(глумление)
Max
Но он один, как и прод. А команд много. И каждому разработчику нужно свое состояние env
Pavel
Зачем?
Max
Чтобы разрабатывать
Pavel
Повторюсь, зачем ему, чтобы разрабатывать, отдельное _состояние_ env
Pavel
Какая цель?
Max
Вот есть вышеупомянутые 7 команд и их беклог на три части разбит. Всё ок. Каждая группа свою часть продукта разрабатывает. Но на рынке это один продукт. Есть прод и есть staging.
Pavel
Вот, все правильно
Pavel
Из этого, кстати, ненавязчиво следует, что командам отдельное окружение вредит :)
Max
Да, и первая группа вводит staging в состояние нужное ей. В этом состоянии энвом не могут пользоваться остальные группы.
Pavel
А продукт по результатам как работать будет?:)
Max
Не понял..
Max
Группа 1 работает над изолированной частью 1, но для работы этой группе нужны все остальные части продукта. Причём все части в нужном состоянии
Max
Если на энве будут работать сразу две группы, пусть и в разных углах, то используя shared ресурсы они вносят смуту друг другу
Max
Чтобы их полностью развязать нужно каждой выдать по полной копии системы
Pavel
Макс, а продукт потом как будет работать, тоже смуту внося?
Max
Нет, когда продуктом будут пользоваться никто его изменять на ходу не будет
Max
Если это система с outage SLA в 50% то и пофиг =)) а если 99.99%?
Pavel
И вот мы плавно подошли к agile architecture :)
Pavel
И "почему мкросервисы не только бесполезный модный тренд, но и жизненная необходимость" :)
Pavel
(опять глумлюсь)
Max
И как микросервисность снимает проблему? (к слову, я в своём примере также подразумеваю микросервисную архитектуру)
Pavel
Если серьезно, то sharted staging тоже требует от команд умения с ним обращаться.
Pavel
Т.е. если ты комитишь и твой код после CI не работает, потмоу что кто-то еще что-то поломал... Ну, печаль, договаривайтесь.
Pavel
Потому что без "договаривайтесь" совместной работы толпы команд не будет никак.
Max
Ха, мы выше говорили что более 15 человек договориться не могут и заставили их разойтись по отдельным беклогам. А тут убеждаем 500 человек работать на одном shared resource..
Pavel
Ну да.
Max
Вот и давайте вернёмся к вопросу беклога =)) почему энв обязан быть один и беклогов много?
Max
Минута пошла.. =)))
Pavel
Pavel
Элементы бэклога, если с ними все в порядке, починяются правилу INVEST. Т.е. разделение большого бэклога на много маленьких из за I консистентность продукта не рарушит.
Pavel
Но если продукт, конечный. должен выполняться в едином окружении, то почему его разработка не должна вестись в едином коружении?
Max
Ну так и если мы найдём волшебный способ научить 500 человек договариваться об использовании одним ресурсом. То почему продуктом они смогут пользоваться, а беклогом нет?
Pavel
Гм, потому что "волшебный сопосб научить 500 человек пользоваться одним ресурсом" уже есть, а с бэклогом пока нету :)
Max
Беклог нельзя рассматривать как продукт?
Pavel
Бэклог НУЖНО рассматривать, как продукт.
Max
там же даже программировать не надо =)
Pavel
Но в хорошем бэклоге элементы - independent.
Pavel
Т.е. нет технической необходимости устраивать дурдом с system team, которая будет поддерживать среду разработки
Pavel
(это если говорить про масштабы в 100+ разработчиков)
Pavel
Т.е. смотри, все команды МОГУТ работать из единого бэклога. Но для этого их придется обеспечить едиными инструментами, правилами, скиллами и метриками.
Pavel
Сделать огромную скрам-команду, по сути. И потом следить, чтобы эта огромная скрам-команда не начала разбиваться на суб-команды и расползаться по углам. Следить за разрешением зависимостей. Следить за суб-оптимизацией и ее влиянием на рабочий процесс. За сохранением кросс-функциональности (потому что первая реакция при достижении группой определенного размера - расползить по стайкам в соответствии с профессией/технологией)
Pavel
В общем, придется быть МЕНЕДЖЕРОМ :)
Pavel
Теперь обратная ситуация: у тебя есть сборная солянка DEV энвайроментов.
Pavel
Приближается РЕЛИЗ
Pavel
(когда система состоит из большого количества кусочков, релизов не бывает, бывают РЕЛИЗЫ)
Pavel
Вот зачем создавать себе ОГРОМНЫЙ оверхед в момент, когда у тебя ГАРАНТИРОВАННО появятся конфликтующие куски функционала, несовместимые окружения и т.п.?
Pavel
Может лучше сразу все команды поставить в условия, когда каждый коммит (ну ок, хотя бы каждый спринт) надо интегрироваться
Pavel
Чтоб это было частью definition of done
Pavel
Внутри спринта, например, ты жеж не поощряешь сидение 8 дней из 10 в feature branch и лехорадочное тестирование в самом конце?
Pavel
Так зачем такое поощрять на уровне межкомандного взаимодействия?
Yuriy
Pavel
Внезапное, но не помню, обсуждали-ли тут.
Pavel
ВОпрос с интервью: если бы вы могли оставить только один скрам-ивент, то какой б вы оставили? И почему.
Pavel
Встречается на каждом буквально первом интервью :)
Yuriy
Pavel
Ревью тоже неплохо, имхо
Pavel
Пленниг, впрочем, тоже покатит.
Max
Я бы дейли оставил =) потому как это спринт в миниатюре
Max
Хотя быть может это вопрос с подвохом и нужно встать и гордо ударить себя пяткой в грудь и сказать что в Скраме все события важны =)
Pavel
Да фиг их знает.
Pavel
На инетрвью не поймешь, из какого списка вопросов для интервью вопрос взят :)
Max
=))))
Aleksey
https://www.youtube.com/watch?v=MUOv8ksL9zk
Max
Мне в интервью скрам-мастера кажется самым честным и результативным вариант полного погружения - когда просят событие провести. Как у Дениса в статье.
Pavel
Да, это хороший вариант. Главное чтоб сбытия выбирали... адекватно
Pavel
А то "провести ретроспективу" оно какбэ... Не всегда так стоит делать, мягко говоря
Pavel
Планнинг хорошо