Size: a a a

Software Design/Architecture/Zen

2021 February 12

В

Виктор in Software Design/Architecture/Zen
Kirill Antonov
Если в фиче А кто-то реализовал классный ValueObject, который использовали в фиче Б, а выбрали только фичу Б, черипик как-то разрулит это, или мы получим сломанную версию?
нет, не разрулит, это должны выявить тесты
источник

В

Виктор in Software Design/Architecture/Zen
Можно еще уйти от гита в фича флаги, тогда продукт сам сможет включать фичи когда ему удобно
источник

KA

Kirill Antonov in Software Design/Architecture/Zen
Виктор
Можно еще уйти от гита в фича флаги, тогда продукт сам сможет включать фичи когда ему удобно
Я так понимаю, это  концепт, обозначенный выше как "Feature toggle + branch by abstraction"?
источник

DS

Dmitriy Simushev in Software Design/Architecture/Zen
Виктор
Можно еще уйти от гита в фича флаги, тогда продукт сам сможет включать фичи когда ему удобно
не надо уходить от гита
источник

DS

Dmitriy Simushev in Software Design/Architecture/Zen
Kirill Antonov
Я так понимаю, это  концепт, обозначенный выше как "Feature toggle + branch by abstraction"?
ага. ну и TBD как модель ветвления
источник

KA

Kirill Antonov in Software Design/Architecture/Zen
Видел такое давно и мельком, погуглю, спасибо
источник

DS

Dmitriy Simushev in Software Design/Architecture/Zen
только эти штуки суммарно требуют определенной сноровки и инженерной культуры
источник

KA

Kirill Antonov in Software Design/Architecture/Zen
Виктор
Если следовать правилу один комит - одна фича, то можно черипикать их выборочно в релизную ветку из dev
Правильно я понимаю, что код фичи попадет в дев, только когда фича готова, протестирована и всё такое? То есть тут ожидаются солидные порции добавления кода и потенциально такие же солидные мердж конфликты у тех, кто заходит в ветку после тебя, но тоже пилил фичу не на полдня?
источник

В

Виктор in Software Design/Architecture/Zen
Kirill Antonov
Правильно я понимаю, что код фичи попадет в дев, только когда фича готова, протестирована и всё такое? То есть тут ожидаются солидные порции добавления кода и потенциально такие же солидные мердж конфликты у тех, кто заходит в ветку после тебя, но тоже пилил фичу не на полдня?
да, фича в dev после тестов приходит, не очень понял про солидные порции добавления кода и конфликты, можете пояснить?
источник

SB

Sergei Beilin in Software Design/Architecture/Zen
Kirill Antonov
Гайз, вопрос наверное в раздел "безысходность и дзен" 🤙

Существует ли способ изящно управлять тем, какие фичи запустить в релиз на основе git?

Делать feature ветки из development и потом мержить их обратно, это понятная база. Но что делать, если было такох фичей несколько на релиз, и было принято решение не релизить одну из них в этот раз, потому что требования изменились, или забаговано так, что нужно переосмысление.

А если в рамках фичи сделался какой-то "фундаментал", которых использовали люди в рамках других фичей, потому что мы быстро делимся кодом в development?

Есть ли хороший релизный флоу? Что-то типа "у меня три фичи смержены в дев, сегодня резилим 2 из них". Ничего толкового не нагуглилось, все варианты на простые кейсы, типа что запланировали на "спринт", то и релизим.

Личный опыт или статья может?
deployed != released. Используйте feature flags.
источник

KA

Kirill Antonov in Software Design/Architecture/Zen
Виктор
да, фича в dev после тестов приходит, не очень понял про солидные порции добавления кода и конфликты, можете пояснить?
Ну ты делал фичу неделю, и товарищ свою столько же, и закончили с интервалом в час. Представил что может быть достаточно пересечений, но это конечно вопрос организации кода и декомпозиции фичей, пожалуй.
источник

KA

Kirill Antonov in Software Design/Architecture/Zen
Sergei Beilin
deployed != released. Используйте feature flags.
Это хорошая мысль, че-то я зашорился, согласен )
источник

SB

Sergei Beilin in Software Design/Architecture/Zen
Sergey Protko
да, полный провал. Ну как... не полный но совершенно не то на что я расчитывал.
Мне кажется, event storming - длинный процесс, растягивающийся на несколько недель, как минимум. Во всяком случае по личному опыту. И процесс кстати весьма итеративный, к одному и тому же возвращаемся по нескольку раз
источник

В

Виктор in Software Design/Architecture/Zen
Kirill Antonov
Ну ты делал фичу неделю, и товарищ свою столько же, и закончили с интервалом в час. Представил что может быть достаточно пересечений, но это конечно вопрос организации кода и декомпозиции фичей, пожалуй.
неделя это много для таска в jira, такие большие штуки нужно декомпозировать, если фича больше чем один таск в jira, то можно ее в epic ветке вести, но тогда придется черипикать все комиты касающиеся этой фичи
источник

KA

Kirill Antonov in Software Design/Architecture/Zen
Виктор
неделя это много для таска в jira, такие большие штуки нужно декомпозировать, если фича больше чем один таск в jira, то можно ее в epic ветке вести, но тогда придется черипикать все комиты касающиеся этой фичи
Да, но в неделю по вашему флоу включено  еще тестирование и какой-то багфикс допустим
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Kirill Antonov
Гайз, вопрос наверное в раздел "безысходность и дзен" 🤙

Существует ли способ изящно управлять тем, какие фичи запустить в релиз на основе git?

Делать feature ветки из development и потом мержить их обратно, это понятная база. Но что делать, если было такох фичей несколько на релиз, и было принято решение не релизить одну из них в этот раз, потому что требования изменились, или забаговано так, что нужно переосмысление.

А если в рамках фичи сделался какой-то "фундаментал", которых использовали люди в рамках других фичей, потому что мы быстро делимся кодом в development?

Есть ли хороший релизный флоу? Что-то типа "у меня три фичи смержены в дев, сегодня резилим 2 из них". Ничего толкового не нагуглилось, все варианты на простые кейсы, типа что запланировали на "спринт", то и релизим.

Личный опыт или статья может?
trunk based development + feature flags + release branches
источник

SP

Sergey Protko in Software Design/Architecture/Zen
источник

SP

Sergey Protko in Software Design/Architecture/Zen
источник

KA

Kirill Antonov in Software Design/Architecture/Zen
А кто-то использует на постоянке фиче флаги? Сколько флагов одновременно? Оверхед кодовый большой? Поддерживается нормально?
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Kirill Antonov
А кто-то использует на постоянке фиче флаги? Сколько флагов одновременно? Оверхед кодовый большой? Поддерживается нормально?
у нас сейчас чет типа ~120 фичафлагов. Нагрузка на код базу не оч большая если у тебя хоть минимально практики тестирования развиты (если все оч хотят долгоживущие фича брэнчи - это симптом проблемы с тестированием)
источник