I thought quite a bit about this extension of Conway's Law, which is taking the flexibility of the system under change into account. Here are some unsorted and maybe random thoughts from my experience of doing an inverse Conway maneuver on a larger scale at Flix. #SoftwareDesign
New blog: "Conway’s Law Doesn’t Apply to Rigid Designs".
tl;dr A reorganisation will help you get the system design you want, assuming the system is new or at least very flexible in adapting to the organisation. Not if the design is already ossified.
https://t.co/nrILg0shMV
@fduran@allenholub It's the curse of knowledge - as people who are very affiliated to the inner (and outer) workings of software, it's easy to say that these safeguards are unnecessary. But for the general user - holy moly NO! The amount of times I heard from users "but I thought that ..."!
@runarorama Isn't that inherent to TDD, where you don't have an idea of how the API will look like, and its up to you to design it? Then in the test you start writing the code as you want it, and then make the test pass?
@MarcJBrooker It's disturbing to see how many people think that Microservices were conceived as a solution to technical problems, and not organisational scaling issues.
@VaughnVernon@ICooper If persistence was transparent, it would, IMO, not be the Active Record pattern anymore. The benefits of Active Record are colocation of domain logic and data storage/retrieval, making them easier to understand and simpler to implement for those developing these sytems.
It was a pleasure to meet all you brilliant people at #DDDEU! ♥️
This year I decided that hands-on sessions will be my focus. The talks will be (eventually) released, but the hands-on sessions are unique in so many ways. To me, they are the highlight of the conference! Good bye!
@mathiasverraes I will need to wait for the next training budget cycle 😩, otherwise I'd have challenged the number 1 spot for fastest ticket sale in the history of #DDDEU!
On the train Berlin ->was Amsterdam for #DDDEU - choot choot! Really looking forward to meet everyone there. This conference is always a highlight for me, and this year my lovely wife is accompanying me, so it will be double the fun. Be there, or be squared!
@einarwh Sad to not see you there. Have a safe trip to Budapest. I try to note down as much as possible and release my Miro board afterwards, so you might be able to trick your brain into thinking that you actually had been there in the first place! 😁
My excitement for #DDDEU '24 is growing day by day. Are you going and have not chosen your hands-on lab yet? If so, then do it quickly (check your email inbox for your private link), because they are one of the best parts of the conference! And some of them are full very quickly.
We're looking for a technical+organisational coach in #Belgium, with DDD & architecture skills and a Continuous Delivery mindset, to help our clients deliver incremental value faster. [email protected] for more info.
@mathiasverraes This step would not be necessary in an Ensemble environment. https://t.co/mZCPmcNewH e.g. disables pipeline runs by default via "skip-ci" commit messages. But this only works if there is parity between the local & CI server test environments (which IMO should be the goal).
@Grady_Booch Having ISO standards and the reality within organizations are two very different pair of shoes. Who actually has read the complete standard nowadays? And no, I am not joking, I know of no one in my org at least.
@Grady_Booch The stakeholder might be the wrong person to provide insights into that usefulness. The only reliable source of information are the users/customers of those software systems, that probably span many business capabilities to make the organization realize it's value proposition.
@vlad_mihalcea I believe that is partly due to the underlying JVM itself gives a higher flexibility in terms of supported technologies. You could run Java, Scala, Kotlin, and more (even within the same application) side-by-side. And more options means less risks.
@quii@VaughnVernon I like the "Functional core, Imperative shell" principle, which combines the best of both worlds. This often leads to leaner systems. Interfaces & modules describe operations, and the implementations benefit from the FP paradigm (testability, guarantees, compos ability, ...).
@VaughnVernon And even knowledge and experience are only helpful in the way that they teach you to ask the right questions to uncover as much hidden information as possible. And also to understand when enough information is gathered to run the first code experiments.