Talking Points
“This stream’s focus is modeling time, dealing with time and operational “
“How does time affect a remote organization?”
“How does time manifest as temporal coupling?”
“What is temporal coupling?”
“How does temporal coupling affect modularity and dependencies?”
“What is bi-temporality?”
“Time independence can help you separate facts from speculation in your data.”
“As temporal entities—like an invoice or subscription—travel through time, they become more complicated.“
“Git rebase is a good example of having to deal with a model that is designed to be used with a happy path that travels only forward in time (no undo)”
“Microservices help introduce inversions in the messaging flow to make collaborating services time-independent.”
“Conway’s Law exposes temporally coupled team members. Locality of collaboration influences more chatty services.”
“Time-based guarantees provided by big-ball-of-mud monoliths are crutches that hide unmodelled business behavior.“
“Event-carried state transfer helps avoid most temporal issues (even sourcing, EM).”
Recordings
Highlights (AI generated)
🔄 Temporal coupling in engineering can create conflicts when trying to resolve issues in a system. It opens up a class of problems that is difficult to reason about without proper intuition and tooling. Think of the complexity increase from invoicing vs subscriptions.
⏳ Neglecting to modeling temporal concerns can be destructive in shaping software, as it creates the illusion of control over time and leads to open questions that cannot be undone.
⏰ Temporal coupling can negatively affect developers when their module is coupled to another team's module, impacting deployment, versioning, and synchronization.
🔄 The concept of temporal coupling in business operations highlights the complexity of managing multiple transactions and the potential for workflow disruptions.
🔄 Decoupling a system through time is just as important as separating it into microservices, as it allows for more flexibility and better decision-making.
💡 The shift towards using PHP and templating engines with the serverless and Edge function movement raises concerns about architectural connections and refactoring systems.
🔄 The seating arrangement heavily implies the temporal coupling and the identity coupling between microservices, affecting how they are implemented and deployed.
🗣️ The best recipe for architecture is setting up the communication flow in your team, not just creating architecture diagrams.