Software Architecture and Its Influences

Work in progress. This note is still being written and incomplete.

Software Architecture

Software architecture encompasses the structure of large software systems.

It provides an abstract view of the system by:

  • Eliminating implementation, algorithm, and data representation details.
  • Focusing on the behaviour and interaction of black-box elements.

The architecture of a software system consists of its software elements, the externally visible properties of those elements, and the relationships among them.

Architecture Business Cycle

The relationship between software architecture and its environment forms a cycle called the Architecture Business Cycle (ABC).

  • Software architecture is influenced by technical, business, and social factors.
  • The resulting architecture also affects these environments.

Where Do Architectures Come From?

Software architectures are the result of a set of business and technical decisions.

Requirements specify some, but not all, of the desired properties of the final system.

Failure to satisfy both documented and undocumented constraints can cause problems.

Architectural Influences

Stakeholders

  • Different stakeholders have different concerns and goals.
  • Some stakeholder goals may be contradictory.

Development Organization

The organization influences architecture through:

  • Immediate business goals
  • Long-term business goals
  • Staff skills
  • Schedule
  • Budget

Architect’s Background and Experience

Architects use their previous experience to:

  • Repeat successful approaches.
  • Avoid repeating past failures.

Technical Environment

The technical environment influences architecture through:

  • Standard industry practices
  • Common software engineering techniques

Managing Architectural Influences

Architects need to understand the nature, source, and priority of project constraints as early as possible.

Architects should:

  • Identify and actively engage stakeholders.
  • Understand stakeholder needs and expectations.
  • Use architecture reviews.
  • Use iterative prototyping.

Architecture as a Feedback Cycle

Business goals, product requirements, architect experience, software architecture, and field systems form a cycle with feedback loops.

This cycle can help a business:

  • Handle growth.
  • Expand into new enterprise areas.
  • Take advantage of previous investments in architecture and system development.
Written by October 9, 2026 2 min read
Was this helpful?