Curated list of awesome lists
Awesome Software Architecture
Software architecture aims to describe the high level
structures of software as well as the discipline of creating them. As this topic is pretty broad, it might
contain some resources that are also present in more niche lists.
Contents
Principles
-
Flexibility - Able to adapt to changes in both environment and usability requirements without encompassing structural changes.
-
SOLID - Lend to developing software with considerations for maintaining and extending as the project grows
Design Patterns
Scalability and Resilience
-
Circuit Breaker - Protecting failing resources to prevent cascading failures.
-
Bulkhead - Partition resources to isolate failures.
-
Leader Election - Coordinate distributed workloads by electing a leader.
Methodology
Documentation
-
arc42 - Template for documentation and communication of software and system architectures.
-
Architectural Decision Records - Version and document architectural decisions the same way you do with code.
-
Documenting architecture - Pragmatic tips on how to effectively document software architecture.
Modeling
-
Sparx Systems Enterprise Architect - Object-oriented modelling suite. Only available natively for Windows.
-
Visual Paradigm - Similar to Enterprise Architect. Available for multiple platforms.
-
Lucidchart - Paid cloud-based diagram editor. Available on all common platforms.
-
Draw.io - Free and simple diagram editor. Comparable to Visio and its likes. Available on all common platforms.
-
Structurizr - Modelling tool based on the C4 Model (see above).
-
PlantUML - Like markdown for diagrams, PlantUML renders an english-like grammer into diagrams.
-
PlantUML for Atlassian - Adds support for PlantUML-based diagrams in the atlassian suite.
-
Sketchboard.io - Collaborative sketchboarding.
-
ERD Lab - Free cloud based entity relationship diagram (ERD) tool made for developers.
Frameworks
Agile
Lean software development
Extreme programming
-
Extreme Programming - The most specific of the popular agile processes, focusing on engineering and development practices.
DevOps
Bonus
Contributing
Want to contribute into making this list even better? Yay, that's awesome! Before you get started though, please have a look at our code of conduct and contribution guidelines.
License
To the extent possible under law, simskij has waived all copyright and related or neighboring rights to this work.