Довольно ценные советы по проведению EventStorming в удаленном режиме от его создателя:
- "Remote EventStorming" by Alberto Brandolini
https://blog.avanscoperta.it/2020/03/26/remote-eventstorming/
- "EventStorming in COVID-19 times" by Alberto Brandolini
https://blog.avanscoperta.it/2020/03/26/eventstorming-in-covid-19-times/
P.S.: обновил свой список литературы по этому вопросу:
https://emacsway.github.io/ru/self-learning-for-software-engineer/#event-storming
#DDD #EventStorming
- "Remote EventStorming" by Alberto Brandolini
https://blog.avanscoperta.it/2020/03/26/remote-eventstorming/
- "EventStorming in COVID-19 times" by Alberto Brandolini
https://blog.avanscoperta.it/2020/03/26/eventstorming-in-covid-19-times/
P.S.: обновил свой список литературы по этому вопросу:
https://emacsway.github.io/ru/self-learning-for-software-engineer/#event-storming
#DDD #EventStorming
Avanscoperta Blog
Remote EventStorming | Avanscoperta Blog
EventStorming is not a single recipe for workshops. It comes in different flavors, and with different purposes.
Before exploring the impact of turning it remotely, we need to make sure we understand what we're talking about.
Before exploring the impact of turning it remotely, we need to make sure we understand what we're talking about.
Новая статья от разработчиков Watermill
"Combining DDD, CQRS, and Clean Architecture by refactoring a Go project"
https://threedots.tech/post/ddd-cqrs-clean-architecture-combined/
#DDD #Microservices #Golang
"Combining DDD, CQRS, and Clean Architecture by refactoring a Go project"
https://threedots.tech/post/ddd-cqrs-clean-architecture-combined/
#DDD #Microservices #Golang
threedots.tech
Combining DDD, CQRS, and Clean Architecture in Go
We show you how to combine DDD, CQRS, and Clean Architecture in Go using a real open-source project refactoring. Learn to create a robust domain layer, orchestrate business logic with commands, and improve your repository's flexibility. Gain practical insights…
"Using Event Sourcing and CQRS with Incident - Part 1" for Elixir-developers
https://pedroassumpcao.ghost.io/event-sourcing-and-cqrs-using-incident-part-1/
P.S.: не читал, не могу прокомментировать. Но, думаю, что у функциональщиков она вызовет интерес.
[UPDATE]: тут ребята-функциональщики еще обращали внимание на https://github.com/commanded/commanded
#DDD #FunctionalProgramming
https://pedroassumpcao.ghost.io/event-sourcing-and-cqrs-using-incident-part-1/
P.S.: не читал, не могу прокомментировать. Но, думаю, что у функциональщиков она вызовет интерес.
[UPDATE]: тут ребята-функциональщики еще обращали внимание на https://github.com/commanded/commanded
#DDD #FunctionalProgramming
Pedro Assumpcao
Using Event Sourcing and CQRS with Incident - Part 1
Event Sourcing and CQRS are design patterns that are great for some domains. The Incident library will help implement them without compromising other parts of your application.
Список литературы от Kamil Grzybek:
http://www.kamilgrzybek.com/programming-and-design-resources/
#DDD #Microservices #SoftwareDesign #SoftwareArchitecture #Career
http://www.kamilgrzybek.com/programming-and-design-resources/
#DDD #Microservices #SoftwareDesign #SoftwareArchitecture #Career
Kamil Grzybek
Programming and design learning recommendations - Kamil Grzybek
Programming and design learning recommendations resources - most valuable books, sites, blogs, podcasts to learn programming and design
Проанализируем популярную на этой неделе картинку.
1. С ходу бросается в глаза противоречие между "авторитарный Product Owner" и "каждый принимает участие в принятии решений". На деле в Agile экономика разработки критически зависит от достижения баланса бизнес и технических интересов https://news.1rj.ru/str/emacsway_log/124
2. Не совсем понятно, что именно автор противопоставляет Agile. Вероятней всего - BDUF.
Во времена СССР потребителям был хорошо известен термин "дефицит", являющийся следствием недостаточной адаптивности плановой экономики.
В то время как капиталистические рыночные экономики хорошо знакомы с таким кризисным явлением, как "перепроизводство", - которое является следствием недостаточности заблаговременного планирования и координирования.
Т.е. в ключевых своих аспектах адаптивность преобладает как раз в итеративных методологиях, таких как Agile, что отождествляет его скорее с капиталистической рыночной экономикой, нежели с советской плановой экономикой.
#Agile
1. С ходу бросается в глаза противоречие между "авторитарный Product Owner" и "каждый принимает участие в принятии решений". На деле в Agile экономика разработки критически зависит от достижения баланса бизнес и технических интересов https://news.1rj.ru/str/emacsway_log/124
2. Не совсем понятно, что именно автор противопоставляет Agile. Вероятней всего - BDUF.
Во времена СССР потребителям был хорошо известен термин "дефицит", являющийся следствием недостаточной адаптивности плановой экономики.
В то время как капиталистические рыночные экономики хорошо знакомы с таким кризисным явлением, как "перепроизводство", - которое является следствием недостаточности заблаговременного планирования и координирования.
Т.е. в ключевых своих аспектах адаптивность преобладает как раз в итеративных методологиях, таких как Agile, что отождествляет его скорее с капиталистической рыночной экономикой, нежели с советской плановой экономикой.
#Agile
emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc.
Проанализируем популярную на этой неделе картинку. 1. С ходу бросается в глаза противоречие между "авторитарный Product Owner" и "каждый принимает участие в принятии решений". На деле в Agile экономика разработки критически зависит от достижения баланса бизнес…
3. Является ли Agile идеологией и религией?
На самом деле, трудно сделать экономику исключительно плановой, как и трудно достигнуть в чистом виде Top-Down или Bottom-Up проектирование. Обычно имеет место некий баланс с преобладанием одного или другого аспекта. И при Сталине была кооперация, и был даже период НЭП.
Методики разработки тоже имеют разное соотношение заблаговременного проектирования (прогнозирования) и адаптации.
В BDUF доля заблаговременного проектирования составляет 100%.
В RUP (спиральная методика) уже присутствует адаптация, но доля заблаговременного проектирования все еще велика.
В Agile (итеративная методика) доля заблаговременного проектирования минимальна.
В каждом конкретном случае методика разработки выбирается исходя из уровня неопределенности, которую необходимо обрабатывать, ибо заблаговременное проектирование в условиях недостаточной информированности тоже имеет стоимость, и эта стоимость может оказаться выше стоимости адаптации.
Т.е. в каждом конкретном проекте выбирается сбалансированное соотношение заблаговременного проектирования и адаптации в пределах их экономической целесообразности. Len Bass, Grady Booch и Craig Larman хорошо раскрывают эту тему.
Интересно то, что разработчики пытались вести разработку итеративно еще с 1930 года, и целесообразность итеративной разработки хорошо описывал еще F. Brooks в своем "Мифическом человеко-месяце".
Серебряной пули нет. Любая методика выбирается исходя из контекста её применимости и экономической целесообразности. А значит, выбор методики не может быть вопросом веры.
#Agile
На самом деле, трудно сделать экономику исключительно плановой, как и трудно достигнуть в чистом виде Top-Down или Bottom-Up проектирование. Обычно имеет место некий баланс с преобладанием одного или другого аспекта. И при Сталине была кооперация, и был даже период НЭП.
Методики разработки тоже имеют разное соотношение заблаговременного проектирования (прогнозирования) и адаптации.
В BDUF доля заблаговременного проектирования составляет 100%.
В RUP (спиральная методика) уже присутствует адаптация, но доля заблаговременного проектирования все еще велика.
В Agile (итеративная методика) доля заблаговременного проектирования минимальна.
В каждом конкретном случае методика разработки выбирается исходя из уровня неопределенности, которую необходимо обрабатывать, ибо заблаговременное проектирование в условиях недостаточной информированности тоже имеет стоимость, и эта стоимость может оказаться выше стоимости адаптации.
Т.е. в каждом конкретном проекте выбирается сбалансированное соотношение заблаговременного проектирования и адаптации в пределах их экономической целесообразности. Len Bass, Grady Booch и Craig Larman хорошо раскрывают эту тему.
Интересно то, что разработчики пытались вести разработку итеративно еще с 1930 года, и целесообразность итеративной разработки хорошо описывал еще F. Brooks в своем "Мифическом человеко-месяце".
Серебряной пули нет. Любая методика выбирается исходя из контекста её применимости и экономической целесообразности. А значит, выбор методики не может быть вопросом веры.
#Agile
emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc.
3. Является ли Agile идеологией и религией? На самом деле, трудно сделать экономику исключительно плановой, как и трудно достигнуть в чистом виде Top-Down или Bottom-Up проектирование. Обычно имеет место некий баланс с преобладанием одного или другого аспекта.…
4. "Маленькие команды продуктивней больших" - это, на самом деле, Закон Брукса, и Agile тогда еще не было.
#Agile
#Agile
emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc.
4. "Маленькие команды продуктивней больших" - это, на самом деле, Закон Брукса, и Agile тогда еще не было. #Agile
5. "Работа разделена на спринты" - действительно ли работа (т.е. реализация), а не решения?
Итерация - это математический термин, which means applying function to itself. Каждая итерация на вход принимает результат работы предыдущей итерации. Это позволяет принимать решения на основе практического фидбэка предыдущих итераций с целью обработки неопределенности в тех случаях, когда осуществить прогноз трудно или дорого (дороже, чем реализовать итерацию).
Таким образом, итерация необходима для принятия решений в условиях недостаточной информированности, а не для разделения работ по реализации.
#Agile
Итерация - это математический термин, which means applying function to itself. Каждая итерация на вход принимает результат работы предыдущей итерации. Это позволяет принимать решения на основе практического фидбэка предыдущих итераций с целью обработки неопределенности в тех случаях, когда осуществить прогноз трудно или дорого (дороже, чем реализовать итерацию).
Таким образом, итерация необходима для принятия решений в условиях недостаточной информированности, а не для разделения работ по реализации.
#Agile
Превосходное видео от человека, обладающего редким талантом объяснять простым языком сложные вещи:
"Continued Learning: The Beauty of Maintenance - Kent Beck - DDD Europe 2020"
https://youtu.be/3gib0hKYjB0
#DDD #Microservices #SoftwareDesign #SoftwareArchitecture
"Continued Learning: The Beauty of Maintenance - Kent Beck - DDD Europe 2020"
https://youtu.be/3gib0hKYjB0
#DDD #Microservices #SoftwareDesign #SoftwareArchitecture
YouTube
Continued Learning: The Beauty of Maintenance - Kent Beck - DDD Europe 2020
Domain-Driven Design Europe 2020
http://dddeurope.com - https://twitter.com/ddd_eu
Organised by Aardling (https://aardling.eu/)
Kent consistently challenges software engineering dogma, promoting ideas like patterns, test-driven development, and Extreme Programming.…
http://dddeurope.com - https://twitter.com/ddd_eu
Organised by Aardling (https://aardling.eu/)
Kent consistently challenges software engineering dogma, promoting ideas like patterns, test-driven development, and Extreme Programming.…
"A Story of Simple Solutions that Led to Complex Problems" by Vladik Khononov
https://www.eventstore.com/blog/a-story-of-simple-solutions-that-led-to-complex-problems
#DDD
https://www.eventstore.com/blog/a-story-of-simple-solutions-that-led-to-complex-problems
#DDD
Eventstore
A Story of Simple Solutions that Led to Complex Problems
Vladik Khononov writes about the time a seemingly simple solution led to a complex series of problems
"Handbook of Software Architecture" by Grady Booch
https://handbookofsoftwarearchitecture.com/
#SoftwareArchitecture #SoftwareDesign
https://handbookofsoftwarearchitecture.com/
#SoftwareArchitecture #SoftwareDesign
"How to read more books. An ever-growing list of tips that help me read more books." by Mathias Verraes.
https://verraes.net/2012/12/2012-12-23-how-to-read-more-books/
P.S.: ответ на один из самых частых вопросов.
#Career
https://verraes.net/2012/12/2012-12-23-how-to-read-more-books/
P.S.: ответ на один из самых частых вопросов.
#Career
Mathias Verraes' Blog
How to Read More Books
An ever-growing list of tips that help me read more books.
Выглядит неплохо. Заслуживает внимания.
Architecture Playbook
https://nocomplexity.com/documents/arplaybook/index.html
#SoftwareArchitecture #SoftwareDesign #Microservices
Architecture Playbook
https://nocomplexity.com/documents/arplaybook/index.html
#SoftwareArchitecture #SoftwareDesign #Microservices
emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc.
Гы... недавно был холиварчик в архитекторской группе на эту тему. Там же: 📝 "A software architect who does not code is like a cook who does not eat." - Grady Booch https://twitter.com/Grady_Booch/status/1301810374598033408?s=19 #SoftwareDesign #SftwareArchitecture
📝 "The “real place” in software development is the code, which suggests that first-level managers are master programmers who are frequently evaluating the code."
- https://less.works/less/principles/systems-thinking.html
📝 "“Место, где происходит реальная работа” в программировании - это код, из чего следует, что первоклассными менеджерами должны становиться лучшие разработчики, которые часто оценивают код."
- https://less.works/ru/less/principles/systems-thinking.html
- Craig Larman, известный как создатель GRASP и LESS
#Agile #Career
- https://less.works/less/principles/systems-thinking.html
📝 "“Место, где происходит реальная работа” в программировании - это код, из чего следует, что первоклассными менеджерами должны становиться лучшие разработчики, которые часто оценивают код."
- https://less.works/ru/less/principles/systems-thinking.html
- Craig Larman, известный как создатель GRASP и LESS
#Agile #Career
Large Scale Scrum (LeSS)
Systems Thinking
I took a speed reading course and read “War and Peace” in twenty minutes. It involves Russia. —Woody Allen “No matter what we do, the number of defects...
awesome-workflow-engines - A curated list of awesome open source workflow engines
https://github.com/meirwah/awesome-workflow-engines
Говоря по-русски - список движков для оркестрации и SAGA-транзакций.
[UPDATE]: http://meirwah.github.io/awesome-workflow-engines/
#Microservices
https://github.com/meirwah/awesome-workflow-engines
Говоря по-русски - список движков для оркестрации и SAGA-транзакций.
[UPDATE]: http://meirwah.github.io/awesome-workflow-engines/
#Microservices
GitHub
GitHub - meirwah/awesome-workflow-engines: A curated list of awesome open source workflow engines
A curated list of awesome open source workflow engines - meirwah/awesome-workflow-engines
Don't miss @vladikk talking about how #eventsourcing was the simple solution to some complex user and business requirements. How did he solve technical deficit with event sourcing? https://t.co/dMcTyA3E0h
"A Story of Simple Solutions that Led to Complex Problems"
https://www.eventstore.com/blog/a-story-of-simple-solutions-that-led-to-complex-problems
#DDD #Microservices
"A Story of Simple Solutions that Led to Complex Problems"
https://www.eventstore.com/blog/a-story-of-simple-solutions-that-led-to-complex-problems
#DDD #Microservices
Eventstore
A Story of Simple Solutions that Led to Complex Problems
Vladik Khononov writes about the time a seemingly simple solution led to a complex series of problems
Новый Reference Application на .NET от Chris Richardson
"Eventuate Tram Customers and Orders - .NET version"
https://github.com/eventuate-examples/eventuate-tram-core-dotnet-examples-customers-and-orders
#DDD #Microservices
"Eventuate Tram Customers and Orders - .NET version"
https://github.com/eventuate-examples/eventuate-tram-core-dotnet-examples-customers-and-orders
#DDD #Microservices
GitHub
GitHub - eventuate-examples/eventuate-tram-core-dotnet-examples-customers-and-orders
Contribute to eventuate-examples/eventuate-tram-core-dotnet-examples-customers-and-orders development by creating an account on GitHub.