Software Architecture

Awesome Software Architecture Awesome

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 resources also present in more niche lists.

Want to help in making this list better? Yay, that's awesome! Before you get started though, please have a look at our code of conduct and contribution guidelines.

Design Patterns



Workshop formats



  • 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.
  • - 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.



Lean software development

Extreme programming

  • Extreme Programming - The most specific of the popular agile processes, focusing on engineering and development practices.





To the extent possible under law, simskij has waived all copyright and related or neighboring rights to this work.