What we’re about
Welcome Domain-Driven Design practitioners & aficionados! This group is for software & product people interested in the world of domain-driven design. Covering topics from modeling to implementation, socio-technical systems, patterns, practices & heuristics, we'll have a range of talks, panel discussions and collaborative interactive sessions to collectively grow as practitioners of domain-driven design.
We have some great international (remote) & local guest speakers lined up and will be creating space for local first time speakers as well!
Sessions will be in-person (initially alternating each month between Sydney & Melbourne), with a livestream available.
Proudly supported by:
Meetup image generated by Stable Diffusion 2.1 with prompt: "abstract art, photorealistic, australian, domain driven design, boundaries, relationships, components, software architecture, kandinsky" and negative prompt "text".
Upcoming events (3)
See all- Language-Driven Design - Masoud BahramiLink visible for attendees
In September we are joined online by Masoud Bahrami from Iran. Masoud is the co-organiser of DDD Iran and we're excited to have the opportunity to hear his ideas about language in DDD remotely at the meetup.
Agenda:
5:30pm - Welcome
5:45pm - Masoud Bahrami - Language-Driven Design
6:30pm - Wrap up and Farewell
The live-stream link will be sent out to attendees on the day.
Language-Driven Design
One of the distinctive aspects of Domain Driven Design (DDD) is its strong emphasis on language, particularly domain language. While many design approaches prioritize abstraction and conceptual representation of the domain, DDD goes further by emphasizing the importance of carefully selecting the right words and language to describe domain interactions and events. The goal is to develop a concise and expressive language that accurately captures the domain problem and the intended solution.
This linguistic focus permeates every aspect of DDD, from discussions with business stakeholders to the design and implementation of code. It starts with conversations with domain experts, where the aim is to establish a shared understanding by using a common vocabulary. By finding the appropriate language to articulate domain concepts, relationships, and processes, teams can create a model that faithfully represents the problem domain.
The significance of language extends beyond communication alone. In DDD, the linguistic model serves as a bridge between the domain experts' knowledge and the implementation in code. It acts as a guiding force throughout the software development process, from conceptualization to coding. To effectively express the domain model in code, developers need a proficient level of programming skills. They must possess the ability to translate the concepts expressed in the domain language into executable and maintainable software.
About Masoud Bahrami
Masoud is the co-founder of the Iranian DDD Community and founder of the DDD School(http://domaindrivendesign.ir/). He has more than a decade of experience as a software developer, architect, modeler, and designer.
As a software consultant and architect, he helps organizations to build autonomous, self-organizing, product-centered, and agile teams, modeling complex domains using DDD, cultivating a culture of automated testing and agile practices such as TDD, BDD, and DDD in their teams.
As a DDD enthusiast, he established the Iranian DDD Community with his friends. Also, he founded DDD School(http://domaindrivendesign.ir/) as an independent startup providing courses, resources, and educational articles about DDD, software craftsmanship, modeling, test automation, etc.
- ADAConf 2024Rydges, Melbourne CBD, MelbourneA$250.00
About
The Analysis, Design, and Architecture Conference -ADAConf- is an Australian one-day community conference for those interested in software analysis, design and architecture. It is an off-shoot of this meetup community, and is a space for conversations about everything from specific technology problems and how they can be solved to abstract ideas at the intersection of technology and philosophy.ADAConf is dedicated to the mission of building software that is more valuable for its users and owners, more pleasant to work with for its builders and maintainers, and more collaborative in its conception & design.
Additional Information
https://adaconf.org/
https://www.linkedin.com/company/adaconfTicket purchase:
NOTE: RSVP-ing on meetup.com does NOT grant entry. Please purchase your ticket at https://www.trybooking.com/events/landing/1218766 - Global Day of DDD - Chris Simon - Modular Monoliths and Microserviceslevel 21/580 George St, Sydney
In November, we'll be live in Sydney and participating in the Global Day of DDD organised by the Virtual DDD meetup.
Chris Simon will be sharing a talk titled "Modular Monoliths and Microservices with Kruchten's 4+1 Views", a way to think holistically about systems design that incorporates both DDD concepts and microservices/devops ideas.
(As usual, live-streaming everywhere else, including to the Global Day of DDD Audience.)
Agenda:
5:30pm - Arrival, food & networking
6:00pm - Welcome
6:15pm - Chris Simon - "Modular Monoliths & Microservices with Kruchten's 4+1 Views"
7:15pm - Wrap-up & farewell
The live-stream link will be sent out to attendees on the day - when RSVPing, please indicate if you will be there in person or on the live-stream to help with catering.
Modular Monoliths & Microservices with Kruchten's 4+1 Views
Kruchten's 4+1 views is a way of understanding systems that uses 5 different 'views' of the system, allowing to design and scale different aspects of the system in response to different triggers:
- The logical view represents functional requirements & scales with functional complexity
- The process view represents executable processes & how they interact & scales with concurrency and deployment requirements
- The physical view represents the hardware & networks that the processes execute on & scales with load and throughput
- The development view represents the system as seen by developers (e.g. code) & scales with the number of teams and team size
- The scenarios view represents the various scenarios in which the system is used & highlights how components in the other views interact
A modular monolith is a system that has 'scaled up' the logical view (multiple modules), but not scaled up the process or physical views (single process, single hardware configuration).
We've used the 4+1 to design a system as a modular monolith - saving time, cost and complexity when the team was small & load was low and allowing simpler realignment of module boundaries as we were still discovering the domain. We gradually extracted modules into microservices as needed once we had built confidence in boundaries, when load grew and as the teams expanded and needed autonomy.
In this talk we'll explore what went well, mistakes we made & tips for adopting this approach.
About Chris Simon
Chris is a technology coach and advisor helping technology teams drive business success. He has a particular focus on helping startups realise their vision and new CTOs flourish in their roles. He also supports executives & boards with strategic technology advice, and engineering teams with training, mentoring and consulting in architecture, quality, domain-driven design and test driven development.
He is a regular meetup & conference speaker (https://chrissimon.au/speaking/) and to support teams using Domain-Driven Design, he recently launched https://contextive.tech & co-founded the DDD Australia meetup.