emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc. – Telegram
emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc.
3.48K subscribers
119 photos
15 videos
22 files
1.14K links
Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, Extreme Programming, SDLC, Agile, etc.

Chat: https://news.1rj.ru/str/emacsway_chat

Persistence: https://dckms.github.io/system-architecture/
Download Telegram
emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc.
Еще один интересный и лаконичный документ (всего 19 страниц) от Dean Leffingwell на тему разрешения противоречий между бизнес- и техническими интересами (на странице 11) в частности, и об управлении требованиями в масштабируемом Agile в целом: https://sca…
Просматривал вчера книгу этого же автора:
- "Agile Software Requirements: Lean Requirements Practices for Teams, Programs, and the Enterprise" by Dean Leffingwell.

Она вышла в печать в том же году, в котором он выпустил первый релиз SAFe.

Без сомнений, эта книга окажется полезной для тех, кого интересует вопрос интеграции аналитической и архитектурной работы в Agile-разработку. Она освещает не только работу с требованиями, но и предлагает процессы, модель которых, на мой взгляд, очень хорошо подходит для случая, когда Scrum/Nexus/LeSS - уже мало, а SAFe - пока еще слишком много. Но уже назрела ситуация, когда Product Owner-а в единственном лице не хватает для возросшего количества команд, и нужно каким-то образом интегрировать штат аналитиков и архитекторов в процесс разработки.

На мой взгляд, предложенная Dean Leffingwell модель может гармонично дополнять Scrum, как это делает, например, Disciplined agile delivery (DAD).

В отличии от популярного мнения о том, что аналитики и архитекторы должны быть частью команды реализации, Dean Leffingwell убедительно обосновывает, что они должны быть частью системной команды, которая выполняет этапы работы, предшествующие реализации, а также работу по интеграции автономных команд.

📝 "At the system level, however, architecture is often coordinated among system architects and business analysts who are responsible for determining the overall structure (components and services) of the system, as well as the system-level use cases and performance criteria that are to be imposed on the system as a whole. For this reason, it is likely that the agile team has a key interface to one or more architects who may live outside the team. (We’ll discuss this in depth in Chapter 20.)"
- Agile Software Requirements Lean Requirements Practices for Teams, Programs, and the Enterprise (Agile Software Development Series) by Dean Leffingwell

Этот подход в точности повторяет предложение Харлана Миллза, известное как "Метод хирурга" ( https://news.1rj.ru/str/emacsway_log/322 ), и идеально ложится на DDD и микросервисную архитектуру. Вряд ли можно придумать что-то более подходящее для микросервисных Scrum-проектов малых и средних размеров. Это своего рода "детёныш" SAFe (в прямом и переносном смыслах). Хотя, есть мнение, что современный SAFe не так уж и велик для S-Sized команд, см.:
- "Six SAFe Practices for S-Sized"
https://www.scaledagileframework.com/guidance-six-safe-practices-for-s-sized-teams/

Кстати, SAFe предоставляет четыре конфигурации из коробки, где самая минималистичная - это Essential SAFe:
https://www.scaledagileframework.com/essential-safe/

Говоря о проблемах масштабирования Agile-команд, мне очень интересной показалась ещё одна его книга, которая вышла 4-мя годами ранее:
- "Scaling Software Agility: Best Practices for Large Enterprises" by Dean Leffingwell

Ну и коль столько было сказано про SAFe, то, наверное, имеет смысл упомянуть и книгу:
- "SAFe® 5.0 Distilled: Achieving Business Agility with the Scaled Agile Framework®" by Richard Knaster, Dean Leffingwell

#Agile #Management #SoftwareArchitecture #DDD #Microservices
📝 "Каждый хочет, чтобы правда была на его стороне, но не каждый хочет быть на стороне правды." (Ричард Уэйтли)

📝 "Everyone wishes to have truth on his side, but not everyone wishes to be on the side of the truth." (Richard Whately)

#SoftSkills #DecisionMaking #Career
Цикл статей Gregor Hohpe о презентационных навыках. На прошлой неделе вышла пятая статья цикла.

- Making Complex Topics Stick (Part 1: Content). Ethos, Logos, and Pathos have to be built-in, not tacked on.
https://architectelevator.com/strategy/complex-topics-stick/

- Making Complex Topics Stick (Part 2: Composition). A list of ingredients doesn’t make a recipe. You need to know the right dosage.
https://architectelevator.com/strategy/logos-ethos-pathos/

- Making Complex Topics Stick (Part 3: Delivery). How to overcome the first curse of speaking: linearity.
https://architectelevator.com/strategy/presenting-like-architect/

- Making Complex Topics Stick (Part 4: Multiplexing). Weaving multiple threads into a single presentation.
https://architectelevator.com/strategy/presenting-multiplex/

- Making Complex Topics Stick (Part 5: Waveforms). Weaving two threads into a single presentation.
https://architectelevator.com/strategy/presenting-waveform/

- The Second Curse of Speaking (Complex Topics, Part 6). A Steady Rhythm Keeps Your Listeners On Track
https://architectelevator.com/strategy/presenting-second-curse/

- Present like a DJ! Rhythm, Mixing, Transitions, Waveforms, Improvisation (Complex Topics, Part 7)
https://architectelevator.com/strategy/presenting-like-djing/

P.S.: Если кто еще не знает, то по презентационным паттернам есть книга другого известного автора по архитектуре:
- "Presentation patterns: techniques for crafting better presentations" by Neal Ford, Matthew McCullough, Nathaniel Schutta

#SoftwareArchitecture #Career #SoftSkills #Management
Mike Cohn, один из наиболее авторитетных авторов в области Agile и Estimation, а также автор "concept of Test Pyramid", выкладывает в открытый доступ (но с ограниченным сроком действия) видео на острые и чувствительные темы индустрии:

"Watch Now: Training on Story Points for a Limited Time"
https://www.mountaingoatsoftware.com/blog/watch-now-training-on-story-points-for-a-limited-time

"Watch Now: What to Do When Teams and Stakeholders Want Perfect Estimates"
https://www.mountaingoatsoftware.com/blog/watch-now-what-to-do-when-teams-and-stakeholders-want-perfect-estimates

"Watch Now: How to Stop People Problems from Hurting Your Estimates"
https://www.mountaingoatsoftware.com/blog/watch-now-how-to-stop-people-problems-from-hurting-your-estimates

#Agile #Career #Management
И еще одна очень крутая книга попала в мое поле зрения на тему Soft Skills, от известного автора в области психологии, системного мышления и антропологии разработки программного обеспечения, на работы которого ссылаются в своих книгах такие светила, как Kent Beck:

- "Becoming a Technical Leader" by Gerald Weinberg
https://www.goodreads.com/book/show/714344.Becoming_a_Technical_Leader

Другие две его известные книги:

- "Systems Thinking. Quality Software Management. New York: Dorset House." by Gerald M. Weinberg, 1992, ISBN: 0932633226

- "An Introduction to General Systems Thinking" by Gerald M. Weinberg

#SoftSkills #Career
Я и не подозревал о существовании такой штуки, как Руководство по стилю SQL от Саймона Холивелла https://www.sqlstyle.guide/ - странице, объединяющей различные рекомендации по именованию таблиц, столбцов, хранимых процедур, алиасов и оформлению SQL-запросов

Вы можете использовать эти рекомендаций, форкнуть их или создать свои собственные, - пишет автор - главное, чтобы вы выбрали стиль и придерживались его
emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc.
Статьи на частые вопросы по DDD: - "What is domain logic?" by Vladimir Khorikov - "Domain services vs Application services" by Vladimir Khorikov - "Domain model isolation" by Vladimir Khorikov - "Email uniqueness as an aggregate invariant" by Vladimir Khorikov…
Я регулярно упоминаю статью "Clarified CQRS" by Udi Dahan, которая играет критически важное значение в багаже знаний разработчика.

На Хабре появился перевод этой статьи:
https://m.habr.com/ru/post/545128/

Ну и вообще, парень перевел ряд важных статей:
https://m.habr.com/ru/users/ArkadiyXIII/posts/
, в частности три известные статьи V.Vernon о конструировании агрегатов:
1) https://m.habr.com/ru/post/543424/
2) https://m.habr.com/ru/post/543654/
3) https://m.habr.com/ru/post/544514/

, и конспект книги Sam Newman по распилу монолита:
1) https://m.habr.com/ru/post/548054/
2) https://m.habr.com/ru/post/548592/
3) https://m.habr.com/ru/post/549272/

#DDD #Microservices #SoftwareDesign #SoftwareArchitecture
emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc.
Решение? 📝 "While not discussed in detail here, Message Metadata can be used to achieve causal consistency [AMC-Causal Consistency https://queue.acm.org/detail.cfm?id=2610533 ] among Messages (130) that must be replicated across a network with full ordering…
В библиотеке https://github.com/johnbywater/eventsourcing исчезла поддержка Causal Consistency. Случайно обнаружил пропажу, и списался с автором, чтобы выяснить причины. Функциональность исчезла в результате мажорных изменений версии 9.0.0, в процессе написания книги https://leanpub.com/dddwithpython . Многие функции были переписаны полностью, но не все. John Bywater выразил намерение реимплементировать так же и Causal Consistency в обозримой перспективе. А до тех пор, придется довольствоваться версией 8.3.0 в качестве демонстрационного примера.

P.S.: библиотека является хорошим примером реализации паттернов "Reactive Messaging Patterns with the Actor Model: Applications and Integration in Scala and Akka" by Vaughn Vernon

#DDD #Microservices #DistributedSystems #EIP
Свежий пост Martin Kleppmann о вопросах лицензирования и о том, почему он против GPL.
"It's time to say goodbye to the GPL"
https://martin.kleppmann.com/2021/04/14/goodbye-gpl.html
Если нужно читать математические нотации недостаточно часто для того, чтобы их помнить полностью, но и недостаточно редко для того, чтобы позволить их себе забыть:

- Таблица математических символов
https://ru.m.wikipedia.org/wiki/%D0%A2%D0%B0%D0%B1%D0%BB%D0%B8%D1%86%D0%B0_%D0%BC%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D1%85_%D1%81%D0%B8%D0%BC%D0%B2%D0%BE%D0%BB%D0%BE%D0%B2

Ну и можно еще скачать "BS ISO 80000-2:2009 Quantities and units — Part 2: Mathematical signs and symbols to be used in the natural sciences and technology".

Материал может оказаться полезным для тех, кому время от времени приходится иметь дело с распределенными системами, алгоритмами, функциональным программированием, data science etc.

#Math
Kamil Grzybek:

📝 "I started a new "mini-project" in ModularMonolith repository - Catalog of terms. It is a list of all terms - patterns, approaches, principles used in the design and implementation. Each term will have a definition and example directly from the project.

For now, a list of most terms (80) is added and 4 have already been described. The rest will be added successively.

It is also an easy way to contribute to this project, so please feel free to contact me."

https://twitter.com/kamgrzybek/status/1382979162005241861?s=19

https://github.com/kgrzybek/modular-monolith-with-ddd/tree/master/docs/catalog-of-terms

#DDD #SoftwareDesign #Microservices #SoftwareArchitecture