Author- Brad Brown
This tutorial is adapted from the Web Age course https://www.webagesolutions.com/courses/WA2325-solution-architect-training-sa-practitioner-s-guide-extended-.
1.1 Why is Solution Architecture Important?
- An architecture will inhibit or enable a system’s driving quality attributes.
- The decisions made in an architecture allow you to reason about and manage change
as the system evolves. - The analysis of an architecture enables early prediction of a system’s qualities.
- A documented architecture enhances communication among stakeholders.
- The architecture is a carrier of the earliest and hence most fundamental, hardest-tochange
design decisions. - An architecture defines a set of constraints on subsequent implementation.
- The architecture dictates the structure of an organization, or vice versa.
- An architecture can provide the basis for evolutionary prototyping.
- An architecture is the key artifact that allows the architect and project manager to
reason about cost and schedule. - An architecture can be created as a transferable, reusable model that forms the heart
of a product line. - Architecture-based development focuses attention on the assembly of components,
rather than simply on their creation. - By restricting design alternatives, architecture channels the creativity of developers,
reducing design and system complexity. - An architecture can be the foundation for training a new team member.
1.2 Communications Vehicle Among Stakeholders
Architecture provides a common language in which the architect can communicate with the stakeholders, and stakeholders can communicate with each other.
This happens when
- Negotiating requirements with users and other stakeholders
- Keeping the customer informed of progress and cost
- Implementing management decisions and allocations
- Informing stakeholders about design decisions and tradeoffs
1.3 The Project is Organized Around Architectural Elements
The architecture influences the organizational structure for development &
maintenance efforts. Examples include:
- Division into teams
- Assignment of work
- Units for budgeting, planning by management
- Basis of work breakdown structure
- Organization of documentation
- Organization of CM libraries
- Basis of integration
- Basis of test plans, testing
- Basis of maintenance
- Incremental deployment
1.4 Solution Architecture & Domains
- A solution architecture covers all domains.
- A software/application architecture focuses on the application
- architecture.
- A data architecture focuses on the data architecture.
- A technical architecture focuses on the technology architecture.
1.5 SA Spans All Domains
Like EA, Solution Architecture spans all domains.