EMACSWAY_LOG Telegram 1285
emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc.
Типичная ситуация в работе архитектора - это когда он начинает прорабатывать решение, и тут выясняется, что оно не может быть реализовано, потому что legacy, функциональность размазана между разными моделями (и командами), лапша пронизывает все компоненты…
Много раз на практике наблюдал ситуацию, когда специалист имеет правильное понимание, но не может его аргументированно донести своим коллегам. Возникает борьба за лидерство, токсичность, конфликтность. Одни только баттлы вокруг SRP чего стоят. Нередко это заканчивается агрессивно-пассивной позицией: "делай как хочешь, только меня потом не трогай".

Ключем к пониманию ситуации является слово "потом".

Суть архитектурного решения сводится к тому, чтобы бесконечно большое множество вариантов реализации сократить до одного единственного варианта. Иными словами, архитектура - это о том, как не надо делать. И здесь важно не многообразие вариантов само по себе, а те критерии, по которым их количество можно сократить.

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

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

Я уже говорил, что лидерство заключается, в первую очередь, в дальности горизонта видения. Еще в Дао Де Цзин писали, что мудрый лидер управляет не запретами, а проливанием света на последствия. Вот этот горизонт видения и есть то самое, вокруг чего люди объединяются.

Именно поэтому Craig Larman говорил:
💬 “Место, где происходит реальная работа” в программировании - это код, из чего следует, что первоклассными менеджерами должны становиться лучшие разработчики, которые часто оценивают код.
- Craig Larman, https://less.works/ru/less/principles/systems-thinking.html

Хороший лидер уберегает от проблем. Потому что способен их предвидеть. Потому что знает. Что означает, что ничто другое не имеет значения.

Как говорил Л.Н.Толстой, один из самых влиятельных людей мира, единственным инструментом власти которого было слово:
💬 "Всякая истина, выраженная словами, есть сила, действие которой беспредельно".

Поэтому очень важно не только видеть правильное решение, но и видеть причинно-следственные связи, приводящие к этому решению.

Хорошим примером является DDD. Зачастую разработчики интуитивно чувствуют его полезность, но не понимают какую именно проблему он решает. Попытки "насадить" DDD могут привести к формированию оплота сопротивления. Даже у Nick Tune, известного автора по DDD, такое случалось.



tgoop.com/emacsway_log/1285
Create:
Last Update:

Много раз на практике наблюдал ситуацию, когда специалист имеет правильное понимание, но не может его аргументированно донести своим коллегам. Возникает борьба за лидерство, токсичность, конфликтность. Одни только баттлы вокруг SRP чего стоят. Нередко это заканчивается агрессивно-пассивной позицией: "делай как хочешь, только меня потом не трогай".

Ключем к пониманию ситуации является слово "потом".

Суть архитектурного решения сводится к тому, чтобы бесконечно большое множество вариантов реализации сократить до одного единственного варианта. Иными словами, архитектура - это о том, как не надо делать. И здесь важно не многообразие вариантов само по себе, а те критерии, по которым их количество можно сократить.

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

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

Я уже говорил, что лидерство заключается, в первую очередь, в дальности горизонта видения. Еще в Дао Де Цзин писали, что мудрый лидер управляет не запретами, а проливанием света на последствия. Вот этот горизонт видения и есть то самое, вокруг чего люди объединяются.

Именно поэтому Craig Larman говорил:
💬 “Место, где происходит реальная работа” в программировании - это код, из чего следует, что первоклассными менеджерами должны становиться лучшие разработчики, которые часто оценивают код.
- Craig Larman, https://less.works/ru/less/principles/systems-thinking.html

Хороший лидер уберегает от проблем. Потому что способен их предвидеть. Потому что знает. Что означает, что ничто другое не имеет значения.

Как говорил Л.Н.Толстой, один из самых влиятельных людей мира, единственным инструментом власти которого было слово:
💬 "Всякая истина, выраженная словами, есть сила, действие которой беспредельно".

Поэтому очень важно не только видеть правильное решение, но и видеть причинно-следственные связи, приводящие к этому решению.

Хорошим примером является DDD. Зачастую разработчики интуитивно чувствуют его полезность, но не понимают какую именно проблему он решает. Попытки "насадить" DDD могут привести к формированию оплота сопротивления. Даже у Nick Tune, известного автора по DDD, такое случалось.

BY emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc.




Share with your friend now:
tgoop.com/emacsway_log/1285

View MORE
Open in Telegram


Telegram News

Date: |

Telegram desktop app: In the upper left corner, click the Menu icon (the one with three lines). Select “New Channel” from the drop-down menu. Done! Now you’re the proud owner of a Telegram channel. The next step is to set up and customize your channel. A new window will come up. Enter your channel name and bio. (See the character limits above.) Click “Create.” The court said the defendant had also incited people to commit public nuisance, with messages calling on them to take part in rallies and demonstrations including at Hong Kong International Airport, to block roads and to paralyse the public transportation system. Various forms of protest promoted on the messaging platform included general strikes, lunchtime protests and silent sit-ins. How to Create a Private or Public Channel on Telegram?
from us


Telegram emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc.
FROM American