Courses & TutorialsSoftware

Awesome Software Architecture – Massive Collection of Resources

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.

Design Patterns

Scalability and Resilience

  • Circuit Breaker – Protecting failing resources to prevent cascading failures
  • Bulkhead – Partition resources to isolate failures

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.

Workshop formats

Modeling

Tools

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

Frameworks

Agile

Lean software development

Extreme programming

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

DevOps

  • Wikipedia: DevOps – Combining software development and operations practices to shorten time to market while maintaining high quality.
  • The Phoenix Project, by Gene Kim et al – IT, Devops and helping your Business win πŸ“™.
  • The Unicorn Project, by Gene Kim – Developers, Digital Disruption and Thriving in the Age of Data πŸ“™.
  • Keep CALMS and carry on – How BPDTS use the CALMS model as a reference for their devops adaptations.
  • Chaos Engineering at Netfix – Chaos Engineering is a new discipline within Software Engineering, building confidence in the behavior of distributed systems at scale πŸŽ₯.
  • Adidas DevOps Maturity Framework – 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.

Bonus

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button