awesome-software-architecture
github.com/simskij/awesome-software-architecture ↗A curated list of resources on software architecture
Use this list with your AI agent
Add the Context Awesome MCP server to Claude, Cursor, or any MCP client, then ask:
"Show me devops resources from awesome-software-architecture"
Installation instructions →What's inside
Frameworks
- Adidas DevOps Maturity FrameworkDevOps
Based in the C.A.L.M.S. definition of DevOps, the framework defines a set of capabilities and guidelines that when adopted, increases efficiency, effectiveness and happiness of the team.
- Agile Architecture Pt. 1, by Allen HolubAgile
How do we work with architecture in a agile world 🎥.
- Agile Architecture Pt. 2, by Allen HolubAgile
How do we work with architecture in a agile world 🎥.
- Chaos Engineering at NetfixDevOps
Chaos Engineering is a new discipline within Software Engineering, building confidence in the behavior of distributed systems at scale 🎥.
- Extreme ProgrammingExtreme programming
The most specific of the popular agile processes, focusing on engineering and development practices.
- Keep CALMS and carry onDevOps
How BPDTS use the CALMS model as a reference for their devops adaptations.
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.
Design Patterns
- Behavior Driven Development (BDD) and Functional Testing
BDD uses human-readable descriptions of software user requirements as the basis for software tests.
- BulkheadScalability and Resilience
Partition resources to isolate failures.
- Circuit BreakerScalability and Resilience
Protecting failing resources to prevent cascading failures.
- CQRS
Segregate operations that read data from operations that update data by using separate interfaces.
- Design Patterns: Elements of Reusable Object-Oriented Software, by Gamma et al
The one that started it all :orange_book:.
- Event Sourcing
Instead of storing just the current state of the data in a domain, use an append-only store to record the full series of actions taken on that data.
Workshop formats
- Business Model Canvas
Business plans made simple and visual.
- Business Model Generation, by Osterwalder & Pigneur
Easily visualize your value proposition, costs and revenue streams :orange_book:.
- Event Storming
Format for exploring domain driven-design.
- Impact mapping
A strategic planning technique used for building products and delivering projects.
- MoSCoW Prioritization
Fast and dead-simple way of prioritizing requirements.
- Story mapping
Visualize your requirements by creating story maps.
Methodology
- Clean Architecture, by Martin
Key principles and concepts for building sustainable and maintainable software :orange_book:.
- No silver bullet, by Brooks
Making a case for growing software in small increments :orange_book:.
- TDD, Where did it all go wrong?, by Cooper
Suggestion on TDD practices and boundaries to reduce coupling 🎥.
- Technical Debt, by Fowler
Cost and impact of accumulating technical debt.
- The Magic Tricks of Testing, by Metz
Minimalistic ideals as a practical and pragmatic approach to software testing 🎥.
Tools
- Draw.io
Free and simple diagram editor. Comparable to Visio and its likes. Available on all common platforms.
- ERD Lab
Free cloud based entity relationship diagram (ERD) tool made for developers.
- Lucidchart
Paid cloud-based diagram editor. Available on all common platforms.
- 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.
- Pumler
Real-time collaborative text-to-diagram editor for PlantUML, Mermaid, and Structurizr (C4), with browser-based PNG/SVG export.
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
Bonus
- How to learn software design and architecture - a roadmap
Additional things helpful to learn to get a firm understanding of software architecture.
- Software Architect Roadmap
A complete and structured guide to become a Software Architect.
Showing a sample of 58 resources. View the full list on GitHub →