-
Notifications
You must be signed in to change notification settings - Fork 0
System Design
It seems unlikely that using COTS (commercial off-the-shelf software packages) for your core domain (your competitive advantage) makes any sense. That's something you need to be build. Don't be scared to write software. You can do it! Just build it! -- https://twitter.com/crichardson/status/1422967303885389824
Domain-Driven Design: https://www.domainlanguage.com/wp-content/uploads/2016/05/DDD_Reference_2015-03.pdf

- Real World Schemas:
--
- Open Software Design: https://opensoftwaredesign.com
For any decision with a blast radius of >1 group.
"My usual beef with reference architectures is that they launder the creators' assumptions into "best practices" without helping you put your own needs in context. Turns out there's a cheat code to get past this problem, and the team that built "Emblem Giving" found it:"
https://twitter.com/forrestbrazeal/status/1593354888821592066
"So how do we architect mechanistic systems that fit elegantly into the organic substrate of our imperfect world?"
https://medium.com/@kris-nova/organic-and-mechanistic-systems-e576ac470845
Architecture ‘will be in a perpetual “in progress” state’
Modern #softwarearchitecture is explicitly as much about time as it is about the state of the system:
- “this lib will become a separate service when the load exceeds that threshold”
- “this CRUD module will be refactored into an Hexagonal Architecture when it grows more complex”
- “we’ll replace this SaaS service by an in-house one when our needs get more sophisticated”
- “we’ll split this Bounded Context into two when the corresponding team has grown beyond 9 members” Modern #softwarearchitecture is explicitly about time, it’s dynamic. It’s about evolution, options or irreversible decisions.
It’s no more about detailed target architecture diagrams!