Tech Tip: Using industry standards and guidelines for documenting and evaluating software architecture provides consistency and common semantics across the entire organization.

Software architecture is a well-defined field and while there are informal practices in terms of documenting and evaluating architecture, the recommendation is to be aware of industry standards and apply them consistently.

If you are new to the field of software architecture, click here to read about the introduction to software architecture.

  • Software architecture definition and standards: Use IEEE 42010 SYSTEMS AND SOFTWARE ENGINEERING. Click here to read more.
  • Software architecture evaluation: Use SEI ATAM: METHOD FOR ARCHITECTURE EVALUATION. Click here for the official web-page by SEI for ATAM (you can download PDF version of ATAM for free).
  • Software architecture development methodology: Use TOGAF (The Open Group Architecture Framework). Click here for more information. Other alternatives are:
    • Zachman framework: it provides an enterprise ontology and does not necessarily qualify as method as it is more of a classification mechanism.
    • PEAF (Pragmatic Enterprise Architecture Framework): Built as an alternative to TOFAF to simplify the complexity
    • SAFe (Scaled Agile): while purpose of SAFe is operationalize broader Agile methodology, their guidance in terms of methodology to drive software architecture is relevant. Click here to read more on agile architecture.
  • Software architecture documentation: Use viewpoints and perspectives to document software architecture for different stakeholders. Click here to read more details. While UML has been the de facto standard but in recent times, Archimate and C4Model are getting popular because of their simplicity. They do not necessarily compete with UML but rather complementary to it.

Note that the purpose of these tech tips is to provide pointers to the subject matter and therefore any insights and deep-dive information has been put as a reference only.

Read blogs on architecture and design

Software Architecture and Design Patterns

Emerging Technology Patterns & Trends

Technology Learnings and Knowledge Sharing

Leave a Comment