4 ms·
I think the core tenet would be "design every process(*) with feedback loops, so that you can detect when it needs to be updated". This can be as simple as hav
by TuringTest 4y ago
I think the core tenet would be "design every process(*) with feedback loops, so that you can detect when it needs to be updated". This can be as simple as having good tests that align with the business cases the API needs to support, to logging every data that goes through it and performing heavy data analysis on it.
(*) (Not just the processes in the program, but also processes in the company needed to find out what to do and how to do it).
This leads to organic growth, which can overcome problems caused by an upfront design that goes bad, because it couldn't have planned in advance every problem it will face in the future. Systems Design is all about adapting the system to changes in its environment. Learn about the Viable Systems Model for a mental framework on what to look for.
[1] https://en.wikipedia.org/wiki/Viable_system_model https://en.wikipedia.org/wiki/Viable_system_model