Explicit scope, separate clouds, whatever it takes to make strong boundaries.
If architecture of one hunk of software doesn’t impact the software cared for by other departments, then the decision is less important to the overall organization.
Clearly defined, stable APIs mean: worst case is a local replacement.
Keep big decisions local.
If we work at boundaries, limiting the scope of our decisions, making each one _less important_
then we can let process vary across the organization. And that means we are open to progress. To iteration, instead of ossification.
yet, if you’re the person with a high-level position in the organization, why would you want to make anything in your responsibility _less important_?
That would make you look less important.
Our hero culture gets in the way. 😭
• • •
Missing some Tweet in this thread? You can try to
force a refresh
@PhillipaAvery@netflix In the Startup and Growth phases, it's all about velocity. In Maturity, it gets interesting. We need stability without killing velocity.
@PhillipaAvery@netflix In renewal/decline, parts of the software need stability while other parts need velocity.
(I missed the cool picture, it was pretty great)
Today at #QConPlus , @girba shows graphs that reveal hidden dependencies in code.
Somehow this code reveals its own properties and relationships in custom-made developer experiences
Glamourous toolkit: gtoolkit.com
"empowering developers to create their own tools for every one of their problems" @girba#QConPlus
This is a superpower of developers: we can craft our own work environment.
For example, when viewing build logs: as you find a new problem, add some custom highlighting so that next time it jumps right out at you.
Anyone who says to you “this architecture is universally applicable”
is probably selling something,
and not doing a very good job at selling something.
Don’t use event-driven architecture for a small system or for an exploratory spike.
“learn what you’re trying to do before you elaborate your architecture.” @tlberglund#DevoxxPL
Databases don’t go away when you’re using events.
If nothing else: when you need lookup by multiple keys, databases are necessary views on the system of record (which is the event log).
Adding people scales at best linearly upward, at worst geometrically _downward_.
Two things you must constantly seek in order to get more done with more people:
1. "Constant pursuit of force multipliers"
Instead of adding more people to the same task, change the task to be done.
Develop more-complex internal structures, such as tooling teams that facilitate many development teams.