• [online] Intro to CQRS\ES and Q&A with Savvas Kleanthous

    Online event

    In this event, I will be doing a quick introduction to Command-Query Responsibility Segregation (CQRS) and Event Sourcing (ES), with a focus on what they are (and perhaps more importantly what they aren't), before opening the floor for questions. In the second section of the meetup, people will be given the chance to ask any question they may have about CQRS and ES, like:

    1. Can\Should you use event streaming platforms to do event sourcing?
    2. Is event sourcing really complicated?
    3. Why is CQRS and ES always mentioned together?
    4. Do you need to do DDD to succeed with CQRS and ES?
    5. What are the biggest gotchas when working with CQRS and ES?

    It is this second section of the event which is the focus of this meetup, and the aim is to leave approximately one hour for it. This is a safe environment to ask absolutely any question you may have about either CQRS or Event Sourcing, or how these interact with your system/architecture. I am running this meetup with the same subject because I'm trying to fill in a gap which I myself experienced when I was first introduced with these subjects. I had enough material to read about DDD, and a lot of videos, and many articles, unfortunately, many of which not really accurate, leading to a lot of misinformation.

    If you want to ask any questions, at any time during the session you can either:
    1. Write your question in the relevant section in the Miro board here: (pending)
    2. Write your question on Zoom chat

    IMPORTANT: The session will be running on London lunchtime: 12:30-14:00 Please confirm your local time. The first half-hour (12:30-13:00) will be the quick introduction to ES and CQRS, and the last one hour (13:00-14:00) will be the Q & A session.

    Savvas Kleanthous is the head of engineering at ParcelVision Ltd. Savvas always had a big interest in high-throughput and low latency systems and is a passionate advocate of DDD and microservices. He has experience designing, implementing and delivering systems using CQRS and ES, and also has worked in many different sectors including gaming, telco, logistics, and financial.

    2
  • Intro to CQRS\ES and Q&A with Savvas Kleanthous

    Online event

    In this event I will be doing a quick introduction to Command-Query Responsibility Segregation (CQRS) and Event Sourcing (ES), with a focus on what they are (and perhaps more importantly what they aren't), before opening the floor for questions.

    In this second section of the meetup, people will be given the chance to ask any question they may have about CQRS and ES, like:

    1. Can\Should you use event streaming platforms to do event sourcing?
    2. Is event sourcing really complicated?
    3. Why are CQRS and ES always mentioned together?
    4. Do you need to do DDD to succeed with CQRS and ES?
    5. What are the biggest gotchas when working with CQRS and ES?

    NOTE: this is a re-run of the previous event on the same subject I run last week: https://www.meetup.com/dddlondon/events/273187247/ so that people who didn't get a chance to attend (either due to time of the event or because it filled up quickly) will get a chance to ask their questions.

    If you want to ask any questions, at any time during the session you can either:
    1. Write your question in the relevant section in the Miro board here: https://miro.com/app/board/o9J_kkldv6w=/
    2. Write your question on Zoom chat

    Savvas Kleanthous is the head of engineering at ParcelVision Ltd. Savvas always had a big interest in high-throughput and low latency systems and is a passionate advocate of DDD and microservices. He has experience designing, implementing and delivering systems using CQRS and ES, and also has worked in many different sectors including gaming, telco, logistics, and financial.

    3
  • Intro to CQRS\ES and Q&A with Savvas Kleanthous

    Online event

    In this event I will be doing a quick introduction to Command-Query Responsibility Seggregation (CQRS) and Event Sourcing (ES), with a focus on what they are (and perhaps more importantly what they aren't), before opening the floor for questions.

    In this second section of the meetup, people will be given a chance to ask any question they may have about CQRS and ES, like:

    1. Can\Should you use event streaming platforms to do event sourcing?
    2. Is event sourcing really complicated?
    3. Why are CQRS and ES always mentioned together?
    4. Do you need to do DDD to succeed with CQRS and ES?
    5. What are the biggest gotchas when working with CQRS and ES?

    Due to the limited time we'll have for this event, I may not be able to answer all questions, but if there is interest, we may repeat the event later in the month.

    NOTE: this event is happening during UK's lunch as this was the most popular vote when I asked this question on twitter https://twitter.com/SKleanthous/status/1304011375312883712 However, we may schedule another event in an afternoon at a later date if there is interest.

    Savvas Kleanthous is the head of engineering at ParcelVision Ltd. Savvas always had a big interest in high-throughput and low latency systems and is a passionate advocate of DDD and microservices. He has experience designing, implementing and delivering systems using CQRS and ES, and also has worked in many different sectors including gaming, telco, logistics, and financial.

    3
  • [Online] Functional Domain Modelling in F# with Ian Russell

    Functional Domain Modelling in F#

    We have got so much better over the last 10 years at iterative and collaborative domain modelling but we still have problems transferring that knowledge and understanding to our codebases. F# is the best language that I've worked with in 25 years at helping to define a domain model that non-coders can easily understand and that can assist coders by making illegal states unrepresentable. The F# algebraic type system allows us to combine small building blocks to build much larger data structures. In this session, you will be introduced to the F# type system and learn how we can use it to model and solve interesting domain problems.

    Examples will be in F# but no prior experience of the language is required.

    Speaker's bio:
    Ian Russell has been a software developer for about 25 years. He has been a regular speaker at community conferences and user groups in the UK for the last 10 years speaking about a wide range of topics but has concentrated on F# and Strategic DDD in the last 3 years. He works remotely for Softwarepark, a software solution provider based in Vienna, Austria.

    Sponsors:
    - Domain Centric (https://domaincentric.net) - Meetup subscription, Zoom subscription

    3
  • [Virtual] Aggregate Design Canvas with Kacper Gunia

    Online event

    This is a virtual workshop, so please sign up if you plan to actively participate. During the workshop, we will use Zoom breakout rooms and Miro.com.

    Abstract:

    The Aggregate Design Canvas is a modelling tool meant to be used as a part of design-level domain modelling activities.

    An aggregate is a lifecycle pattern originally described by Eric Evans. By aggregate, we understand a graph of objects that is a consistency boundary for our domain policies. Depending on the design of the aggregate we can either enforce them (make them invariant) or be forced to have corrective policies in place. Because of that, it is important to design the boundaries of aggregates well, as they impact behaviours modelled within our domain.

    During the workshop, you will have an opportunity to model an aggregate in practice and document it using the Aggregate Design Canvas.

    More informations:
    - https://domaincentric.net/blog/modelling-aggregates-with-aggregate-design-canvas
    - https://github.com/ddd-crew/aggregate-design-canvas

    About the speaker:

    Kacper Gunia is an independent Software Architect, Trainer and Consultant with 10 years of experience in the industry. He is passionate about delivering value by creating software that is aligned with the business as well as by enabling teams to be successful & productive with Domain-Driven Design and other methodologies. Kacper worked with clients including Starbucks, Time Inc, GFT, Sportradar & Government agencies. In his spare time, he runs Domain-Driven Design London meetup.

    Sponsors:
    - Domain Centric (https://domaincentric.net/) - meetup subscription, hosting, Zoom subscription

    3
  • [Virtual] An introduction to arc42 with Savvas Kleanthous

    Online event

    Speaker: Savvas Kleanthous (https://twitter.com/SKleanthous/)

    An introduction to arc42

    arc42 is simply a template for documenting the architecture of a system. What makes it interesting is that this template was structured in such a way that it guides the architect to:

    1. Focus in what is required
    2. Author the architectural documentation in a way that facilitates communication, to all parties
    3. Cover all aspects that are useful

    But while it's just a template, it is useful, and of interest for a number of key reasons.

    During this talk I will be presenting arc42, what it is, and how to author architectural documentation based on the arc42 template. More specifically, we'll start with a brief intoduction of arc42 and why it may be of interest, before going into a more detailed explanation of each of the 12 sections that arc42 contains, along with guidelines to help you fill in each section. We'll also briefly touch on the relationship of arc42 and the C4 model, and how the two can work together.

    After the overview, I'll be going over my experience with arc42, compare it with a couple of different approaches, and give my opinion of arc42 and it's use in a modern, fast-moving environment.

    By the end of the talk you should:

    - Have an understanding of what arc42 is and what it is good for
    - Know what information belongs in each section
    - Have a basic understanding of how to fill in arc42
    - Be aware of a couple of pitfalls

    7
  • [Online] Creating a Playbook for DDD Newcomers

    Online event

    Introducing DDD to a company is not easy, especially if you are new to DDD yourself.

    In this meetup, we are going to brainstorm and catalogue a collection of techniques and strategies DDD newcomers can use to help people in their organisations see the benefits of Domain-Driven Design.

    If you are new to DDD and would like help, or if you are experienced and would like to offer your advice, please attend this highly-collaborative session and share your ideas. We'll be working on Miro, the online whiteboard, for collaborating.

    Following this session, the ideas we collect will be shared as an open source github repository so they are freely available to anyone new to DDD. The repository will also allow anyone to make a pull request at any time if they have a problem or advice.

    9
  • [Virtual] DDD-Lite: Independent Service Heuristics with Matthew Skelton

    This event is co-hosted with Virtual DDD (https://virtualddd.com/)

    Zoom: https://us02web.zoom.us/j/81504988822
    YouTube: https://youtu.be/VbjIrnXoNgE

    Abstract

    When designing organizations for fast flow of change, we need to find effective boundaries between different streams of change. Techniques like Domain-Driven Design (DDD) are very powerful for this but can be quite involved and difficult to learn. A lightweight intermediate approach is to ask "could this thing be run as a cloud-hosted (SaaS) service or product?".

    This session explores the Independent Service Heuristics, a kind of “DDD-Lite” approach based on some ideas in the book Team Topologies by Matthew Skelton and Manuel Pais. The Independent Service Heuristics help teams to find candidate services and domains for running as a separate value stream or separate service.

    The Independent Service Heuristics have proven useful for various organizations improving flow. In this session, we would really welcome feedback and critique of the approach. Where might the approach not work? What pitfalls might there be? Are there questions or material missing?

    See the Independent Service Heuristics on GitHub at https://github.com/TeamTopologies/Independent-Service-Heuristics - send a Pull Request! The material is Creative Commons CC BY-SA.

    About the speaker

    Matthew Skelton is co-author of Team Topologies: organizing business and technology teams for fast flow (https://teamtopologies.com/book). Head of Consulting at Conflux (https://confluxdigital.net), he specialises in Continuous Delivery, operability and organisation dynamics for software in manufacturing, e-commerce, and online services, including cloud, IoT, and embedded software. Recognised by TechBeacon in 2018 and 2019 as one of the top 100 people to follow in DevOps (https://techbeacon.com/devops/devops-100-top-leaders-practitioners-experts-follow-0), Matthew curates the well-known DevOps topologies patterns at https://devopstopologies.com and is co-author of the books Continuous Delivery with Windows and .NET (O’Reilly, 2016, https://cdwithwindows.net/) and Team Guide to Software Operability (Skelton Thatcher Publications, 2016, https://operabilitybook.com/). He is also the founder at Conflux Books (https://confluxbooks.com) which publishes books for technologists by technologists. Twitter: @matthewpskelton (https://twitter.com/matthewpskelton)

    4
  • Group Exploration: How Can We Improve Remote Domain Modelling?

    Location and Facilitators
    ----------------------------------
    Gien Verschatse, Kacper Gunia, and Nick Tune will be your facilitators for this event.

    This session will be hosted as a Zoom event and we will be collaborating using the online modelling tool Miro. Details for accessing these tools will be provided shortly.

    We do recommend that you take the time to familiarise yourself with Miro using its free tier.

    Session Abstract
    ------------------------
    This session is a little different. We're not going to present techniques or solutions, we are going to provide a structured format for solving problems.

    The problem we are going to focus on is Collaborative Domain Modelling. Both in the short-term and the long-term there is a need to make domain-driven design techniques more accessible to remote teams. This is the start of a community initiative to solve this problem together.

    The format of this workshop will be split into short sections. We'll be discussing ideas as a group and then breaking out into small teams to brainstorm ideas for specific aspects of remote domain modelling.

    Please feel free to bring all of your existing problems to this workshop. You can also check out a blog post we recently published exploring how me might improve remote domain modelling: https://medium.com/nick-tune-tech-strategy-blog/remote-optimised-domain-modelling-the-present-and-future-7d5e7d68c790

    11