neos / Neos.EventSourcing

A library for Event Sourcing and CQRS for Flow projects.
MIT License
44 stars 30 forks source link

Vision Statement / Manifesto? #52

Open albe opened 7 years ago

albe commented 7 years ago

Discussing about #51 I found that it would maybe be nice if we could find and agree on a small and distilled kind of manifest of the goals that we want to achieve with this package. That would help in making decissions with less "gut-feeling".

Here are some ideas:

What do you think?

bwaidelich commented 7 years ago

@albe Thanks for this, but frankly I don't think that we should have a separate vision for CQRS/ES. Instead we could maybe tweak https://www.neos.io/community/values.html

we want to make CQRS and ES a first class architecture pattern in Flow, that works side-by-side with the old MVC/stateful domain modelling approach

That's something we could put into the package description!

[...] we will ignore it if it works against a clean CQRS architecture

I'm not 100% sure if I get you right but maybe we could generalize along the lines of the Agile Manifesto. IMO we should never ignore any clean architecture or common practices but we should value usage/developer higher

albe commented 7 years ago

Instead we could maybe tweak https://www.neos.io/community/values.html

But that is rather pretty "meta" and on a social level. I was more aiming towards very specific goals to this package and how we strive to implement it.

along the lines of the Agile Manifesto.

Yeah, that one was my inspiration :) Stating priorities in a "x over y" kind of way, but which explicitly means both have a high value still.

but we should value usage/developer higher

Good that you bring this one up. It's probably one of the hardest ones. Is clean code/architecture more important than usage/developer experience (is there something like a "DX" acronym? :) or the other way round? Or do they maybe even run hand in hand?

Maybe as a small round-up of the priorities I tried to state in the points above:

(just my take on it, so if you don't agree with one of the above feel free to take your point)

dfeyer commented 7 years ago

Check https://tutorial.ponylang.org/ The Pony Philosophy: Get Stuff Done, nice an clear vision with a technical perspective

/me and this language in awesome by the way