Discover and read the best of Twitter Threads about #ddd

Most recents (24)

cool was my job 10 years ago.
#nosql? we used the largest transactional database on planet: @objectivitydb CAP: #ACID or #BASE ? BOTH!
#Java? #Microservices, SaaS, PaaS, for German and European EDIfact, FTAM, ATLAS,#NCTS, #AES,... Toll/ Duane before #RodJohnson, #GavinKing...
... invented @springframework and #ORM and #EricEvans #DDD ... new names for the same Things?
No! #DevOps are more than just #SysAdmins who develop with a script language hopefully #python and
... and #PlatformEngineers are more than magic PowerPoint2Java Compiler or SoftwareDevs who are Application Managers for a handfull hours per week or the 2nd Level Firepissung Support Unit.
Read 6 tweets
Conoces el término invariante de #ddd?

Te lo explico ⤵️
Un invariante es una regla de negocio empresarial que siempre debe ser consistente.

Una invariante es una regla de negocio empresarial que siempre se tiene que cumplir, no se puede romper.
Las entidades deben validarse a sí mismas y si no se aseguran los invariantes deben fallar.
Read 6 tweets
If you're excited to leverage #WardleyMapping, #DDD, #ValueStreamManagement, and #TeamTopologies, order of execution can help smooth the journey.

One should launch you into the other well prepared to create value. Here's a flow that sets you up for success: 🧵
First, clarify needs, objectives, obstacles, and a vision for your future state. You can use Outcome Mapping or a press release formula for this (ideally both).

Working backwards always helps you avoid wandering or drift from working forwards, and brings a team into alignment.
Wardley Mapping helps understand your current ecosystem and what the future could look like if you change things. This is a great place to start to discover current work streams and focus your efforts.
Read 14 tweets
Why do I practice #tdd you ask?

There’s a number of paths I could’ve taken (or combinations of the four).

1) Write no automated tests.
2) Write tests before writing code.
3) Write tests at the same time as code.
4) Write tests after writing code.

🧵 Image
On a project that’s worth practicing #DDDesign, having no tests is not an option. Continuous refactoring towards deeper insights is the foundation of #DDD and it’s too scary to refactor with no tests.
As a result, refactoring won’t happen without tests and code will rot. Over time our code and our understanding of the domain will either diverge, or we’ll stop looking for insights to avoid change.
Read 17 tweets
1/ Side Project C started 🚀

It came after understanding the paradigm shift from Organizing teams, where we see a tendency toward @TeamTopologies, #DDD, and #DynamicReteaming as new emerging practices vs the old paradigm. Wardley Map about the Manager's needs towards Organizing Tea
2/ With a higher #TeamTopologies adoption, it creates new sorts of needs for managers.

Needs that I'm currently facing and I'm currently solving with Excel files to gather team's feedback and improve my organization sensing
3/ I will make the side project publicly as soon as I feel confident about it. Yet, I do a Tweet about it because it boosts my commitment to the side project 😄✌️
Read 6 tweets
Do you want to take your knowledge in #Python to the next level? Learn how to build a @WhatsApp Chatbot, how to code music recommendations like @Spotify , dive into Domain Driven Design Patterns, Data Analysis, and more!

How to Build a WhatsApp Chatbot Using #Python and #Twilio via @PoojitaGarg @GeorgiaTech
In this talk, you will learn how to create your own @WhatsApp #Chatbot that can help you set and receive daily reminders via WhatsApp…
Simple, Open Music Recommendations in Python via @robotmakesmesad
Can simple open-source tools compete with the music recommendations provided by @Spotify and other big names?…
Read 8 tweets
1/ I'm doing some reflection on how #DDD can help you spot a Platform as a Product Team from @TeamTopologies wrongly applied Image
2/ Indeed, I think we created a Platform Team because the intention was to reduce cognitive load on teams on a specific part.

BUT, on the recent learnings, we think it might be a Bounded Context by itself, a Supporting Subdomain at least.
3/ This is one of the cases in which using different perspectives to the same problem space helps you find the best team composition.
Read 11 tweets
0⃣ Clean Code Series: Variables📒🧑‍💻

It's a guide to producing readable, reusable, and refactorable software in #php #ruby #javascript #python #java, etc. - Software engineering principles, from Robert C. Martin's book "Clean Code"


Thread (9)🧵👇 Image
1⃣ Clean Code Series: Variables📒 🧑‍💻

☑️ Use meaningful and pronounceable variable names Image
2⃣ Clean Code Series: Variables📒 🧑‍💻

☑️ Use the same vocabulary for the same type of variable Image
Read 12 tweets
🏷️ Naming is so important and so cumbersome in programming as Phil Karlton coined in his famous cite:

"There are only two hard things in Computer Science: cache invalidation and naming things."

A thread 🧵👇
📐From the design phase.
Having a common name glossary is the central point in methodologies like #DDD.
But even if you don´t follow it, you will appreciate having a #ubiquitous language to communicate with all the people involved.
🚧 In the architect's hands naming is the core of its work.
Creating #patterns is given a name to proven solutions. Using them is using those names.
Dividing codebases and defining #layers and #tiers forces you to give them a name.
Read 6 tweets
🏷️ Naming is so important and so cumbersome in programming as Phil Carlton coined in his famous cite:

"There are only two hard things in Computer Science: cache invalidation and naming things."
📐From the design phase.
Having a common name glossary is the central point in methodologies like #DDD.
But even if you don´t follow it, you will appreciate having a ubiquitous language to communicate with all the people involved.
🚧 In the architect's hands naming is the core of its work.
Using #patterns is given name to proven solutions.
Defining #layers and tiers forces you to give them a name.
Read 5 tweets
This November was overloaded with the highest quality #Python related meetups. Check out what the most sought after videos were and pick your favourite!…
How can you create a simple #opensource tool that competes with the music recommendations of @Spotify? Find out from @robotmakesmesad…
Let Kate from @LibertyMutual guide you through her work with finance and business partners and how she could identify potential automation challenges in #Python and possibilities.

Read 7 tweets
💥He recopilado las 69 MEJORES EMPRESAS que lo pueden hacer mejor en los próximos años💥
👉Descripción, precio, crecimiento, características y valuación de 5 años en un sola página⚡️
🔥SUPER hilo desglosado en sectores🔥
El informe completo en mi web
16 sectores con mucho potencial:
1 Base de datos🖥️
2 Internet💻
3 Games / Streaming🎮
4 Fintech💸
5 Impresoras 3D📟
6 Evs🚗
7 Semiconductores🔌
8 Drones🚁
9 Realidad virtual📺
10 Software💽
11 Renovables☀️
12 IoT📠
13 Telemedicina🩺
14 Medicina🧬
15 Ecommerce🛒
16 Cannabis🍀

Read 70 tweets
*GUERRILLA Domain-Driven Design Thread*

I was talking to a colleague & fellow Domain-Driven Design obsessive @thoughtworks the day before yesterday.

Their gig wasn't using #DDD, and while they knew it would bring benefits, they had no remit to start a full-on adoption effort.
And so the conversation turned instead to how they can make their little part of the codebase a #DDD haven, and keep themselves sane in the process.
Now, the typical mindset of a grafting Dev shipping quality code these days is SOLIDSOLIDSOLID, and while that's generally no bad thing, is there a similar place for #DDD in that scene?
Read 35 tweets
Making illegal states unrepresentable without access to at least HKTs and preferrably also to GADTs and type families is so limited that it becomes almost futile. Or becomes very verbose in a similar way to having no polymorphism/“generics”. #fsharp #Haskell #ddd
Here is a type for a customer and address in pseudo-#fsharp syntax: type Customer f = Customer of Name * f<Adress>. Newly registered customer may or may not enter an address: register : ... -> Customer Option. But...
... placing an order requires the address to be known: placeOrder : ... -> Customer<Identity> -> Order. Where type Identity<a> = a.
Read 3 tweets
one way to look at it is that #domainDrivenDesign is the union of technical #objectOrientedDesign tightly coupled with subject matter expertise, business analysis and modeling. #ddd is #ood with soul. #ddDesign is #ooDesign done right
in complex systems, or enterprise development

different people/teams may have different
povs/ models/ experiences/ conceptualization/ understandings

of the subject matter or problem to be solved, and ...

they dont realize that there are these different povs; and even if they do,

they dont see the danger of coding to different concepts as long as it "works"; so inevitably ...

Read 7 tweets

Why I believe @4dpharmaplc are on the cusp of a multi hundred million pound licencing deal for IBD and IBS?


Great Video 'Our Approach' highlighting @4dpharmaplc world leading innovative concept

Harnessing the bodies own Microbiome (Gut Bacteria) to solve genetic imbalances and malfunctions commonly referred to as diseases…

Are you excited yet?

Read 96 tweets
Indu Alagarsamy on the intersection of #DDD as a software discipline with Messaging as a technology counterpart. @Indu_alagarsamy…

👏🏾 in order to capture, understand, implement domain nuances, separate the unified model into new ones in it's own bounded context
👏🏾 decompose models/contexts
- by teams' makeup/composition
- by transactional consistency
- by business processes/ behaviors
Read 26 tweets
Le #MeetupDeconfinement sur le #DDD stratégique par @Lilobase , ça commence maintenant @benextcompany !
"Un seul VP / Chef doit venir râler quand un bout du programme pète."
Ce sont nos *domaines* qui apparaissent. On ne parle pas encore de micro-service, de bounded-context...
Read 35 tweets
Il y a-t-il des pro du #DDD dans la salle ?
J’ai une question sur les classes partagées sur plusieurs aggregate

Ex : la classe Adress peut être partagée dans plusieurs aggregates : Clients, fournisseurs, entreprises, lieux de stockage
En théorie une classe (non entité robot) doit être « cachée » dans son aggregate

Hors pour l’adresse je compte l’utiliser dans plusieurs aggregate.

Des idées ?
Je précise que c’est ma première réelle expérience #DDD : je pose donc peut-être une question triviale.
Read 3 tweets
⏱️Why Event-Based systems Rock 🤘 [in 5 tweets].

Designing systems from domain events instead of columns in a database, endpoints on an API, or components in a view, has so many benefits.

#ddd #eventstorming
[Communcation] Thinking in terms of domain events is the closest we can get to expressing what happens in the real world. Features can be communicated by non-technical folk as a series of domain events.

UserRegistered -> EmailVerificationSent -> EmailVerified
[Auditing & Reasoning] When we represent a system using events, we can reason about the way that the system changed over time since the current state is computed by applying all of the domain events that ever occurred. In some domains, this is mandatory for audits.
Read 6 tweets
Writing Gherkin scenarios collaboratively can be beneficial both for business analysis, discovering the language of the domain and for the purpose of driving the code.

For both use-cases, here are some of my rules-of-thumb for writing Gherkin scenarios effectively.
#bdd #ddd
Given, When and Then are analogous to the three standard stages of a test:

Arrange: arrange the system to be tested in a given state
Act: take the action that is to be tested (perform the test itself)
Assert: check that what should have happened indeed happened
These stages apply to all tests where outcome depends on command given to system and state system was in. System moves from state A to state B as the result of the command: S1 → S2

Given the system is in state S1
When I give the command X
Then the system should be in state S2
Read 19 tweets
Domain-driven design can seem really complicated with lots of jargon, etc.

At-the-end-of-the-day, in a nutshell, it's a divide-and-conquer approach.

The #1 thing is to divide your business into smaller "chunks". Each chunk is easy to deal with + understand (thread)
BUT, to be able to do that well and in a way that benefits the business, you need to understand....the business.

What are the moving parts of the business?

Who are the people?

What do they do? When do they do it? Why do they do it?

What are the processes?
DDD drives software professionals to learn about the business so that they can walk hand-in-hand with the people who matter and will use the software in the end.
Read 5 tweets
Stopped at @IglooTweets here in Lafayette, Indiana, and happened upon a meeting of #RollingThunder Indiana Chapter 1 #POWMIA
Also tried @guyfieri approved @TheTripleXXX restaurant and knocked out another #DDD pick
Read 3 tweets

Related hashtags

Did Thread Reader help you today?

Support us! We are indie developers!

This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3.00/month or $30.00/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!