- Identify design challenges, trade-offs, and exploration. - Construct an architecture model using data available in documents, spreadsheets, existing code, datasheets, and future concepts. - Analyze the model to determine the cause of a bottleneck or performance degradation