Overview
There is very little guidance on how to design/develop an architecture for a software project. The SPAMMED architecture framework (SAF) aims to help fill this gap.
SAF is a set of activities that an architect can follow when she designs an architecture. These activities help architects better understand the project’s needs and the drivers that affect the architecture.
The Activities of SAF include
- Stakeholders -identify the stakeholders – Anyone with a vested interest in the project (end users, clients, project manager, developers, etc.) These are the people to whom you will have to explain your architecture. These are the people who have concerns that the architecture will have to satisfy (or most likely balance). Thus, the fist step is to identify and rank them.
- Principles – list Principles, Goals, and Constraints. These are the properties you wish your architecture to have (or lack) based on your previous experience. Constraints can also come from your stakeholders (e.g. management decides that all projects should be .NET, a deadline, etc.)
- Attributes – discover quality attributes, and the non-functional requirements, that (once prioritized) serve as the guide for the overall goodness of the system (Performance, Availability, scalability, etc.)
- Model – model (and document if needed) the architecture as seen from different viewpoints (list of viewpoints is stakeholder driven). Examples of viewpoints include package diagrams, deployment diagrams, DB Schema, etc.
- Map – Technology mapping, buy vs. build decisions, etc.
- Evaluate – Since architecture is the set of decisions that are hardest to change it is worthwhile to spend some time trying to evaluate if they are indeed correct before commencing on
- Deploy – Software architectures are not a fire-and-forget thing. As an architect, you still have to make sure that the guidelines set are indeed followed and even more importantly that the architecture chosen matches the project’s needs and doesn’t have to be reworked.
Download the SAF introduction presentation (pdf) or watch it on Slideshare
You can also read the DDJ article, download the templates, or read all the posts I’ve made on the subject (below)
Posts
- Getting SPAMMED for Architecture
- SPAMMED state chart
- Stakeholders Everywhere
- P is for Principles (and guidelines and constraints…) – Iteration I
- P is for Principles (and guidelines and constraints…) – Iteration II
- Quality attributes – Introduction
- Utility trees – Hatching quality attributes
- Utility trees and quality attributes
- Architectural modeling – First step
- Architectural modeling – Choosing your viewpoints
- Modeling – Architectural styles
- Mapping -Don’t forget the technology
- Architecture evaluation (introduction)
- Architecture evaluation in code
- Architecture evaluation – The “Formal methods”
- Deployment – What to do when the architecture seems stable?
Templates
[…] This post was mentioned on Twitter by Arnon Rotem-Gal-Oz, pkanavos. pkanavos said: RT @arnonrgo: I finally cleaned up everything related to SAF, my architecture meta-framework http://bit.ly/9sGi80 (posts, presentations … […]