How do you share software architecture?

Software architectures rarely live in isolation and at some point other people will need to know about them. These people could be members of the immediate project team or other stakeholders representing operations, support, database administration, security and so on. However you choose to share this information, it should be complementary to the code and describe what the code itself doesn't. But how do you do this? Read on and find out.

The code doesn't tell the whole story

Making some assumptions We all know that writing good code is important and refactoring forces us to think about making methods smaller, more reusable and self-documenting. Some people say that comments are bad and that self-commenting code is what we should strive for. And I don't disagree. Everybody *should* strive for good code that's easy to read, understand and maintain. But the code doesn't tell the whole story. Read more...

Sharing architectures

Documentation is just one option for sharing software architectures; there are many others waiting to be explored.

Sharing architectures

Documenting your software architecture
- why and how?

Why and how should you document software architectures?

Documenting your software architecture - why and how?

Software architecture document guidelines

Read our guidelines for writing software architecture documents.

Software architecture document guidelines

Example architecture diagrams

See some example diagrams used to describe software architectures from different perspectives.

Software architecture document guidelines

Presenting architecture

Documenting architecture

Read more

You can see more content discussing how to document and share software architecture in our How do you share software architecture? category.