@AlperAslan1980 Ich folge derselben Devise und tituliere es Domain-driven Design :)
Auch hier kann man es ohne Kundenfokus betreiben, wird dann halt nichts bringen.
@DugarToGo @NicolasKorte @HelgeForster @AlperAslan1980 Maßnahmen bis zu 30% Eröffnung einzuleiten. Aber dann ist immer Trauer angesagt, wenn der Mitarbeiter die Firma verlässt. Die Konkurrenz freut sich, dass Potentiale dann auftauchen. Das habe ich selbst schon erlebt und oft miterlebt. In großen wir kleinen Unternehmen.
@DugarToGo @NicolasKorte @HelgeForster @AlperAslan1980 Was ich schlimm finde, ist die jährliche in Aussichtstellung einer Gehaltserhöhung. Gerade bei Angestellten, die im Unternehmen abgefangen haben, gucken beim Gehalt dem Marktwert wir hinterher. Aber die MJG ausführenden Führungskräfte haben ja keine Möglichkeit, 1/2
@ntcoding True. That's the reason I think we should restore the unambiguous pattern to name. Everybody should understand the same. For a dedicated problem a proper solution with known consequences or resp. constraints. Are least this is the definition of a pattern 😉
But this good summary shows one flaw in the DDD terminology, which we should fix pretty soon in the DDD community. I mean the unambiguous usage of the term **domain event**.
In @ntcoding book of DDD practices and patterns the domain event is for internal bounded context usage. 1/
I propose to name events for bounded context integration and hence as API or port to other bounded contexts differently. The last months I used the term pivotal events for the externally used events in the domain. @ntcoding: what do you propose?
The usage of the same pattern in the hounded context integration causes design flaws like event sourcing for several bounded contexts. This is really a bad idea, I talk with experience...😰 2/
@ntcoding I didn't expected the software design event storming in the tactical design pillar. I typically use it in a collaborative exploration with several stakeholders. In addition I perform this level of detailed event storming after a process model ES or example mapping session.
The correct mindset. Don't ask for permission but ask for forgiveness. Stakeholders want everything for almost no costs. Hence our experience and profession is mandatory to avoid unmaintainable products.
I don’t ask if I can write tests.
I don’t ask if I can spend time refactoring before I commit.
I don’t ask if I can make the UI accessible.
I don’t ask if I can make my code performant and secure.
I don’t ask for permission to do my job well.
@jukesie Good point! But with regards to efficiency: consider the amount of time you saved for each and every listener of your talk with your preparation. I assume, the 9 times more efforts prep to talk is pretty soon amortized.
A recurring irony of the KISS principle ('Keep It Simple, Stupid') is confusion around how the last word functions. It's intended to be vocative, i.e., addressing someone, but often the comma is dropped or 'and' added, changing the meaning.
KISS, it turns out, is not so simple.
Which is the ethos of the whole #agile thing: giving building the right thing a higher priority than building it right.
Let's repeat all together: no one wants a sloppy product on time. Not even the "market".
Who wants to join my club against using Foo and Bar as variable names? They're often unclear and replaceable with real-world examples.
We'll call ourselves the Foo Fighters.
@timothymortimer@webdevilopers If there are several invariants and even consistency policies between aggregates, it's a good point to think about other concepts which fit to the concrete invariant. Otherwise the aggregates root mutates to a God class. 2/2
@timothymortimer@webdevilopers Completely agree. The consistency check and enforcement is encapsulated in the aggregate. Hence it depends on the team, where the enforcement is performed. If within the aggregate only a handful invariants have to be enforced I would realize them in the aggregates root. 1/2