Архитектура ИТ-решений
16K subscribers
332 photos
2 videos
34 files
1.21K links
Разговоры об архитектуре корпоративных информационных систем (архитектура предприятия, архитектура ИТ-решений).

Регистрация в перечне РКН: https://knd.gov.ru/license?id=6735f4cd97de7d1d1953c457&registryType=bloggersPermission
Download Telegram
В общем-то полезные приемы презентации архитектуры предлагает Марк Ричардс https://youtu.be/pJc0l2DASpo
Вынесу ответ на один из вопросов, полученных перед вебинаром в отдельное сообщение. Собственно, вопрос традиционный, похожие были и раньше. Вопрос о взаимодействии архитектора с командой разработки. Для архитектора продукта/платформы он особенно актуален.

Говоря о взаимодействии с командой легко упустить из виду, что команда – это некоторая абстракция. Мы разговариваем не с командой, а с конкретными людьми. Соглашаемся, спорим, договариваемся. Часто под фразой взаимодействие с командой скрывается общение всего с одним человеком, например, тимлидом или даже менеджером. И это именно он боится выпускать архитектурные решения из своих рук (или полностью передоверяет их какому-то одному разработчику). Другим участникам команды выработки архитектурных решений тоже не достается, а за фразой The best architectures, requirements, and designs emerge from self-organizing teams скрываются предложения конкретного человека.

Проблема даже не в том, что архитектурные решения принимает кто-то один. Часто это квалифицированный и опытный разработчик. Проблема, если всегда происходит только так! Без обсуждений, рассмотрения альтернатив, картезианского радикального сомнения со стороны кого-то еще. Рано или поздно полезут ошибки, сформируются предпочтения, от которых непросто отказаться, сменятся технологии. Разработчики, выключенные из процесса проектирования, потеряются мотивацию и просто уйдут. Тонущий корабль с единственным капитаном на борту – узнаваемая картина legacy системы.

Решение проще, чем кажется на первый взгляд. Agile помог разобраться с процессом.
В основе управления эмпирическими процессами заложены три главных принципа: прозрачность, инспекция и адаптация - Скрам Гайд. 
Это пойдет и для архитектуры: transparency, inspection, and adaptation. Инструмент: architecture decision record. В общем, в теме ADR еще далеко не всё сказано. И уж точно ИТ-архитектору есть чем заняться сейчас и будет чем позаниматься в будущем
Думаю, что это архитектурное описание вполне можно использовать в качестве примера https://github.com/team7katas/sysopsquad Идея со стикерами нефункциональных требований, так вообще зачетная ;-)
01-06-2021 FSA.pdf
3.6 MB
Слайды сегодняшнего рассказа
Обстоятельно разобрал что мне нравится, а что не очень в описании архитектуры https://t.iss.one/it_arch/1089 Интересно ли вам будет послушать в формате вебинара?
Final Results
89%
Да, конечно
10%
Нет, не особо
1%
Лучше послушать о ... (тему укажу в комментарии)
Архитектура ИТ-решений
В среду, 24 февраля в 19:00 MSK проведу небольшой стрим на эту тему. Ссылка трансляции на YouTube: https://youtu.be/S8JMVXAfFOM Вопросы можно задавать в комментариях к этому сообщению или в анонсе на FB: https://www.facebook.com/events/3781729695241571 …
В продолжение темы о том, что распад приложения на модули или сервисы это закономерный процесс, поделюсь ссылкой на Криса Ричардсона про тёмную энергию и материю, которые удерживают систему от распада или же разрывают на кусочки https://chrisrichardson.net/post/microservices/2021/04/15/mucon-2021-dark-energy-dark-matter.html Это не лженаука, просто метафора :-)
Почему ваша ИТ-система не превратится в платформу. Набросал небольшой текст на обозначенную тему. Сформулировал пять причин почему нельзя взять приложение и тупо переименовать его в платформу. Перечитал. Не понравилось. Понял, что получилось крайне субъективно и эмоционально. Публиковать не стану. Лучше попрошу помощи сообщества.

Что, на ваш взгляд, мешает ИТ-системе стать платформой? (в том значении этого слова, которое обычно используют менеджеры)
Архитектура ИТ-решений
Почему ваша ИТ-система не превратится в платформу. Набросал небольшой текст на обозначенную тему. Сформулировал пять причин почему нельзя взять приложение и тупо переименовать его в платформу. Перечитал. Не понравилось. Понял, что получилось крайне субъективно…
Живое обсуждение сложилось вокруг темы платформы. Спасибо.

У меня был очень простой набор соображений. 1) с технической точки зрения платформа изначальна должна содержать в себе механизмы расширений. Что это будет: история дяди Боба про инверсию зависимостей и подмену реализаций, плагины по образцу CMS-ок, обработчики запросов, команд и событий в виде микросервисов – не так важно. Если механизм расширения предварительно не придуман и не реализован в системе, то платформы из неё не выйдет 2) с точки зрения интеграции: функции, библиотеки, сервисы – это не платформа. Их можно обойти и рано или поздно разработчик вместо вашего сервиса(функции, и пр.) вызовет какой-то другой. Просто потому, что он лучше, удобней, проще, по политическим мотивам и т.д. Вы либо заставляете всех исполняться в вашем окружении, либо оставляете возможность делать небольшие расширения, конкретизирующие уже предопределенные use cases 3) с мотивационной точки зрения: отсутствие значимого конкурентного преимущества хотя бы в одной операции чревато тем, что вашу платформу просто снесут, даже несмотря на реализацию первых двух пунктов. Т.е. без ответа на вопрос: почему нельзя тоже самое, но без платформы, эта история не поплывет. Еще в паре пунктов я пока сомневаюсь
Обновил ссылку для вступления в связанную с этим каналом группу https://t.iss.one/joinchat/RjhmcXf0go0zMjli
В прошлом году подписчик нашей группы Andrei Gordienkov @kwiscakh уже участвовал в архитектурных катах 2020. И вместе с со своей командой одержал победу. Пусть и с значительным опозданием присоединяюсь к поздравлениям! 🍾👍🎉 Это круто!
👍1
Forwarded from Andrei Gordienkov
не знаю как к вам всем обратиться, но хочу поделиться успехом, что моя команда, а по большей части я, победили в том архитектурном конкурсе от O`Reilly
участвовало 100+ команд, и надо бало предаставить реальное решение. В финал вышли 10 команд. Мы победили.
https://github.com/ldynia/archcolider
для рассмотрения и отзывав
👍1
Из-за регулярного спама отвязал группу обсуждений от этого канала. Вы, можете оставлять свои комментарии, вступив в неё по ссылке https://t.iss.one/joinchat/RjhmcXf0go0zMjli
Из серии "Лучше вместе" Чтобы проиллюстрировать синергию между стандартами TOGAF® и Open Agile Architecture вот такую картинку нарисовали в The Open Group

Напоминаю, что обсуждение происходит здесь: https://t.iss.one/joinchat/RjhmcXf0go0zMjli
Наблюдая за нашим чатом "Работа для ИТ-архитекторов" я подумал, что надо бы набросать для архитекторов предприятия типологию ИТ-директоров. CIO он ведь тоже бывают разные и к каждому требуется свой подход. Есть директора-новаторы. Они внедряют какой-нибудь LeSS или SAFe участвуют в конкурсах на лучший проект (и побеждают, неожиданно, правда), пишут статьи и т.д. Такому только успевай патроны подносить. Есть CIO хозяйственники. Они строят дата-центры, торгуются по лицензиям, упорядочивают текучку разными модными методами, в общем – поддерживают порядок. С ними граничат директора-достигаторы: люди успешно завершающие проекты в срок, причем несмотря ни на что. Тем и другим нужны актуальные карты ИТ-ландшафта, обновляемые архитектурные репозитории и внятные рассказы о регулярном прогрессе. А еще есть создающие команды директора. Команда, вернее штаб, у такого директора сплоченная. Люди если и ругаются друг с другом, то при закрытых дверях, но никогда при заказчике. Архитектору в такой системе хорошо. Главное знать границы и помогать соратникам по штабу.

Наверняка есть и другие типы CIO. Хотите расширить типологию – пишите комментарии в группу
Архитектура ИТ-решений
Используете ли вы architecture decision record (ADR)?
Подправил картинку с результатами (цифры без нижнего варианта). Поддержка у ADR получается мощная: 30% используют, еще 22% собираются и 26% работают с архитектурными решениями, но в другой форме. Хотя доля скептиков, на самом деле, тоже большая. Для меня ADR – инструмент повышения качества архитектурной функции, в первую очередь. Ну и инструмент обучения, безусловно. Не смотрите на ADR как на следующую большую вещь в архитектуре. Наоборот, это скорее базовый навык – минимальный набор объяснений, который мы ожидаем от архитектора при ответе на наш вопрос