One of the most fascinating things about software architecture is how choices in the past can have such a strong influence on the system for years to come.
You might make a decision that seems trivial at the time, but new features get layered on top of your design's assumptions.
These bakediin constraints limit how you can evolve the system,...
Do you let the ORM persist your aggregates and record just the events for the aggregate root or do you let the ORM persist all entities seperately and record events for all data changes of all entities of you aggregate?
Should you design APIs based on what you (the owning team) think is the best way to expose your domain, or do you make compromises based on the needs of your API's consumers?
(API here refers to any element of the public contract of your service/subsystem/app/domain/context, such as HTTP endpoints or events.)
You start from any conventions you've agreed on with other teams regarding API design.
Then you focus on what's best for your domain model.
And when you find reality has needs beyond what both convention and model dictate, you inspect and adapt. That means revisiting a convention or remodeling your domain boundary.
🎉 Big news for DDD enthusiasts! Our virtual Domain-Driven Design community has relaunched with a fresh website aimed at easier knowledge sharing across time zones.
🌐 First Aussie meetup on the horizon!
Interested in organizing a Virtual DDD yourself in your timezone?
🚀 Créer des applications avec Symfony rapidement ? C’est facile ! Mais développer des apps destinées à tenir la route sur le long terme, voilà le vrai challenge.
🔍 Faire évoluer continuellement une application sans affecter les fonctionnalités existantes et tout en minimisant les bugs demande une stratégie bien pensée. C’est là que l’importance d’une architecture robuste entre en jeu.
🚀 Créer des applications avec Symfony rapidement ? C'est facile ! Mais développer des apps destinées à tenir la route sur le long terme, voilà le vrai challenge.
🔍 Faire évoluer continuellement une application sans affecter les fonctionnalités existantes et tout en minimisant les bugs demande une stratégie bien pensée. C'est là que l'importance d'une architecture robuste entre en jeu.
I enjoyed facilitating a DDD workshop and doing a little talk about architecture modernization.
The slides for this and all of my talks are available on my site, along with videos where recorded (I’m not saying they're good, I'm just saying they are there).
Are you aware of our natural tendency to add rather than subtract elements when solving problems? This 'additive bias' often leads to complex and coupled software designs. Ignoring this bias during software development can result in less efficient software with higher costs for changes.
Find out more about "How the bias towards additive can lead us to suboptimal and costly software design" in my latest blog post. Read it here: https://lnkd.in/eNPgrbaP
I’m on the market for a staff/principal role. I have a passion for #SoftwareArchitecture, Developer Experience, community, mentoring, #performance, and interacting with business and domain experts.
I've just published a new article: Beyond Problem and Solution Space: Better models for modern product development
I find the terms problem and solution space confusing so I've summarized the works of Indi Young, Marty Cagan, Teresa Torres, and John Cutler which can help to address this problem.
Please let me know if I've misconstrued, misunderstood or inaccurately represented any ideas.
I'd love to work with a team already working with #EventSauce or a team wanting to bring EventSauce into their #php project.
An ongoing consulting relationship or a part-time/short-term contract would be my preference, but I would consider full-time employment for the right opportunity.
Please message me here or contact me via my website to talk more!
I have availability opening up at the end of October for client work. I'm open to discussing all opportunities, but my ideal projects include domain exploration and modeling.
I'm starting Office Hours this week! I've set aside time on Thursdays to connect with people to discuss software development, open-source software, architecture, and domain modeling.
Are you grappling with the complexities of evolving software solutions? Want to pivot from "keep it simple" to "work in complexity"?
Join us this Wednesday, September 20th, 2023, for a Virtual Domain-Driven Design Open Space Meetup on Systems Thinking and Skillful Interaction. Dive deep into the challenges and nuances of working in a complex software environment.
🌐 What's an Open Space? Open Space Technology is a participant-driven approach to meetings and conferences. It's a space where attendees create the agenda, lead discussions, and collaborate on topics they're passionate about.
🔹 Keynote Speaker: The brilliant @jessitron a renowned systems thinker, will be setting the stage with her insights.
🎟 Tickets: Only $5! The fee covers our platform costs, and any surplus goes straight to charity. A win-win for knowledge and goodwill!
🚂 On my way back home from #LeanAgileScotland by train. A massive thank you to the @LeanAgileScot
team for a seamless event! 🙌 It was heartwarming to reconnect with everyone. Grateful to all who attended my talk & for the invaluable feedback. 🎤
Shoutout to @suksr for distilling the following heuristic from my talk that I will include in the next time: "When your domain model has too many exceptions, split it into two bounded contexts." 🧠 #domaindrivendesign
Last night was up there with the best DDD London events we've had.
Firstly we were invited into Zoopla's home to hear from their Peter Sellwood and Dan Ransom talking very openly and candid about how they evolved their org structure and software with a domain-driven approach.
So many great insights and takeaways from this talk.
Our next #dddLondon event is on the 4th September, with two quality talks lined up.
Thanks to Zoopla, who will be hosting and delivering the first talk about their architecture journey.
The night's second session will be from Wolfgang Goebl sharing his expertise on Enterprise Architecture, and in particular the overlap between business capabilities and DDD.
Thrilled to announce the next installment of our Virtual Domain-Driven Design Open Space Meetup! 🎉🚀
As software solutions continue to expand and evolve, so does complexity. How can we keep delivering features at scale and reliably, amidst this inherent complexity? 🤔 It's time we transition from the "keep it simple" mindset to one that encourages us to "work in complexity".
We're excited to explore this challenge together. To guide us on this journey, we're delighted to have @jessitron, a highly esteemed systems thinker, kick off our open space with a keynote. 🗣️🎙️
Join us on September 20th to engage in thought-provoking discussions, network with like-minded professionals, and acquire skills that will help you sail smoothly through the ocean of software complexity. ⛵️💼
Be sure to save your spot by buying your 5 USD ticket today!