Lava anti-pattern
Dec. 19th, 2023 06:07 pmЕсть такой известный анти-паттерн "лава" (когда новая фича или новый подход извергается, начинает заполнять код, постепенно застывает, не дойдя до финала, а потом следующее извержение - и продакшен является наслоением предыдущих недоделанных рефакторингов).
А сейчас я понял ещё более жуткий анти-паттерн - это "лава требований". Когда в проект приносят требования, реализуют чуть-чуть, и тут же бросаются за новыми требованиями (точнее, их приносят с ещё большим приоритетом). Предыдущие ещё не работают, но уже почти потеряли актуальность. А следующие фичи пишутся на основе и с учётом (насколько можно) предыдущих слоёв. Ни один из них не доводится до финала, и всё время "новые горячие фичи", а с низу остывающие недоделанные предыдущие фичи для предыдущих требований.
Ключевым тут является даже не "недоделанность", а то, что в проекте непрерывно появляются новые и новые требования, часть из которых системная (то есть не запрос на фичу, а требование поведения как полиси). Со временем требований становится так много, что даже вся команда целиком не может вспомнить все требования, которые были реализованы (или даже находятся в реализации).
Для высшего уровня, добавить в эту же кучу требования по безопасности (например, rsa 4096 бит рядом с ip-based security (без авторизации), реализованной только для части сервисов, то есть часть сервисов голая).
А сейчас я понял ещё более жуткий анти-паттерн - это "лава требований". Когда в проект приносят требования, реализуют чуть-чуть, и тут же бросаются за новыми требованиями (точнее, их приносят с ещё большим приоритетом). Предыдущие ещё не работают, но уже почти потеряли актуальность. А следующие фичи пишутся на основе и с учётом (насколько можно) предыдущих слоёв. Ни один из них не доводится до финала, и всё время "новые горячие фичи", а с низу остывающие недоделанные предыдущие фичи для предыдущих требований.
Ключевым тут является даже не "недоделанность", а то, что в проекте непрерывно появляются новые и новые требования, часть из которых системная (то есть не запрос на фичу, а требование поведения как полиси). Со временем требований становится так много, что даже вся команда целиком не может вспомнить все требования, которые были реализованы (или даже находятся в реализации).
Для высшего уровня, добавить в эту же кучу требования по безопасности (например, rsa 4096 бит рядом с ip-based security (без авторизации), реализованной только для части сервисов, то есть часть сервисов голая).
no subject
Date: 2023-12-19 04:42 pm (UTC)Это реальность. Имеет смысл искать решения, которые бы делали такой поток требований имлементируемыми. Мое любимое занятие. Как говорил один, впоследствии ебанувшийся, хозяин конторы, "у него все можно сделать, что ни попрошу". Заказчики хотят - значит, надо им сделать.
Но, конечно, планирование, держать руку на пульсе, и аккуратный триаж - необходимы.
no subject
Date: 2023-12-19 04:56 pm (UTC)no subject
Date: 2023-12-19 07:25 pm (UTC)— О! У вас же в продукте есть X! Давайте поверх него сделаем...
— Ну, мнээээ, понимаете, мнээээ, там функционал несколько ограничен....