DDD Weekly: Issue #38

June 16, 2017

You are also opting in for interesting, DDD-related emails from buildplease.com

Designing features using Job Stories [blog] Alan Klement. Personas and User Stories made sense when customers and product teams were far from each other. That’s no longer the case.

Domain Storytelling [site] Stefan Hofer. The best way to learn a language is to listen to other people speak that language. Try to repeat what you hear and mind their feedback. Gradually, you will progress from individual words to phrases and to complete sentences. The more you speak, the faster you will learn. With Domain Storytelling you can employ the same principle when learning a new domain language. Let domain experts tell their domain stories. While listening, you record the domain stories using a pictographic language. The domain experts can see immediately if you understand their story correctly. After very few stories, you are able to talk about the people, tasks, tools, work items, and events in that domain.

Apache OpenWisk [platform] Apache. Apache OpenWhisk is a serverless, open source cloud platform that executes functions in response to events at any scale.

Book Review: The Economist Guide to Organisation Design [blog] Nick Tune. Organisation design is a tremendously nebulous concept. For many people, organisation design is simply an org chart, and it’s an activity they shouldn’t care about because it is the manager’s job. I don’t believe that, and nor does Naomi Stanford, author of The Economist’s Guide to Organisation Design.

event-machine-skeleton [project] Prooph Software. Dockerized skeleton for prooph software Event Machine

Ubiquitous Language and Naming [blog] Vladimir Khorikov. Naming is hard. Anyone who ever tried to give some vague concept in code a clear, meaningful name knows that. It is even harder when you consider how important it is. This realization can add up some pressure which doesn’t always help when trying to choose a good name.

Monoidal Event Sourcing Examples [blog] Jérémie Chassaing. And since in Event Sourcing, all the tricky decisions are done before emitting an event, applying the event should just be setting values, incrementing / decrementing values, adding / removing items to sets or lists, all those operation are monoidal, hence almost all aggregates should be convertible to monoidal Event Sourcing… Of course it doesn’t mean you should do Event Sourcing this way, but it was rather funny to explore this!

Add git-like functionality to your application using Event Sourcing [blog] Lucas Majerowicz. In this post we’ll implement a tool for managing products using event sourcing, node.js and neo4j. Event sourcing will enable us to support neat git-like features such as versioning, branching and merging that would be very hard to support with a more traditional approach.

Checkout Shopping List API [code] Fadil Khodabuccus.

Open Space: Rocket Fuel for your Agile transformation [blog] Matt Wynne. Over the last couple of years, we’ve been privilidged to be trusted by some of our best consulting clients to run open space events in their organisations. I’m now convinved that these events are crucial in powering the cultural shift to agile software development.

GOTO 2017: Patterns of Effective Teams [video] Dan North. Some teams are orders of magnitude more effective than others, turning around business solutions in days or even hours. Their secret is a combination of smart technology choices, great development habits and a powerful team dynamic. In this talk Dan describes a number of patterns of behaviour that he’s identified working with some great teams, beyond the basics of co-location, stand-ups and pair rotation.

MBrace: Integrated Data Scripting for the Cloud [framework]

GOTO: 2017: Patterns of Effective Teams [video] Martin Fowler. During my career, I’ve often people heard people describe their systems as “event-driven”. But when looking deeper that phrase seems to lead to some very different architectural assumptions. On a recent workshop we identified four different patterns which tend to appear under the title of “event-driven”: event notification, event-based state transfer, event sourcing, and CQRS. We feel that understanding and using these more precise terms will lead to better communication and decision making.

Akka anti-patterns: using remoting [blog] Manuel Bernhardt. Whilst I have always successfully discouraged my clients from using Akka Remoting in their application, I often get questions regarding remoting while talking about anti-patterns at conferences and user groups.

The Complexity That Is Hidden in Microservices and Event Sourcing [blog] Satyajit Ranjeev. Satyajit Ranjeev shares his experience building an event sourcing system with microservices, including tips and trade-offs dealing with them.

Just published the new chapter on “Process Management” in a world of autonomous services! [tweet] Matthias Nobak.