Your team builds builds a new product feature. Let’s say it’s a system that moves money from a bank account to another (sorry, I spent too much time in FinTech).

Your feature is such a success, that other teams want to use the same primitives. Unfortunately, all your code has been built in private scopes, and your team doesn’t have the bandwidth to polish it up for external use; after all your OKRs are around customer satisfaction and revenue generation, not internal company happiness.

Guess what happens next? The other teams will either tie into your private domain, or make a copy of it. This will result in one of two possible awkward conversations:

  • “Why are you using our database model!?”; or
  • “Do we need to replicate bugfixes in your codebase too!?”

How do you fix this?

The “Bezos Mandate” is a stroke of genius and way ahead of its time. The tl;dr is: if you build something, you need to have clear, unequivocal access points that are provided via some explicit APIs.

Now, if you’re working on a relative small codebase stored in a monorepo, any layer of protection might be harder to enforce, and some other team might sneakily reuse your stuff.