4 ms·
Does anyone have good pointers on if/how systems design can be applied on a smaller scale in software engineering and API design? Granted, that would by definit
by moring 4y ago
Does anyone have good pointers on if/how systems design can be applied on a smaller scale in software engineering and API design? Granted, that would by definition exclude some very important factors on company level, but then, they are out of reach for me anyway.
EDIT: I realized that the above sounds like using SD to solve technical issues, but I meant to ask specifically about using SD to guide things like evolution and usage of a software architecture or API.
- TuringTest 4y agoI 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