Size: a a a

Архитектура ИТ-решений

2020 May 13

EM

Evgenii Mikhailin in Архитектура ИТ-решений
Если речь идёт о техдолге «вместо использования правильной библиотеки Х написан собственный неподдерживаемый костыль», то да, такое тестированию не проверить. Но это требование системной архитектуры, причём такого уровня, что действительно у такого архитектора должен быть доступ к коду и возможность проверить сделали по его задумке или нет
источник

EM

Evgenii Mikhailin in Архитектура ИТ-решений
Mikhail Gusarov
- выбран нецелевой разработчик, который занимается фигнёй?
а для этого существуют тимлиды и разного рода менеджеры (ресурсные например)
источник

EM

Evgenii Mikhailin in Архитектура ИТ-решений
насчет нецелевых технологий. я понимаю что с текущими достижениями в контейнеризации можно все засунуть в черный ящик, но в общем и целом, если тестирование не видит разницу между допустим java и nodejs - то как бы это странно. там как минимум настройки разные, а для тестирования нагрузки их нужно крутить.
источник

Б

Булат in Архитектура ИТ-решений
Evgenii Mikhailin
Если речь идёт о техдолге «вместо использования правильной библиотеки Х написан собственный неподдерживаемый костыль», то да, такое тестированию не проверить. Но это требование системной архитектуры, причём такого уровня, что действительно у такого архитектора должен быть доступ к коду и возможность проверить сделали по его задумке или нет
Ну а вот этот кейс, когда архитектор имеет доступ к коду.
Как это может выглядеть?

Арх открыл репозиторий -> Арх нашел "неархитектурное" -> Арх доказал заказчику что нужно выделить ресурсы на исправления -> Арх создал issue или переложил на соответствующую команду?...
источник

LV

Leonid Vygovskiy in Архитектура ИТ-решений
Булат
Примеры техн долга о котором я говорю:
- выбрана нецелевая технология
- выбран нецелевой источник данных
- выбран нецелевой api
Да, звучит примерно так, что есть разработчик, который принял решение без одобрения архитектора.
Если ситуация с компании не изменилось и в принципе такое допускается, то вводи/невводи понятие арх. долга, ничего не изменится.
Я бы вообще назвал это не арх. долг, а арх. разгильдяйство.

Арх. (тех.) накапливается не "выбрали" , а "изменилось". Например, раньше не было стандарта на СУБД, и все писали кто на чем хотел. А потом в компании он появился. И в командах образуется тех. долг
источник

EM

Evgenii Mikhailin in Архитектура ИТ-решений
Булат
Ну а вот этот кейс, когда архитектор имеет доступ к коду.
Как это может выглядеть?

Арх открыл репозиторий -> Арх нашел "неархитектурное" -> Арх доказал заказчику что нужно выделить ресурсы на исправления -> Арх создал issue или переложил на соответствующую команду?...
ну примерно так. выделение ресурсов это конечно совершенно отдельный вопрос, но в целом да.
источник

EI

Eugene Istomin in Архитектура ИТ-решений
Leonid Vygovskiy
Да, звучит примерно так, что есть разработчик, который принял решение без одобрения архитектора.
Если ситуация с компании не изменилось и в принципе такое допускается, то вводи/невводи понятие арх. долга, ничего не изменится.
Я бы вообще назвал это не арх. долг, а арх. разгильдяйство.

Арх. (тех.) накапливается не "выбрали" , а "изменилось". Например, раньше не было стандарта на СУБД, и все писали кто на чем хотел. А потом в компании он появился. И в командах образуется тех. долг
» А потом в компании он появился. И в командах образуется тех. долг
Если бы debt так работал напрямую, без контрактов  - то мы бы давно размыли и цифру, и экономику.
Хорошо, что debt, всё-таки, не производная от "что-то где-то появилось"
источник

LV

Leonid Vygovskiy in Архитектура ИТ-решений
Чего?
источник

LV

Leonid Vygovskiy in Архитектура ИТ-решений
Я вас не понял ))
источник

LV

Leonid Vygovskiy in Архитектура ИТ-решений
Тех. долг появляется по двум причинам:
- либо изменились условия и старые решения не актуальны
- либо команда сознательно допускает его появления (это не хорошо и не плохо, это факт, часто вызванный больше внешними для команды факторами, чем внутренним желанием команды)
источник

EI

Eugene Istomin in Архитектура ИТ-решений
Leonid Vygovskiy
Я вас не понял ))
"И в командах образуется тех. долг"
Я к этому, как-будто долг сам образуется, просто вот сам.
Тут можно проще сказать: представьте физическую аналогию этого процесса
источник

LV

Leonid Vygovskiy in Архитектура ИТ-решений
Евгений, моя мысль следующая была в примере с СУБД. Команда в 2018г имела права выбрать mysql и выбрала. В 2020 пришла установка, что все проекты компании переходят на oracle. И команды появился тех долг - переход с mysql на oracle
источник

EI

Eugene Istomin in Архитектура ИТ-решений
Leonid Vygovskiy
Евгений, моя мысль следующая была в примере с СУБД. Команда в 2018г имела права выбрать mysql и выбрала. В 2020 пришла установка, что все проекты компании переходят на oracle. И команды появился тех долг - переход с mysql на oracle
Но нет, не появился "тех долг".
cruft и debt про разное

https://martinfowler.com/bliki/TechnicalDebt.html
источник

Б

Булат in Архитектура ИТ-решений
Leonid Vygovskiy
Да, звучит примерно так, что есть разработчик, который принял решение без одобрения архитектора.
Если ситуация с компании не изменилось и в принципе такое допускается, то вводи/невводи понятие арх. долга, ничего не изменится.
Я бы вообще назвал это не арх. долг, а арх. разгильдяйство.

Арх. (тех.) накапливается не "выбрали" , а "изменилось". Например, раньше не было стандарта на СУБД, и все писали кто на чем хотел. А потом в компании он появился. И в командах образуется тех. долг
👍
источник

LV

Leonid Vygovskiy in Архитектура ИТ-решений
Евгений, значит мы не совпадаем в терминологии.
источник

LV

Leonid Vygovskiy in Архитектура ИТ-решений
Если кратко напишите разницу между cruft и debt по Фаулеру - буду благодарен.
источник

EI

Eugene Istomin in Архитектура ИТ-решений
Leonid Vygovskiy
Если кратко напишите разницу между cruft и debt по Фаулеру - буду благодарен.
"Technical Debt should be reserved for cases when people have made a considered decision to adopt a design strategy that isn't sustainable in the longer term, but yields a short term benefit, such as making a release. "
То есть, это прямо "мы выбрали залезть в долг", т.е. сделать short win в ущерб lon term
источник

EI

Eugene Istomin in Архитектура ИТ-решений
Eugene Istomin
"Technical Debt should be reserved for cases when people have made a considered decision to adopt a design strategy that isn't sustainable in the longer term, but yields a short term benefit, such as making a release. "
То есть, это прямо "мы выбрали залезть в долг", т.е. сделать short win в ущерб lon term
Поясню, что я "думаю вслух", показывая трактовки https://martinfowler.com/bliki/TechnicalDebtQuadrant.html
источник

EE

Enot Enotovich in Архитектура ИТ-решений
Eugene Istomin
"Technical Debt should be reserved for cases when people have made a considered decision to adopt a design strategy that isn't sustainable in the longer term, but yields a short term benefit, such as making a release. "
То есть, это прямо "мы выбрали залезть в долг", т.е. сделать short win в ущерб lon term
попахивает книгой про scrum
источник

LV

Leonid Vygovskiy in Архитектура ИТ-решений
Ну то есть мой второй пункт. А чем плох трактовка, что и внешние обстоятельства изменились для команды?
источник